<feed xmlns='http://www.w3.org/2005/Atom'>
<title>lwn.git/fs/lockd/svcsubs.c, branch v2.6.32.41</title>
<subtitle>Linux kernel documentation tree maintained by Jonathan Corbet</subtitle>
<id>http://mirrors.hust.edu.cn/git/lwn.git/atom?h=v2.6.32.41</id>
<link rel='self' href='http://mirrors.hust.edu.cn/git/lwn.git/atom?h=v2.6.32.41'/>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/'/>
<updated>2009-08-21T15:27:42+00:00</updated>
<entry>
<title>sunrpc: add routine for comparing addresses</title>
<updated>2009-08-21T15:27:42+00:00</updated>
<author>
<name>Jeff Layton</name>
<email>jlayton@redhat.com</email>
</author>
<published>2009-08-14T16:57:54+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=4516fc0454e7ffe2f369e80045b23c2b32155004'/>
<id>urn:sha1:4516fc0454e7ffe2f369e80045b23c2b32155004</id>
<content type='text'>
lockd needs these sort of routines, as does the NFSv4 callback code.

Move lockd's routines into common code and rename them so that they can
be used by others.

Signed-off-by: Jeff Layton &lt;jlayton@redhat.com&gt;
Acked-by: Chuck Lever &lt;chuck.lever@oracle.com&gt;
Signed-off-by: J. Bruce Fields &lt;bfields@citi.umich.edu&gt;
</content>
</entry>
<entry>
<title>NSM: Remove include/linux/lockd/sm_inter.h</title>
<updated>2009-01-06T16:53:55+00:00</updated>
<author>
<name>Chuck Lever</name>
<email>chuck.lever@oracle.com</email>
</author>
<published>2008-12-11T22:56:14+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=e6765b83977f07983c7a10e6bbb19d6c7bbfc3a4'/>
<id>urn:sha1:e6765b83977f07983c7a10e6bbb19d6c7bbfc3a4</id>
<content type='text'>
Clean up: The include/linux/lockd/sm_inter.h header is nearly empty
now.  Remove it.

Signed-off-by: Chuck Lever &lt;chuck.lever@oracle.com&gt;
Signed-off-by: J. Bruce Fields &lt;bfields@citi.umich.edu&gt;
</content>
</entry>
<entry>
<title>lockd: Teach nlm_cmp_addr() to support AF_INET6 addresses</title>
<updated>2008-09-29T22:13:39+00:00</updated>
<author>
<name>Chuck Lever</name>
<email>chuck.lever@oracle.com</email>
</author>
<published>2008-09-03T18:36:01+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=781b61a6f4ff94cb8c14cf598b547f5d5c490969'/>
<id>urn:sha1:781b61a6f4ff94cb8c14cf598b547f5d5c490969</id>
<content type='text'>
Update the nlm_cmp_addr() helper to support AF_INET6 as well as AF_INET
addresses.  New version takes two "struct sockaddr *" arguments instead of
"struct sockaddr_in *" arguments.

Signed-off-by: Chuck Lever &lt;chuck.lever@oracle.com&gt;
Signed-off-by: J. Bruce Fields &lt;bfields@citi.umich.edu&gt;
</content>
</entry>
<entry>
<title>lockd: Use sockaddr_storage for h_saddr field</title>
<updated>2008-09-29T22:13:39+00:00</updated>
<author>
<name>Chuck Lever</name>
<email>chuck.lever@oracle.com</email>
</author>
<published>2008-09-03T18:35:46+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=90151e6e4d00a3150d03d52170c246734b274622'/>
<id>urn:sha1:90151e6e4d00a3150d03d52170c246734b274622</id>
<content type='text'>
To store larger addresses in the nlm_host structure, make h_saddr a
sockaddr_storage.  And let's call it something more self-explanatory:
"saddr" could easily be mistaken for "server address".

Signed-off-by: Chuck Lever &lt;chuck.lever@oracle.com&gt;
Signed-off-by: J. Bruce Fields &lt;bfields@citi.umich.edu&gt;
</content>
</entry>
<entry>
<title>lockd: Pass "struct sockaddr *" to new failover-by-IP function</title>
<updated>2008-07-15T20:11:29+00:00</updated>
<author>
<name>Chuck Lever</name>
<email>chuck.lever@oracle.com</email>
</author>
<published>2008-06-30T22:58:14+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=367c8c7bd9a2882daad6c9cb607e1db8ef781ad4'/>
<id>urn:sha1:367c8c7bd9a2882daad6c9cb607e1db8ef781ad4</id>
<content type='text'>
Pass a more generic socket address type to nlmsvc_unlock_all_by_ip() to
allow for future support of IPv6.  Also provide additional sanity
checking in failover_unlock_ip() when constructing the server's IP
address.

As an added bonus, provide clean kerneldoc comments on related NLM
interfaces which were recently added.

Signed-off-by: Chuck Lever &lt;chuck.lever@oracle.com&gt;
Signed-off-by: J. Bruce Fields &lt;bfields@citi.umich.edu&gt;
</content>
</entry>
<entry>
<title>lockd: unlock lockd locks held for a certain filesystem</title>
<updated>2008-04-25T17:00:11+00:00</updated>
<author>
<name>Wendy Cheng</name>
<email>wcheng@redhat.com</email>
</author>
<published>2008-01-17T16:10:12+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=17efa372cfe4d189705edf6cd4fbe283827a5dc7'/>
<id>urn:sha1:17efa372cfe4d189705edf6cd4fbe283827a5dc7</id>
<content type='text'>
Add /proc/fs/nfsd/unlock_filesystem, which allows e.g.:

shell&gt; echo /mnt/sfs1 &gt; /proc/fs/nfsd/unlock_filesystem

so that a filesystem can be unmounted before allowing a peer nfsd to
take over nfs service for the filesystem.

Signed-off-by: S. Wendy Cheng &lt;wcheng@redhat.com&gt;
Cc: Lon Hohberger  &lt;lhh@redhat.com&gt;
Cc: Christoph Hellwig &lt;hch@lst.de&gt;
Signed-off-by: J. Bruce Fields &lt;bfields@citi.umich.edu&gt;

 fs/lockd/svcsubs.c          |   66 +++++++++++++++++++++++++++++++++++++++-----
 fs/nfsd/nfsctl.c            |   65 +++++++++++++++++++++++++++++++++++++++++++
 include/linux/lockd/lockd.h |    7 ++++
 3 files changed, 131 insertions(+), 7 deletions(-)
</content>
</entry>
<entry>
<title>lockd: unlock lockd locks associated with a given server ip</title>
<updated>2008-04-25T17:00:10+00:00</updated>
<author>
<name>Wendy Cheng</name>
<email>wcheng@redhat.com</email>
</author>
<published>2008-01-17T16:10:12+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=4373ea84c84d8a96e99d3da99e813d3e36d1bd11'/>
<id>urn:sha1:4373ea84c84d8a96e99d3da99e813d3e36d1bd11</id>
<content type='text'>
For high-availability NFS service, we generally need to be able to drop
file locks held on the exported filesystem before moving clients to a
new server.  Currently the only way to do that is by shutting down lockd
entirely, which is often undesireable (for example, if you want to
continue exporting other filesystems).

This patch allows the administrator to release all locks held by clients
accessing the client through a given server ip address, by echoing that
address to a new file, /proc/fs/nfsd/unlock_ip, as in:

shell&gt; echo 10.1.1.2 &gt; /proc/fs/nfsd/unlock_ip

The expected sequence of events can be:
1. Tear down the IP address
2. Unexport the path
3. Write IP to /proc/fs/nfsd/unlock_ip to unlock files
4. Signal peer to begin take-over.

For now we only support IPv4 addresses and NFSv2/v3 (NFSv4 locks are not
affected).

Also, if unmounting the filesystem is required, we assume at step 3 that
clients using the given server ip are the only clients holding locks on
the given filesystem; otherwise, an additional patch is required to
allow revoking all locks held by lockd on a given filesystem.

Signed-off-by: S. Wendy Cheng &lt;wcheng@redhat.com&gt;
Cc: Lon Hohberger  &lt;lhh@redhat.com&gt;
Cc: Christoph Hellwig &lt;hch@lst.de&gt;
Signed-off-by: J. Bruce Fields &lt;bfields@citi.umich.edu&gt;

 fs/lockd/svcsubs.c          |   66 +++++++++++++++++++++++++++++++++++++++-----
 fs/nfsd/nfsctl.c            |   65 +++++++++++++++++++++++++++++++++++++++++++
 include/linux/lockd/lockd.h |    7 ++++
 3 files changed, 131 insertions(+), 7 deletions(-)
</content>
</entry>
<entry>
<title>lockd: minor log message fix</title>
<updated>2008-02-01T21:42:15+00:00</updated>
<author>
<name>J. Bruce Fields</name>
<email>bfields@citi.umich.edu</email>
</author>
<published>2007-08-31T21:09:33+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=50431d94e732ba71b66a83c5435890728e313095'/>
<id>urn:sha1:50431d94e732ba71b66a83c5435890728e313095</id>
<content type='text'>
Wendy Cheng noticed that function name doesn't agree here.

Signed-off-by: J. Bruce Fields &lt;bfields@citi.umich.edu&gt;
Cc: Wendy Cheng &lt;wcheng@redhat.com&gt;
</content>
</entry>
<entry>
<title>lockd: add code to handle deferred lock requests</title>
<updated>2007-05-07T00:38:50+00:00</updated>
<author>
<name>Marc Eshel</name>
<email>eshel@almaden.ibm.com</email>
</author>
<published>2006-11-28T21:27:06+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=1a8322b2b02071b0c7ac37a28357b93e6362f13e'/>
<id>urn:sha1:1a8322b2b02071b0c7ac37a28357b93e6362f13e</id>
<content type='text'>
Rewrite nlmsvc_lock() to use the asynchronous interface.

As with testlock, we answer nlm requests in nlmsvc_lock by first looking up
the block and then using the results we find in the block if B_QUEUED is
set, and calling vfs_lock_file() otherwise.

If this a new lock request and we get -EINPROGRESS return on a non-blocking
request then we defer the request.

Also modify nlmsvc_unlock() to call the filesystem method if appropriate.

Signed-off-by: Marc Eshel &lt;eshel@almaden.ibm.com&gt;
Signed-off-by: J. Bruce Fields &lt;bfields@citi.umich.edu&gt;
</content>
</entry>
<entry>
<title>locks: allow {vfs,posix}_lock_file to return conflicting lock</title>
<updated>2007-05-06T23:23:24+00:00</updated>
<author>
<name>Marc Eshel</name>
<email>eshel@almaden.ibm.com</email>
</author>
<published>2007-01-18T21:15:35+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=150b393456e5a23513cace286a019e87151e47f0'/>
<id>urn:sha1:150b393456e5a23513cace286a019e87151e47f0</id>
<content type='text'>
The nfsv4 protocol's lock operation, in the case of a conflict, returns
information about the conflicting lock.

It's unclear how clients can use this, so for now we're not going so far as to
add a filesystem method that can return a conflicting lock, but we may as well
return something in the local case when it's easy to.

Signed-off-by: Marc Eshel &lt;eshel@almaden.ibm.com&gt;
Signed-off-by: "J. Bruce Fields" &lt;bfields@citi.umich.edu&gt;
</content>
</entry>
</feed>
