NLM - drop per fsid locks
Subsystems (2)
PATCH 1/4 NLM - drop per fsid locks
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
-- Wendy
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 001_nlm_drop_l.patch
Type: text/x-patch
Size: 8959 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/cluster-devel/attachments/20070405/8cb075f0/attachment.bin>
Quoted 10 lines · Wendy Cheng
By writing exported filesytem id into
/proc/fs/nfsd/nlm_unlock, this patch walks thru lockd's globalnlm_fileslist 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/exportsentry>/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.
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.
Quoted 14 lines · Christoph Hellwig
Quoted 11 lines · Wendy Cheng
By writing exported filesytem id into
/proc/fs/nfsd/nlm_unlock, this patch walks thru lockd's globalnlm_fileslist 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/exportsentry>/mnt/shared/exports*(fsid=1234,sync,rw)
2) Drops locks based on fsid by:
shell> echo 1234 >/proc/fs/nfsd/nlm_unlock
Quoted 5 lines
This is a very awkward API. Dropping locks should support uuid or
dev_tbased 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.
Quoted 5 lines
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
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
NFS maillist - [email protected]
https://lists.sourceforge.net/lists/listinfo/nfs