<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/fs/nfs/nfs4proc.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-04T02:52:30Z</updated>
<entry>
<title>NFSv4.1: Clear the old state by our client id before establishing a new lease</title>
<updated>2015-03-04T02:52:30Z</updated>
<author>
<name>Trond Myklebust</name>
<email>trond.myklebust@primarydata.com</email>
</author>
<published>2015-03-04T01:35:31Z</published>
<link rel='alternate' type='text/html' href='https://sre.ring0.de/linux/commit/?id=e11259f920d8cb3550e0f311c064bdabe1bc3aaf'/>
<id>urn:sha1:e11259f920d8cb3550e0f311c064bdabe1bc3aaf</id>
<content type='text'>
If the call to exchange-id returns with the EXCHGID4_FLAG_CONFIRMED_R flag
set, then that means our lease was established by a previous mount instance.
Ensure that we detect this situation, and that we clear the state held by
that mount.

Reported-by: Jorge Mora &lt;Jorge.Mora@netapp.com&gt;
Signed-off-by: Trond Myklebust &lt;trond.myklebust@primarydata.com&gt;
</content>
</entry>
<entry>
<title>NFS: Fix stateid used for NFS v4 closes</title>
<updated>2015-03-02T23:06:42Z</updated>
<author>
<name>Anna Schumaker</name>
<email>Anna.Schumaker@netapp.com</email>
</author>
<published>2015-03-02T21:46:09Z</published>
<link rel='alternate' type='text/html' href='https://sre.ring0.de/linux/commit/?id=369d6b7f00977eb9090212d4a47ac71f3ec5c217'/>
<id>urn:sha1:369d6b7f00977eb9090212d4a47ac71f3ec5c217</id>
<content type='text'>
After 566fcec60 the client uses the "current stateid" from the
nfs4_state structure to close a file.  This could potentially contain a
delegation stateid, which is disallowed by the protocol and causes
servers to return NFS4ERR_BAD_STATEID.  This patch restores the
(correct) behavior of sending the open stateid to close a file.

Reported-by: Olga Kornievskaia &lt;kolga@netapp.com&gt;
Fixes: 566fcec60 (NFSv4: Fix an atomicity problem in CLOSE)
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>NFSv4: Set a barrier in the update_changeattr() helper</title>
<updated>2015-03-02T04:23:06Z</updated>
<author>
<name>Trond Myklebust</name>
<email>trond.myklebust@primarydata.com</email>
</author>
<published>2015-02-27T00:52:06Z</published>
<link rel='alternate' type='text/html' href='https://sre.ring0.de/linux/commit/?id=3235b40303b6f609c446275d0e7f6f9f4fe94156'/>
<id>urn:sha1:3235b40303b6f609c446275d0e7f6f9f4fe94156</id>
<content type='text'>
Ensure that we don't regress the changes that were made to the
directory.

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 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: nfs4_open_recover_helper() must set share access</title>
<updated>2015-02-27T22:10:40Z</updated>
<author>
<name>Trond Myklebust</name>
<email>trond.myklebust@primarydata.com</email>
</author>
<published>2015-02-27T22:04:17Z</published>
<link rel='alternate' type='text/html' href='https://sre.ring0.de/linux/commit/?id=be36e185bd26388355d3ea1847278b96ab350792'/>
<id>urn:sha1:be36e185bd26388355d3ea1847278b96ab350792</id>
<content type='text'>
The share access mode is now specified as an argument in the nfs4_opendata,
and so nfs4_open_recover_helper() needs to call nfs4_map_atomic_open_share()
in order to set it.

Fixes: 6ae373394c42 ("NFSv4.1: Ask for no delegation on OPEN if using O_DIRECT")
Signed-off-by: Trond Myklebust &lt;trond.myklebust@primarydata.com&gt;
</content>
</entry>
<entry>
<title>NFSv4.1: Clean up bind_conn_to_session</title>
<updated>2015-02-18T21:11:09Z</updated>
<author>
<name>Trond Myklebust</name>
<email>trond.myklebust@primarydata.com</email>
</author>
<published>2015-02-18T17:27:18Z</published>
<link rel='alternate' type='text/html' href='https://sre.ring0.de/linux/commit/?id=71a097c6de9a49afd0f96b3ecef70c4eb04efde7'/>
<id>urn:sha1:71a097c6de9a49afd0f96b3ecef70c4eb04efde7</id>
<content type='text'>
We don't need to fake up an entire session in order retrieve the arguments.

Signed-off-by: Trond Myklebust &lt;trond.myklebust@primarydata.com&gt;
</content>
</entry>
<entry>
<title>NFSv4.1: Don't set up a backchannel if the server didn't agree to do so</title>
<updated>2015-02-18T20:30:47Z</updated>
<author>
<name>Trond Myklebust</name>
<email>trond.myklebust@primarydata.com</email>
</author>
<published>2015-02-18T19:34:58Z</published>
<link rel='alternate' type='text/html' href='https://sre.ring0.de/linux/commit/?id=b1c0df5fadc917ba3724ae9fdfcc6f97db34736a'/>
<id>urn:sha1:b1c0df5fadc917ba3724ae9fdfcc6f97db34736a</id>
<content type='text'>
If the server doesn't agree to out backchannel setup request, then
don't set one up.

Signed-off-by: Trond Myklebust &lt;trond.myklebust@primarydata.com&gt;
</content>
</entry>
<entry>
<title>NFSv4.1: Clean up create_session</title>
<updated>2015-02-18T20:28:50Z</updated>
<author>
<name>Trond Myklebust</name>
<email>trond.myklebust@primarydata.com</email>
</author>
<published>2015-02-18T19:30:18Z</published>
<link rel='alternate' type='text/html' href='https://sre.ring0.de/linux/commit/?id=79969dd12e8756f64a999992c0536ccd91bf6e54'/>
<id>urn:sha1:79969dd12e8756f64a999992c0536ccd91bf6e54</id>
<content type='text'>
Don't decode directly into the shared struct session

Signed-off-by: Trond Myklebust &lt;trond.myklebust@primarydata.com&gt;
</content>
</entry>
<entry>
<title>NFSv4.1: Pin the inode and super block in asynchronous layoutreturns</title>
<updated>2015-02-06T03:16:45Z</updated>
<author>
<name>Trond Myklebust</name>
<email>trond.myklebust@primarydata.com</email>
</author>
<published>2015-02-05T21:35:16Z</published>
<link rel='alternate' type='text/html' href='https://sre.ring0.de/linux/commit/?id=5a0ec8acb945e302ce819b4a9787796ccf284548'/>
<id>urn:sha1:5a0ec8acb945e302ce819b4a9787796ccf284548</id>
<content type='text'>
If we're sending an asynchronous layoutreturn, then we need to ensure
that the inode and the super block remain pinned.

Cc: Peng Tao &lt;tao.peng@primarydata.com&gt;
Signed-off-by: Trond Myklebust &lt;trond.myklebust@primarydata.com&gt;
Reviewed-by: Peng Tao &lt;tao.peng@primarydata.com&gt;
</content>
</entry>
</feed>
