[Cluster-devel] Re: [NFS] [PATCH 1/4 Revised] NLM - drop per fsid locks

S. Wendy Cheng wcheng at redhat.com
Mon Apr 9 22:56:52 UTC 2007


Christoph Hellwig wrote:
> On Thu, Apr 05, 2007 at 05:51:28PM -0400, Wendy Cheng wrote:
>   
>> By writing exported filesytem id into /proc/fs/nfsd/nlm_unlock, this 
>> patch walks thru lockd's global nlm_files list to release all the locks 
>> associated with the particular id. It is used to enable NFS lock 
>> failover with active-active clustered servers.
>>
>> Relevant steps:
>> 1) Exports filesystem with "fsid" option as:
>>  /etc/exports entry> /mnt/shared/exports *(fsid=1234,sync,rw)
>> 2) Drops locks based on fsid by:
>>  shell> echo 1234 > /proc/fs/nfsd/nlm_unlock
>>     
>
> This is a very awkward API.  Dropping locks should support uuid or
> dev_t based exports aswell.  Also it would be nice if you we had
> a more general push api for changes to filesystem state, that works
> on a similar basis as getting information from /etc/exports.
>   
These can be added as future enhancements. But be aware that:
1. The "dev_t" value may be an obvious thing for a kernel developer but 
not necessarily for admin(s) (human operator) or cluster script (that 
has to use extra steps to obtain it).
2. Device major and minor numbers can change between different servers 
(shared storage case) or between reboots. The "fsid" approach should be 
encouraged.
3. UUID is tied to disk partitions - an all-or-nothing approach, 
comparing to fsid that would allow cluster filesystem doing its load 
balancing (by
exporting different directories from different nodes)

On the other hand, lock dropping based on "uuid" or "dev_t" may be 
useful in a single server case though.
>
> And please inline your patches into the mail I send, attaching them
> makes it really hard to quote it in mail replies or even to simply read
> it. 
>   
I normally don't do much development works for community versions of 
linux kernel. Some of the "convention" is not clear to me. Will do it 
next time. But these patches tend to be quite large (in terms of line 
count).

-- Wendy




More information about the Cluster-devel mailing list