<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/fs/nfs/direct.c, branch linux-3.5.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.5.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.5.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2012-07-08T14:32:08Z</updated>
<entry>
<title>NFS: Fix list manipulation snafus in fs/nfs/direct.c</title>
<updated>2012-07-08T14:32:08Z</updated>
<author>
<name>Trond Myklebust</name>
</author>
<published>2012-07-08T14:24:10Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4035c2487f179327fae87af3477659402b797584'/>
<id>urn:sha1:4035c2487f179327fae87af3477659402b797584</id>
<content type='text'>
Fix 2 bugs in nfs_direct_write_reschedule:

 - The request needs to be removed from the 'reqs' list before it can
   be added to 'failed'.
 - Fix an infinite loop if the 'failed' list is non-empty.

Reported-by: Julia Lawall &lt;julia.lawall@lip6.fr&gt;
Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
</entry>
<entry>
<title>NFS: Fix a refcounting issue in O_DIRECT</title>
<updated>2012-06-19T22:42:14Z</updated>
<author>
<name>Trond Myklebust</name>
</author>
<published>2012-06-19T17:39:14Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5a695da26367f53a368c90435e0b883c12f02791'/>
<id>urn:sha1:5a695da26367f53a368c90435e0b883c12f02791</id>
<content type='text'>
In nfs_direct_write_reschedule(), the requests from nfs_scan_commit_list
have a refcount of 2, whereas the operations in
nfs_direct_write_completion_ops expect them to have a refcount of 1.

This patch adds a call to release the extra references.

Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
Cc: Fred Isaman &lt;iisaman@netapp.com&gt;
</content>
</entry>
<entry>
<title>Merge tag 'nfs-for-3.5-2' of git://git.linux-nfs.org/projects/trondmy/linux-nfs</title>
<updated>2012-06-16T00:37:23Z</updated>
<author>
<name>Linus Torvalds</name>
</author>
<published>2012-06-16T00:37:23Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=873b779d998fd70e17a3f2bff6a35f0e0a3b0f11'/>
<id>urn:sha1:873b779d998fd70e17a3f2bff6a35f0e0a3b0f11</id>
<content type='text'>
Pull NFS client bugfixes from Trond Myklebust:
 "Highlights include:

   - Fix a couple of mount regressions due to the recent cleanups.
   - Fix an Oops in the open recovery code
   - Fix an rpc_pipefs upcall hang that results from some of the net
     namespace work from 3.4.x (stable kernel candidate).
   - Fix a couple of write and o_direct regressions that were found at
     last weeks Bakeathon testing event in Ann Arbor."

* tag 'nfs-for-3.5-2' of git://git.linux-nfs.org/projects/trondmy/linux-nfs:
  NFS: add an endian notation for sparse
  NFSv4.1: integer overflow in decode_cb_sequence_args()
  rpc_pipefs: allow rpc_purge_list to take a NULL waitq pointer
  NFSv4 do not send an empty SETATTR compound
  NFSv2: EOF incorrectly set on short read
  NFS: Use the NFS_DEFAULT_VERSION for v2 and v3 mounts
  NFS: fix directio refcount bug on commit
  NFSv4: Fix unnecessary delegation returns in nfs4_do_open
  NFSv4.1: Convert another trivial printk into a dprintk
  NFS4: Fix open bug when pnfs module blacklisted
  NFS: Remove incorrect BUG_ON in nfs_found_client
  NFS: Map minor mismatch error to protocol not support error.
  NFS: Fix a commit bug
  NFS4: Set parsed mount data version to 4
  NFSv4.1: Ensure we clear session state flags after a session creation
  NFSv4.1: Convert a trivial printk into a dprintk
  NFSv4: Fix up decode_attr_mdsthreshold
  NFSv4: Fix an Oops in the open recovery code
  NFSv4.1: Fix a request leak on the back channel
</content>
</entry>
<entry>
<title>NFS: fix directio refcount bug on commit</title>
<updated>2012-06-09T18:32:45Z</updated>
<author>
<name>Fred Isaman</name>
</author>
<published>2012-06-08T20:48:33Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=906369e43c29001c39c7dfed8a01b9dff24ace75'/>
<id>urn:sha1:906369e43c29001c39c7dfed8a01b9dff24ace75</id>
<content type='text'>
This reverts a hunk from commit 04277086577
"NFS: Clean up - Simplify reference counting in fs/nfs/direct.c"

The cleanups in that patch affect the write path, but by the time
processing hits commit the removed reference has been added back by
nfs_scan_commit_list().  Without this reversion, any page that is
sent to commit holds on to an unbalanced reference that is never
freed.  The immediate effect is an imbalance over the wire between
OPENs and CLOSEs.

Signed-off-by: Fred Isaman &lt;iisaman@netapp.com&gt;
Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
</entry>
<entry>
<title>NFS: Fix a commit bug</title>
<updated>2012-06-05T22:38:47Z</updated>
<author>
<name>Trond Myklebust</name>
</author>
<published>2012-06-05T22:32:03Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9bce008bae8b57bc7b007bcc2071d1247a527120'/>
<id>urn:sha1:9bce008bae8b57bc7b007bcc2071d1247a527120</id>
<content type='text'>
The new commit code fails to copy the verifier into the wb_verf field
of _all_ the nfs_page structures; it only copies it into the first entry.
The consequence is that most requests end up failing to match in
nfs_commit_release.

Fix is to copy the verifier into the req-&gt;wb_verf field in
nfs_write_completion.

Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
Cc: Fred Isaman &lt;iisaman@netapp.com&gt;
</content>
</entry>
<entry>
<title>NFS: Ensure that setattr and getattr wait for O_DIRECT write completion</title>
<updated>2012-05-31T18:41:36Z</updated>
<author>
<name>Trond Myklebust</name>
</author>
<published>2012-05-31T16:22:33Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1d59d61f606547f0712aa6971f91f71154071c99'/>
<id>urn:sha1:1d59d61f606547f0712aa6971f91f71154071c99</id>
<content type='text'>
Use the same mechanism as the block devices are using, but move the
helper functions from fs/direct-io.c into fs/inode.c to remove the
dependency on CONFIG_BLOCK.

Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
Cc: Christoph Hellwig &lt;hch@infradead.org&gt;
Cc: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
Cc: Fred Isaman &lt;iisaman@netapp.com&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>NFSv4.1 add nfs_inode book keeping for mdsthreshold</title>
<updated>2012-05-24T20:15:48Z</updated>
<author>
<name>Andy Adamson</name>
</author>
<published>2012-05-24T17:13:24Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2701d086dbfca03b2d28b25c6dc11dd78d0e26ad'/>
<id>urn:sha1:2701d086dbfca03b2d28b25c6dc11dd78d0e26ad</id>
<content type='text'>
Keep track of the number of bytes read or written via buffered, direct, and
mem-mapped i/o for use by mdsthreshold size_io hints.

Signed-off-by: Andy Adamson &lt;andros@netapp.com&gt;
Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
</entry>
<entry>
<title>NFS: Clean up - Simplify reference counting in fs/nfs/direct.c</title>
<updated>2012-05-09T19:17:49Z</updated>
<author>
<name>Trond Myklebust</name>
</author>
<published>2012-05-09T17:54:53Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0427708657750bdc03af3491a0297cab5e7efabf'/>
<id>urn:sha1:0427708657750bdc03af3491a0297cab5e7efabf</id>
<content type='text'>
Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
Cc: Fred Isaman &lt;iisaman@netapp.com&gt;
</content>
</entry>
<entry>
<title>NFS: Clean up - Rename nfs_unlock_request and nfs_unlock_request_dont_release</title>
<updated>2012-05-09T19:17:43Z</updated>
<author>
<name>Trond Myklebust</name>
</author>
<published>2012-05-09T18:04:55Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1d1afcbc294cc7c788eb5c7b6b98e8d63caf002c'/>
<id>urn:sha1:1d1afcbc294cc7c788eb5c7b6b98e8d63caf002c</id>
<content type='text'>
Function rename to ensure that the functionality of nfs_unlock_request()
mirrors that of nfs_lock_request(). Then let nfs_unlock_and_release_request()
do the work of what used to be called nfs_unlock_request()...

Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
Cc: Fred Isaman &lt;iisaman@netapp.com&gt;
</content>
</entry>
<entry>
<title>NFS: Clean up - simplify nfs_lock_request()</title>
<updated>2012-05-09T19:17:34Z</updated>
<author>
<name>Trond Myklebust</name>
</author>
<published>2012-05-09T17:19:15Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7ad84aa9448571678c243f0c5ef383fbe5b50f4f'/>
<id>urn:sha1:7ad84aa9448571678c243f0c5ef383fbe5b50f4f</id>
<content type='text'>
We only have two places where we need to grab a reference when trying
to lock the nfs_page. We're better off making that explicit.

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