<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/fs/nfs/nfs3proc.c, branch v4.0</title>
<subtitle>Linux Kernel (branches are rebased on master from time to time)</subtitle>
<id>https://sre.ring0.de/linux/atom?h=v4.0</id>
<link rel='self' href='https://sre.ring0.de/linux/atom?h=v4.0'/>
<link rel='alternate' type='text/html' href='https://sre.ring0.de/linux/'/>
<updated>2015-03-02T04:23:06Z</updated>
<entry>
<title>NFS: Add attribute update barriers to NFS writebacks</title>
<updated>2015-03-02T04:23:06Z</updated>
<author>
<name>Trond Myklebust</name>
<email>trond.myklebust@primarydata.com</email>
</author>
<published>2015-02-26T22:36:09Z</published>
<link rel='alternate' type='text/html' href='https://sre.ring0.de/linux/commit/?id=a08a8cd375db9769588257e7782f6b6b68561b88'/>
<id>urn:sha1:a08a8cd375db9769588257e7782f6b6b68561b88</id>
<content type='text'>
Ensure that other operations that race with our write RPC calls
cannot revert the file size updates that were made on the server.

Signed-off-by: Trond Myklebust &lt;trond.myklebust@primarydata.com&gt;
Tested-by: Chuck Lever &lt;chuck.lever@oracle.com&gt;
</content>
</entry>
<entry>
<title>NFS: Add attribute update barriers to nfs_setattr_update_inode()</title>
<updated>2015-03-02T04:23:05Z</updated>
<author>
<name>Trond Myklebust</name>
<email>trond.myklebust@primarydata.com</email>
</author>
<published>2015-02-26T21:09:04Z</published>
<link rel='alternate' type='text/html' href='https://sre.ring0.de/linux/commit/?id=f044636d972246d451e06226cc1675d5da389762'/>
<id>urn:sha1:f044636d972246d451e06226cc1675d5da389762</id>
<content type='text'>
Ensure that other operations which raced with our setattr RPC call
cannot revert the file attribute changes that were made on the server.
To do so, we artificially bump the attribute generation counter on
the inode so that all calls to nfs_fattr_init() that precede ours
will be dropped.

The motivation for the patch came from Chuck Lever's reports of readaheads
racing with truncate operations and causing the file size to be reverted.

Reported-by: Chuck Lever &lt;chuck.lever@oracle.com&gt;
Signed-off-by: Trond Myklebust &lt;trond.myklebust@primarydata.com&gt;
Tested-by: Chuck Lever &lt;chuck.lever@oracle.com&gt;
</content>
</entry>
<entry>
<title>NFSv4.1/NFSv3: Add pNFS callbacks for nfs3_(read|write|commit)_done()</title>
<updated>2015-02-03T19:06:37Z</updated>
<author>
<name>Trond Myklebust</name>
<email>trond.myklebust@primarydata.com</email>
</author>
<published>2014-06-22T16:55:11Z</published>
<link rel='alternate' type='text/html' href='https://sre.ring0.de/linux/commit/?id=16cecdf620eb23d2654a265d9b20e089370d7425'/>
<id>urn:sha1:16cecdf620eb23d2654a265d9b20e089370d7425</id>
<content type='text'>
Enable pNFS callbacks to allow flex files to work correctly with a
NFSv3-enabled data server.

Signed-off-by: Trond Myklebust &lt;trond.myklebust@primarydata.com&gt;
</content>
</entry>
<entry>
<title>NFS: Move v3 declarations out of internal.h</title>
<updated>2014-09-12T17:49:40Z</updated>
<author>
<name>Anna Schumaker</name>
<email>Anna.Schumaker@netapp.com</email>
</author>
<published>2014-09-03T16:19:08Z</published>
<link rel='alternate' type='text/html' href='https://sre.ring0.de/linux/commit/?id=00a36a1090350995127c2a4bfac6be7fc85b5b81'/>
<id>urn:sha1:00a36a1090350995127c2a4bfac6be7fc85b5b81</id>
<content type='text'>
I am generally against the "one big header file" approach, and
everything in the client includes this file.  Let's move all the NFS v3
declarations into a v3-only header file.

Signed-off-by: Anna Schumaker &lt;Anna.Schumaker@Netapp.com&gt;
Signed-off-by: Trond Myklebust &lt;trond.myklebust@primarydata.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'bugfixes' into linux-next</title>
<updated>2014-07-13T19:22:02Z</updated>
<author>
<name>Trond Myklebust</name>
<email>trond.myklebust@primarydata.com</email>
</author>
<published>2014-07-13T19:22:02Z</published>
<link rel='alternate' type='text/html' href='https://sre.ring0.de/linux/commit/?id=e655f945cd7ba2a8360ddd5462ca535a3b41e07e'/>
<id>urn:sha1:e655f945cd7ba2a8360ddd5462ca535a3b41e07e</id>
<content type='text'>
* bugfixes:
  NFS: Don't reset pg_moreio in __nfs_pageio_add_request
  NFS: Remove 2 unused variables
  nfs: handle multiple reqs in nfs_wb_page_cancel
  nfs: handle multiple reqs in nfs_page_async_flush
  nfs: change find_request to find_head_request
  nfs: nfs_page should take a ref on the head req
  nfs: mark nfs_page reqs with flag for extra ref
  nfs: only show Posix ACLs in listxattr if actually present

Conflicts:
	fs/nfs/write.c
</content>
</entry>
<entry>
<title>nfs: only show Posix ACLs in listxattr if actually present</title>
<updated>2014-07-08T18:36:08Z</updated>
<author>
<name>Christoph Hellwig</name>
<email>hch@lst.de</email>
</author>
<published>2014-06-18T09:07:03Z</published>
<link rel='alternate' type='text/html' href='https://sre.ring0.de/linux/commit/?id=74adf83f5d7720925499b4938f930591f947b660'/>
<id>urn:sha1:74adf83f5d7720925499b4938f930591f947b660</id>
<content type='text'>
The big ACL switched nfs to use generic_listxattr, which calls all existing
-&gt;list handlers.  Add a custom .listxattr implementation that only lists
the ACLs if they actually are present on the given inode.

Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
Reported-by: Philippe Troin &lt;phil@fifi.org&gt;
Tested-by: Philippe Troin &lt;phil@fifi.org&gt;
Fixes: 013cdf1088d7 (nfs: use generic posix ACL infrastructure ...)
Cc: stable@vger.kernel.org # 3.14+
Signed-off-by: Trond Myklebust &lt;trond.myklebust@primarydata.com&gt;
</content>
</entry>
<entry>
<title>nfs: merge nfs_pgio_data into _header</title>
<updated>2014-06-24T22:47:00Z</updated>
<author>
<name>Weston Andros Adamson</name>
<email>dros@primarydata.com</email>
</author>
<published>2014-06-09T15:48:35Z</published>
<link rel='alternate' type='text/html' href='https://sre.ring0.de/linux/commit/?id=d45f60c67848b9f19160692581d78e5b4757a000'/>
<id>urn:sha1:d45f60c67848b9f19160692581d78e5b4757a000</id>
<content type='text'>
struct nfs_pgio_data only exists as a member of nfs_pgio_header, but is
passed around everywhere, because there used to be multiple _data structs
per _header. Many of these functions then use the _data to find a pointer
to the _header.  This patch cleans this up by merging the nfs_pgio_data
structure into nfs_pgio_header and passing nfs_pgio_header around instead.

Reviewed-by: Christoph Hellwig &lt;hch@lst.de&gt;
Signed-off-by: Weston Andros Adamson &lt;dros@primarydata.com&gt;
Signed-off-by: Trond Myklebust &lt;trond.myklebust@primarydata.com&gt;
</content>
</entry>
<entry>
<title>NFS: Create a common pgio_rpc_prepare function</title>
<updated>2014-05-28T22:40:28Z</updated>
<author>
<name>Anna Schumaker</name>
<email>Anna.Schumaker@netapp.com</email>
</author>
<published>2014-05-06T13:12:31Z</published>
<link rel='alternate' type='text/html' href='https://sre.ring0.de/linux/commit/?id=a4cdda59111f92000297e0d3edb1e0e08ba3549b'/>
<id>urn:sha1:a4cdda59111f92000297e0d3edb1e0e08ba3549b</id>
<content type='text'>
The read and write paths do exactly the same thing for the rpc_prepare
rpc_op.  This patch combines them together into a single function.

Signed-off-by: Anna Schumaker &lt;Anna.Schumaker@Netapp.com&gt;
Signed-off-by: Trond Myklebust &lt;trond.myklebust@primarydata.com&gt;
</content>
</entry>
<entry>
<title>NFS: Create a common read and write data struct</title>
<updated>2014-05-28T22:12:47Z</updated>
<author>
<name>Anna Schumaker</name>
<email>Anna.Schumaker@netapp.com</email>
</author>
<published>2014-05-06T13:12:26Z</published>
<link rel='alternate' type='text/html' href='https://sre.ring0.de/linux/commit/?id=9c7e1b3d50b56b8d8f6237ed232350b7c6476cd5'/>
<id>urn:sha1:9c7e1b3d50b56b8d8f6237ed232350b7c6476cd5</id>
<content type='text'>
At this point, the only difference between nfs_read_data and
nfs_write_data is the write verifier.

Signed-off-by: Anna Schumaker &lt;Anna.Schumaker@Netapp.com&gt;
Signed-off-by: Trond Myklebust &lt;trond.myklebust@primarydata.com&gt;
</content>
</entry>
<entry>
<title>nfs: remove -&gt;read_pageio_init from rpc ops</title>
<updated>2014-05-28T21:50:08Z</updated>
<author>
<name>Christoph Hellwig</name>
<email>hch@lst.de</email>
</author>
<published>2014-04-16T13:07:22Z</published>
<link rel='alternate' type='text/html' href='https://sre.ring0.de/linux/commit/?id=fab5fc25d230edcc8ee72367e505955a2fae0cac'/>
<id>urn:sha1:fab5fc25d230edcc8ee72367e505955a2fae0cac</id>
<content type='text'>
The read_pageio_init method is just a very convoluted way to grab the
right nfs_pageio_ops vector.  The vector to chose is not a choice of
protocol version, but just a pNFS vs MDS I/O choice that can simply be
done inside nfs_pageio_init_read based on the presence of a layout
driver, and a new force_mds flag to the special case of falling back
to MDS I/O on a pNFS-capable volume.

Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
Tested-by: Anna Schumaker &lt;Anna.Schumaker@Netapp.com&gt;
Signed-off-by: Trond Myklebust &lt;trond.myklebust@primarydata.com&gt;
</content>
</entry>
</feed>
