<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/fs/lockd, branch v3.1</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/fs/lockd?h=v3.1</id>
<link rel='self' href='https://git.amat.us/linux/atom/fs/lockd?h=v3.1'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2011-07-27T20:23:02Z</updated>
<entry>
<title>Merge branch 'nfs-for-3.1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs</title>
<updated>2011-07-27T20:23:02Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2011-07-27T20:23:02Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=28890d3598c352ae065b560e0fded3e79c800ba1'/>
<id>urn:sha1:28890d3598c352ae065b560e0fded3e79c800ba1</id>
<content type='text'>
* 'nfs-for-3.1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs: (44 commits)
  NFSv4: Don't use the delegation-&gt;inode in nfs_mark_return_delegation()
  nfs: don't use d_move in nfs_async_rename_done
  RDMA: Increasing RPCRDMA_MAX_DATA_SEGS
  SUNRPC: Replace xprt-&gt;resend and xprt-&gt;sending with a priority queue
  SUNRPC: Allow caller of rpc_sleep_on() to select priority levels
  SUNRPC: Support dynamic slot allocation for TCP connections
  SUNRPC: Clean up the slot table allocation
  SUNRPC: Initalise the struct xprt upon allocation
  SUNRPC: Ensure that we grab the XPRT_LOCK before calling xprt_alloc_slot
  pnfs: simplify pnfs files module autoloading
  nfs: document nfsv4 sillyrename issues
  NFS: Convert nfs4_set_ds_client to EXPORT_SYMBOL_GPL
  SUNRPC: Convert the backchannel exports to EXPORT_SYMBOL_GPL
  SUNRPC: sunrpc should not explicitly depend on NFS config options
  NFS: Clean up - simplify the switch to read/write-through-MDS
  NFS: Move the pnfs write code into pnfs.c
  NFS: Move the pnfs read code into pnfs.c
  NFS: Allow the nfs_pageio_descriptor to signal that a re-coalesce is needed
  NFS: Use the nfs_pageio_descriptor-&gt;pg_bsize in the read/write request
  NFS: Cache rpc_ops in struct nfs_pageio_descriptor
  ...
</content>
</entry>
<entry>
<title>locks: rename lock-manager ops</title>
<updated>2011-07-21T00:23:19Z</updated>
<author>
<name>J. Bruce Fields</name>
<email>bfields@redhat.com</email>
</author>
<published>2011-07-21T00:21:59Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=8fb47a4fbf858a164e973b8ea8ef5e83e61f2e50'/>
<id>urn:sha1:8fb47a4fbf858a164e973b8ea8ef5e83e61f2e50</id>
<content type='text'>
Both the filesystem and the lock manager can associate operations with a
lock.  Confusingly, one of them (fl_release_private) actually has the
same name in both operation structures.

It would save some confusion to give the lock-manager ops different
names.

Signed-off-by: J. Bruce Fields &lt;bfields@redhat.com&gt;
</content>
</entry>
<entry>
<title>lockd: properly convert be32 values in debug messages</title>
<updated>2011-07-12T17:40:26Z</updated>
<author>
<name>Vasily Averin</name>
<email>vvs@sw.ru</email>
</author>
<published>2011-06-01T12:54:32Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=82c2c8b8616fa9e77264c53f0df483f74ac54613'/>
<id>urn:sha1:82c2c8b8616fa9e77264c53f0df483f74ac54613</id>
<content type='text'>
lockd: server returns status 50331648
it's quite hard to understand that number in this message is 3 in big endian

Signed-off-by: Vasily Averin &lt;vvs@sw.ru&gt;
Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
</entry>
<entry>
<title>NLM: Don't hang forever on NLM unlock requests</title>
<updated>2011-06-15T15:24:27Z</updated>
<author>
<name>Trond Myklebust</name>
<email>Trond.Myklebust@netapp.com</email>
</author>
<published>2011-05-31T19:15:34Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=0b760113a3a155269a3fba93a409c640031dd68f'/>
<id>urn:sha1:0b760113a3a155269a3fba93a409c640031dd68f</id>
<content type='text'>
If the NLM daemon is killed on the NFS server, we can currently end up
hanging forever on an 'unlock' request, instead of aborting. Basically,
if the rpcbind request fails, or the server keeps returning garbage, we
really want to quit instead of retrying.

Tested-by: Vasily Averin &lt;vvs@sw.ru&gt;
Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
Cc: stable@kernel.org
</content>
</entry>
<entry>
<title>NLM: Fix "kernel BUG at fs/lockd/host.c:417!" or ".../host.c:283!"</title>
<updated>2011-01-25T20:24:47Z</updated>
<author>
<name>Chuck Lever</name>
<email>chuck.lever@oracle.com</email>
</author>
<published>2011-01-24T20:50:26Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=80c30e8de4f81851b1f712bcc596e11d53bc76f1'/>
<id>urn:sha1:80c30e8de4f81851b1f712bcc596e11d53bc76f1</id>
<content type='text'>
Nick Bowler &lt;nbowler@elliptictech.com&gt; reports:

&gt; We were just having some NFS server troubles, and my client machine
&gt; running 2.6.38-rc1+ (specifically, commit 2b1caf6ed7b888c95) crashed
&gt; hard (syslog output appended to this mail).
&gt;
&gt; I'm not sure what the exact timeline was or how to reproduce this,
&gt; but the server was rebooted during all this.  Since I've never seen
&gt; this happen before, it is possibly a regression from previous kernel
&gt; releases.  However, I recently updated my nfs-utils (on the client) to
&gt; version 1.2.3, so that might be related as well.

  [ BUG output redacted ]

When done searching, the for_each_host loop in next_host_state() falls
through and returns the final host on the host chain without bumping
it's reference count.

Since the host's ref count is only one at that point, releasing the
host in nlm_host_rebooted() attempts to destroy the host prematurely,
and therefore hits a BUG().

Likely, the original intent of the for_each_host behavior in
next_host_state() was to handle the case when the host chain is empty.
Searching the chain and finding no suitable host to return needs to be
handled as well.

Defensively restructure next_host_state() always to return NULL when
the loop falls through.

Introduced by commit b10e30f6 "lockd: reorganize nlm_host_rebooted".

Cc: J. Bruce Fields &lt;bfields@fieldses.org&gt;
Signed-off-by: Chuck Lever &lt;chuck.lever@oracle.com&gt;
Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
</entry>
<entry>
<title>lockd: double unlock in next_host_state()</title>
<updated>2011-01-04T18:10:37Z</updated>
<author>
<name>Dan Carpenter</name>
<email>error27@gmail.com</email>
</author>
<published>2011-01-02T20:20:42Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=51f128ea1c9224c1e3cf6c6a1498431d97699668'/>
<id>urn:sha1:51f128ea1c9224c1e3cf6c6a1498431d97699668</id>
<content type='text'>
We unlock again after we goto out.

Signed-off-by: Dan Carpenter &lt;error27@gmail.com&gt;
Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
</entry>
<entry>
<title>lockd: Remove src_sap and src_len from nlm_lookup_host_info struct</title>
<updated>2010-12-16T17:37:27Z</updated>
<author>
<name>Chuck Lever</name>
<email>chuck.lever@oracle.com</email>
</author>
<published>2010-12-14T15:06:52Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=79691836603541e81a3793970826ac4a75429572'/>
<id>urn:sha1:79691836603541e81a3793970826ac4a75429572</id>
<content type='text'>
Clean up.

The contents of the src_sap field is not used in nlm_alloc_host().

Signed-off-by: Chuck Lever &lt;chuck.lever@oracle.com&gt;
Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
</entry>
<entry>
<title>lockd: Remove nlm_lookup_host()</title>
<updated>2010-12-16T17:37:27Z</updated>
<author>
<name>Chuck Lever</name>
<email>chuck.lever@oracle.com</email>
</author>
<published>2010-12-14T15:06:41Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=2025889828bb14b56d9aa4c1a785bd9847ccdc4b'/>
<id>urn:sha1:2025889828bb14b56d9aa4c1a785bd9847ccdc4b</id>
<content type='text'>
Clean up.

Remove the now unused helper nlm_lookup_host().

Signed-off-by: Chuck Lever &lt;chuck.lever@oracle.com&gt;
Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
</entry>
<entry>
<title>lockd: Make nrhosts an unsigned long</title>
<updated>2010-12-16T17:37:27Z</updated>
<author>
<name>Chuck Lever</name>
<email>chuck.lever@oracle.com</email>
</author>
<published>2010-12-14T15:06:32Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=fcc072c783491ca465e4d1e74da7dbb48dbf7a31'/>
<id>urn:sha1:fcc072c783491ca465e4d1e74da7dbb48dbf7a31</id>
<content type='text'>
Clean up.

Signed-off-by: Chuck Lever &lt;chuck.lever@oracle.com&gt;
Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
</entry>
<entry>
<title>lockd: Rename nlm_hosts</title>
<updated>2010-12-16T17:37:27Z</updated>
<author>
<name>Chuck Lever</name>
<email>chuck.lever@oracle.com</email>
</author>
<published>2010-12-14T15:06:22Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=d2df0484bb38f2e0d9754b00597d4a6d1cf666d0'/>
<id>urn:sha1:d2df0484bb38f2e0d9754b00597d4a6d1cf666d0</id>
<content type='text'>
Clean up.

nlm_hosts now contains only server-side entries.  Rename it to match
convention of client side cache.

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