<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/fs/lockd/clntproc.c, branch linux-2.6.28.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.28.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.28.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2008-07-25T17:53:47Z</updated>
<entry>
<title>lockd: dont return EAGAIN for a permanent error</title>
<updated>2008-07-25T17:53:47Z</updated>
<author>
<name>Miklos Szeredi</name>
</author>
<published>2008-07-25T08:48:55Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=cc77b1521d06be07c9bb1a4a3e1f775dcaa15093'/>
<id>urn:sha1:cc77b1521d06be07c9bb1a4a3e1f775dcaa15093</id>
<content type='text'>
Fix nlm_fopen() to return NLM_FAILED (or NLM_LCK_DENIED_NOLOCKS) instead
of NLM_LCK_DENIED.  The latter means the lock request failed because of a
conflicting lock (i.e.  a temporary error), which is wrong in this case.

Also fix the client to return ENOLCK instead of EAGAIN if a blocking lock
request returns with NLM_LOCK_DENIED.

Signed-off-by: Miklos Szeredi &lt;mszeredi@suse.cz&gt;
Cc: Trond Myklebust &lt;trond.myklebust@fys.uio.no&gt;
Cc: "J. Bruce Fields" &lt;bfields@fieldses.org&gt;
Cc: Matthew Wilcox &lt;matthew@wil.cx&gt;
Cc: David Teigland &lt;teigland@redhat.com&gt;
Cc: Christoph Hellwig &lt;hch@lst.de&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>SUNRPC: Remove the BKL from the callback functions</title>
<updated>2008-07-15T22:10:57Z</updated>
<author>
<name>Trond Myklebust</name>
</author>
<published>2008-06-11T17:37:09Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a86dc496b764ebb1431677b38eab45310e5a2ad4'/>
<id>urn:sha1:a86dc496b764ebb1431677b38eab45310e5a2ad4</id>
<content type='text'>
Push it into those callback functions that actually need it.

Note that all the NFS operations use their own locking, so don't need the
BKL. Ditto for the rpcbind client.

Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
</entry>
<entry>
<title>nfs: set correct fl_len in nlmclnt_test()</title>
<updated>2008-07-15T22:08:59Z</updated>
<author>
<name>Felix Blyakher</name>
</author>
<published>2008-07-15T17:40:22Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d67d1c7bf948341fd8678c8e337ec27f4b46b206'/>
<id>urn:sha1:d67d1c7bf948341fd8678c8e337ec27f4b46b206</id>
<content type='text'>
fcntl(F_GETLK) on an nfs client incorrectly returns
the values for the conflicting lock. fl_len value is
always 1.
If the conflicting lock is (0, 4095) the F_GETLK
request for (1024, 10) returns (0, 1), which doesn't
even cover the requested range, and is quite confusing.
The fix is trivial, set fl_end from the fl_end value
recieved from the nfs server.

Signed-off-by: Felix Blyakher &lt;felixb@sgi.com&gt;
Signed-off-by: "J. Bruce Fields" &lt;bfields@citi.umich.edu&gt;
Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
</entry>
<entry>
<title>fs: replace remaining __FUNCTION__ occurrences</title>
<updated>2008-04-30T15:29:54Z</updated>
<author>
<name>Harvey Harrison</name>
</author>
<published>2008-04-30T07:55:09Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8e24eea728068bbeb6a3c500b848f883a20bf225'/>
<id>urn:sha1:8e24eea728068bbeb6a3c500b848f883a20bf225</id>
<content type='text'>
__FUNCTION__ is gcc-specific, use __func__

Signed-off-by: Harvey Harrison &lt;harvey.harrison@gmail.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>NLM/lockd: Ensure client locking calls use correct credentials</title>
<updated>2008-04-19T20:54:43Z</updated>
<author>
<name>Trond Myklebust</name>
</author>
<published>2008-04-02T18:44:05Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d11d10cc05c94a32632d6928d15a1034200dd9a5'/>
<id>urn:sha1:d11d10cc05c94a32632d6928d15a1034200dd9a5</id>
<content type='text'>
Now that we've added the 'generic' credentials (that are independent of the
rpc_client) to the nfs_open_context, we can use those in the NLM client to
ensure that the lock/unlock requests are authenticated to whoever
originally opened the file.

Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
</entry>
<entry>
<title>NLM/lockd: Fix a race when cancelling a blocking lock</title>
<updated>2008-04-19T20:53:49Z</updated>
<author>
<name>Trond Myklebust</name>
</author>
<published>2008-04-02T00:26:22Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5f50c0c6d644d6c8180d9079c13c5d9de3adeb34'/>
<id>urn:sha1:5f50c0c6d644d6c8180d9079c13c5d9de3adeb34</id>
<content type='text'>
We shouldn't remove the lock from the list of blocked locks until the
CANCEL call has completed since we may be racing with a GRANTED callback.

Also ensure that we send an UNLOCK if the CANCEL request failed. Normally
that should only happen if the process gets hit with a fatal signal.

Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
</entry>
<entry>
<title>NLM/lockd: Ensure that nlmclnt_cancel() returns results of the CANCEL call</title>
<updated>2008-04-19T20:53:45Z</updated>
<author>
<name>Trond Myklebust</name>
</author>
<published>2008-04-02T18:40:53Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6b4b3a752b3464f2fd9fe2837fb19270c23c1d6b'/>
<id>urn:sha1:6b4b3a752b3464f2fd9fe2837fb19270c23c1d6b</id>
<content type='text'>
Currently, it returns success as long as the RPC call was sent. We'd like
to know if the CANCEL operation succeeded on the server.

Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
</entry>
<entry>
<title>NLM: Remove the signal masking in nlmclnt_proc/nlmclnt_cancel</title>
<updated>2008-04-19T20:53:42Z</updated>
<author>
<name>Trond Myklebust</name>
</author>
<published>2008-03-28T20:04:51Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8ec7ff74448f65ac963e330795d771ab14ec8408'/>
<id>urn:sha1:8ec7ff74448f65ac963e330795d771ab14ec8408</id>
<content type='text'>
The signal masks have been rendered obsolete by the preceding patch.

Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
</entry>
<entry>
<title>NLM/lockd: convert __nlm_async_call to use rpc_run_task()</title>
<updated>2008-04-19T20:53:39Z</updated>
<author>
<name>Trond Myklebust</name>
</author>
<published>2008-03-28T20:04:36Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=dc9d8d048168ff61c458bec06b28996cb90b182a'/>
<id>urn:sha1:dc9d8d048168ff61c458bec06b28996cb90b182a</id>
<content type='text'>
Peter Staubach comments:

&gt; In the course of investigating testing failures in the locking phase of
&gt; the Connectathon testsuite, I discovered a couple of things.  One was
&gt; that one of the tests in the locking tests was racy when it didn't seem
&gt; to need to be and two, that the NFS client asynchronously releases locks
&gt; when a process is exiting.
...
&gt; The Single UNIX Specification Version 3 specifies that:  "All locks
&gt; associated with a file for a given process shall be removed when a file
&gt; descriptor for that file is closed by that process or the process holding
&gt; that file descriptor terminates.".
&gt;
&gt; This does not specify whether those locks must be released prior to the
&gt; completion of the exit processing for the process or not.  However,
&gt; general assumptions seem to be that those locks will be released.  This
&gt; leads to more deterministic behavior under normal circumstances.

The following patch converts the NFSv2/v3 locking code to use the same
mechanism as NFSv4 for sending asynchronous RPC calls and then waiting for
them to complete. This ensures that the UNLOCK and CANCEL RPC calls will
complete even if the user interrupts the call, yet satisfies the
above request for synchronous behaviour on process exit.

Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
</entry>
<entry>
<title>NLM/lockd: Add a reference counter to struct nlm_rqst</title>
<updated>2008-04-19T20:53:36Z</updated>
<author>
<name>Trond Myklebust</name>
</author>
<published>2008-04-01T22:58:49Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5e7f37a76fa5b604949020b7317962262812b2dd'/>
<id>urn:sha1:5e7f37a76fa5b604949020b7317962262812b2dd</id>
<content type='text'>
When we replace the existing synchronous RPC calls with asynchronous calls,
the reference count will be needed in order to allow us to examine the
result of the RPC call.

Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
</entry>
</feed>
