[EMAIL PROTECTED] wrote:
> 
> On Mon, Aug 12, 2002 at 03:01:14PM -0400, David Collier-Brown wrote:
> >   Ok, I've been looking at portable locking mechanisms and fcntl.
> >
> >   A Smarter Colleague (Mark) pointed out that there are
> > scalability issues with fcntl locks on both Solaris
> > and Linux, but quite different ones.
> 
> We haven't yet hit any scalability problems with fcntl
> locks on Linux. We use them in Samba a *lot* with the tdb's.
> 
> Sorry Dave, as far as I can see this (at least the Samba fcntl
> issue) is a Solaris only problem :-) :-).

        Yes, it indeed only occurs with Solaris: Samba
        deosn't erally do anything non-scalable, it's
        actually the mapping of application locks to 
        samba to fcntl locks on Solaris that isn't scaling.
 
> The tdb spinlock code is really unsafe to use in a production
> environment due to the potential to lock up the entire db
> on abend. Now I know you can make no consistency guarentees
> on abend even with fcntl locks, but when a process abends with
> an fcntl lock the lock is at least released to allow others to
> attempt a cleanup.

        Posix locks, with the EOWNERDEAD hook have the same
        cleanup guarantees as fcntl locks.  The real disadvantage
        is that they are not file-related locks, and even
        though they have some advantages, do not protect
        against a Unix process and a client using SMB from
        whacking a file.  Whacking as in "The Sopranos" (;-))

        That's why they're a workaround.
> 
> Please just fix the Solaris fcntl lock problem :-) :-).

        I may need to drag you into the detailed discussion
        to help expose what exactly is needed by Samba,
        so we can see why our algorithm doesn't provide it...


--dave
-- 
David Collier-Brown,           | Always do right. This will gratify 
Performance & Engineering      | some people and astonish the rest.
Americas Customer Engineering, |                      -- Mark Twain
(905) 415-2849                 | [EMAIL PROTECTED]

Reply via email to