[prev in list] [next in list] [prev in thread] [next in thread] 

List:       fuse-devel
Subject:    Re: [fuse-devel] [2.8.x] ulockmgr_server issue / fusexmp_fh example
From:       Sebastian Pipping <webmaster () hartwork ! org>
Date:       2011-07-04 19:40:58
Message-ID: 4E12174A.8080108 () hartwork ! org
[Download RAW message or body]

Miklos,


thanks for your detailed reply!  The need for ulockmgr_server is clear
to me now.


On 07/04/2011 08:03 PM, Miklos Szeredi wrote:
> It's because of a not well thought out patch (commit a9ff4f87 "fuse:
> support BSD locking semantics")
> 
> There are several problems with this patch:
> 
>   - it's not backward compatible, passing flock(2) calls to userspace
>     unconditionally (if userspace sets FUSE_POSIX_LOCKS)
> 
>   - it doesn't cater for the fact that flock locks are automatically
>     unlocked on file release
> 
>   - it doesn't take into account the fact that flock exclusive locks
>     (write locks) don't need an fd opened for write.
> 
> The last one invalidates the original premise of the patch that flock
> locks can be emulated with POSIX locks.
> 
> Will fix these issues.

Glad to hear.  How can I best track progress on this?


>>   Currently either
>>    the FUSE file system or ulockmgr_server seem to become
>>    owner of the lock, instead.
> 
> Yep, ulockmgr_server should be the owner.

I wonder: if FUSE is handling GETLK would it be possible to set l_pid to
the value that fuse_get_context()->pid had back when the (successful)
call to SETLK(W) took place?  Unless the kernel prevents that it would
allow pretending that the actual lock requestee is the owner, not
ulockmgr_server.  Do you see problems with this approach?  If so maybe
it could be made a mount parameter switch?

Best,



Sebastian

------------------------------------------------------------------------------
All of the data generated in your IT infrastructure is seriously valuable.
Why? It contains a definitive record of application performance, security 
threats, fraudulent activity, and more. Splunk takes this data and makes 
sense of it. IT sense. And common sense.
http://p.sf.net/sfu/splunk-d2d-c2
_______________________________________________
fuse-devel mailing list
fuse-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/fuse-devel
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic