<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/fs/lockd, branch v2.6.16.43</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/fs/lockd?h=v2.6.16.43</id>
<link rel='self' href='https://git.amat.us/linux/atom/fs/lockd?h=v2.6.16.43'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2006-03-14T15:57:18Z</updated>
<entry>
<title>[PATCH] NLM: Ensure we do not Oops in the case of an unlock</title>
<updated>2006-03-14T15:57:18Z</updated>
<author>
<name>Trond Myklebust</name>
<email>Trond.Myklebust@netapp.com</email>
</author>
<published>2006-03-14T05:20:49Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=30f4e20a0d3492668f5065af582b5af2d1e4256b'/>
<id>urn:sha1:30f4e20a0d3492668f5065af582b5af2d1e4256b</id>
<content type='text'>
In theory, NLM specs assure us that the server will only reply LCK_GRANTED or
LCK_DENIED_GRACE_PERIOD to our NLM_UNLOCK request.

In practice, we should not assume this to be the case, and the code will
currently Oops if we do.

Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] NLM: Fix the NLM_GRANTED callback checks</title>
<updated>2006-02-15T00:09:34Z</updated>
<author>
<name>Trond Myklebust</name>
<email>Trond.Myklebust@netapp.com</email>
</author>
<published>2006-02-14T21:53:04Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=5ac5f9d1ce8492163dbde5d357dc5d03becf7e36'/>
<id>urn:sha1:5ac5f9d1ce8492163dbde5d357dc5d03becf7e36</id>
<content type='text'>
If 2 threads attached to the same process are blocking on different locks on
different files (maybe even on different servers) but have the same lock
arguments (i.e.  same offset+length - actually quite common, since most
processes try to lock the entire file) then the first GRANTED call that wakes
one up will also wake the other.

Currently when the NLM_GRANTED callback comes in, lockd walks the list of
blocked locks in search of a match to the lock that the NLM server has
granted.  Although it checks the lock pid, start and end, it fails to check
the filehandle and the server address.

By checking the filehandle and server IP address, we ensure that this only
happens if the locks truly are referencing the same file.

Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>NLM: Ensure that nlmclnt_cancel_callback() doesn't loop forever</title>
<updated>2006-02-01T17:52:23Z</updated>
<author>
<name>Trond Myklebust</name>
<email>Trond.Myklebust@netapp.com</email>
</author>
<published>2006-02-01T17:18:25Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=aaaa99423b4b1f9cfd33ea5643d9274c25f62491'/>
<id>urn:sha1:aaaa99423b4b1f9cfd33ea5643d9274c25f62491</id>
<content type='text'>
 If the server returns NLM_LCK_DENIED_NOLOCKS, we currently retry the
 entire NLM_CANCEL request. This may end up looping forever unless the
 server changes its mind (why would it do that, though?).

 Ensure that we limit the number of retries (to 3).

 See bug# 5957 in bugzilla.kernel.org.

 Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
</entry>
<entry>
<title>NLM: Fix arguments to NLM_CANCEL call</title>
<updated>2006-02-01T17:52:23Z</updated>
<author>
<name>Trond Myklebust</name>
<email>Trond.Myklebust@netapp.com</email>
</author>
<published>2006-02-01T17:18:22Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=16fb24252a8170799e7adf14d8fc31b817fcaf53'/>
<id>urn:sha1:16fb24252a8170799e7adf14d8fc31b817fcaf53</id>
<content type='text'>
 The OpenGroup docs state that the arguments "block", "exclusive" and
 "alock" must exactly match the arguments for the lock call that we are
 trying to cancel.
 Currently, "block" is always set to false, which is wrong.

 See bug# 5956 on bugzilla.kernel.org.

 Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
</entry>
<entry>
<title>[PATCH] Unlinline a bunch of other functions</title>
<updated>2006-01-15T02:27:06Z</updated>
<author>
<name>Arjan van de Ven</name>
<email>arjan@infradead.org</email>
</author>
<published>2006-01-14T21:20:43Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=858119e159384308a5dde67776691a2ebf70df0f'/>
<id>urn:sha1:858119e159384308a5dde67776691a2ebf70df0f</id>
<content type='text'>
Remove the "inline" keyword from a bunch of big functions in the kernel with
the goal of shrinking it by 30kb to 40kb

Signed-off-by: Arjan van de Ven &lt;arjan@infradead.org&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
Acked-by: Jeff Garzik &lt;jgarzik@pobox.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>SUNRPC: get rid of cl_chatty</title>
<updated>2006-01-06T19:58:56Z</updated>
<author>
<name>Chuck Lever</name>
<email>cel@netapp.com</email>
</author>
<published>2006-01-03T08:55:52Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=f518e35aec984036903c1003e867f833747a9d79'/>
<id>urn:sha1:f518e35aec984036903c1003e867f833747a9d79</id>
<content type='text'>
 Clean up: Every ULP that uses the in-kernel RPC client, except the NLM
 client, sets cl_chatty.  There's no reason why NLM shouldn't set it, so
 just get rid of cl_chatty and always be verbose.

 Test-plan:
 Compile with CONFIG_NFS enabled.

 Signed-off-by: Chuck Lever &lt;cel@netapp.com&gt;
 Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
</entry>
<entry>
<title>SUNRPC: new interface to force an RPC rebind</title>
<updated>2006-01-06T19:58:56Z</updated>
<author>
<name>Chuck Lever</name>
<email>cel@netapp.com</email>
</author>
<published>2006-01-03T08:55:50Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=35f5a422ce1af836007f811b613c440d0e348e06'/>
<id>urn:sha1:35f5a422ce1af836007f811b613c440d0e348e06</id>
<content type='text'>
 We'd like to hide fields in rpc_xprt and rpc_clnt from upper layer protocols.
 Start by creating an API to force RPC rebind, replacing logic that simply
 sets cl_port to zero.

 Test-plan:
 Destructive testing (unplugging the network temporarily).  Connectathon
 with UDP and TCP.  NFSv2/3 and NFSv4 mounting should be carefully checked.
 Probably need to rig a server where certain services aren't running, or
 that returns an error for some typical operation.

 Signed-off-by: Chuck Lever &lt;cel@netapp.com&gt;
 Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
</entry>
<entry>
<title>NLM: fix parsing of sm notify procedure</title>
<updated>2006-01-06T19:58:54Z</updated>
<author>
<name>J. Bruce Fields</name>
<email>bfields@fieldses.org</email>
</author>
<published>2006-01-03T08:55:46Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=a659753ecc66945e9c69823fcbbe222b446c66d7'/>
<id>urn:sha1:a659753ecc66945e9c69823fcbbe222b446c66d7</id>
<content type='text'>
 The procedure that decodes statd sm_notify call seems to be skipping a
 few arguments.  How did this ever work?

 &gt;From folks at Polyserve.

 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>NLM: Further cancel fixes</title>
<updated>2006-01-06T19:58:54Z</updated>
<author>
<name>J. Bruce Fields</name>
<email>bfields@fieldses.org</email>
</author>
<published>2006-01-03T08:55:46Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=64a318ee2af9000df482d7a125c3b3e1f1007404'/>
<id>urn:sha1:64a318ee2af9000df482d7a125c3b3e1f1007404</id>
<content type='text'>
 If the server receives an NLM cancel call and finds no waiting lock to
 cancel, then chances are the lock has already been applied, and the client
 just hadn't yet processed the NLM granted callback before it sent the
 cancel.

 The Open Group text, for example, perimts a server to return either success
 (LCK_GRANTED) or failure (LCK_DENIED) in this case.  But returning an error
 seems more helpful; the client may be able to use it to recognize that a
 race has occurred and to recover from the race.

 So, modify the relevant functions to return an error in this case.

 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>NLM: clean up nlmsvc_delete_block</title>
<updated>2006-01-06T19:58:54Z</updated>
<author>
<name>J. Bruce Fields</name>
<email>bfields@fieldses.org</email>
</author>
<published>2006-01-03T08:55:45Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=2c5acd2e1a73cad59203a1bace21e6b03f2920a9'/>
<id>urn:sha1:2c5acd2e1a73cad59203a1bace21e6b03f2920a9</id>
<content type='text'>
 The fl_next check here is superfluous (and possibly a layering violation).

 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>
</feed>
