<feed xmlns='http://www.w3.org/2005/Atom'>
<title>lwn.git/fs/nfs/delegation.c, branch docs-4.16</title>
<subtitle>Linux kernel documentation tree maintained by Jonathan Corbet</subtitle>
<id>http://mirrors.hust.edu.cn/git/lwn.git/atom?h=docs-4.16</id>
<link rel='self' href='http://mirrors.hust.edu.cn/git/lwn.git/atom?h=docs-4.16'/>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/'/>
<updated>2017-11-17T21:43:47+00:00</updated>
<entry>
<title>NFSv4: Retry CLOSE and DELEGRETURN on NFS4ERR_OLD_STATEID.</title>
<updated>2017-11-17T21:43:47+00:00</updated>
<author>
<name>Trond Myklebust</name>
<email>trond.myklebust@primarydata.com</email>
</author>
<published>2017-11-06T20:28:05+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=12f275cdd1638a163b77b3d65625fc14a81dab2b'/>
<id>urn:sha1:12f275cdd1638a163b77b3d65625fc14a81dab2b</id>
<content type='text'>
If we're racing with an OPEN, then retry the operation instead of
declaring it a success.

Signed-off-by: Trond Myklebust &lt;trond.myklebust@primarydata.com&gt;
[Andrew W Elble: Fix a typo in nfs4_refresh_open_stateid]
Signed-off-by: Anna Schumaker &lt;Anna.Schumaker@Netapp.com&gt;
</content>
</entry>
<entry>
<title>NFS: Use an atomic_long_t to count the number of requests</title>
<updated>2017-08-15T15:54:47+00:00</updated>
<author>
<name>Trond Myklebust</name>
<email>trond.myklebust@primarydata.com</email>
</author>
<published>2017-08-01T19:39:46+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=a6b6d5b85abf4914bbceade5dddd54c345c64136'/>
<id>urn:sha1:a6b6d5b85abf4914bbceade5dddd54c345c64136</id>
<content type='text'>
Rather than forcing us to take the inode-&gt;i_lock just in order to bump
the number.

Signed-off-by: Trond Myklebust &lt;trond.myklebust@primarydata.com&gt;
</content>
</entry>
<entry>
<title>NFSv4: Optimise away forced revalidation when we know the attributes are OK</title>
<updated>2016-12-01T22:21:37+00:00</updated>
<author>
<name>Trond Myklebust</name>
<email>trond.myklebust@primarydata.com</email>
</author>
<published>2016-10-27T22:42:04+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=1ad13dbc85911fcf15232342205c92e250335267'/>
<id>urn:sha1:1ad13dbc85911fcf15232342205c92e250335267</id>
<content type='text'>
The NFS_INO_REVAL_FORCED flag needs to be set if we just got a delegation,
and we see that there might still be some ambiguity as to whether or not
our attribute or data cache are valid.
In practice, this means that a call to nfs_check_inode_attributes() will
have noticed a discrepancy between cached attributes and measured ones,
so let's move the setting of NFS_INO_REVAL_FORCED to there.

Signed-off-by: Trond Myklebust &lt;trond.myklebust@primarydata.com&gt;
</content>
</entry>
<entry>
<title>NFS: Always call nfs_inode_find_state_and_recover() when revoking a delegation</title>
<updated>2016-09-27T18:35:04+00:00</updated>
<author>
<name>Trond Myklebust</name>
<email>trond.myklebust@primarydata.com</email>
</author>
<published>2016-09-22T17:39:14+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=7f04883146b7cb1db57c3479820cbed511cafd05'/>
<id>urn:sha1:7f04883146b7cb1db57c3479820cbed511cafd05</id>
<content type='text'>
Don't rely on nfs_inode_detach_delegation() succeeding. That can race...

Signed-off-by: Trond Myklebust &lt;trond.myklebust@primarydata.com&gt;
Tested-by: Oleg Drokin &lt;green@linuxhacker.ru&gt;
Signed-off-by: Anna Schumaker &lt;Anna.Schumaker@Netapp.com&gt;
</content>
</entry>
<entry>
<title>NFSv4: Fix a race in nfs_inode_reclaim_delegation()</title>
<updated>2016-09-27T18:34:54+00:00</updated>
<author>
<name>Trond Myklebust</name>
<email>trond.myklebust@primarydata.com</email>
</author>
<published>2016-09-22T17:39:12+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=b1a318de9bc4946ad4a20481ab3ce28c2e8cd72c'/>
<id>urn:sha1:b1a318de9bc4946ad4a20481ab3ce28c2e8cd72c</id>
<content type='text'>
If we race with a delegreturn before taking the spin lock, we
currently end up dropping the delegation stateid.

Signed-off-by: Trond Myklebust &lt;trond.myklebust@primarydata.com&gt;
Tested-by: Oleg Drokin &lt;green@linuxhacker.ru&gt;
Signed-off-by: Anna Schumaker &lt;Anna.Schumaker@Netapp.com&gt;
</content>
</entry>
<entry>
<title>NFSv4: nfs_inode_find_state_and_recover() should check all stateids</title>
<updated>2016-09-27T18:34:35+00:00</updated>
<author>
<name>Trond Myklebust</name>
<email>trond.myklebust@primarydata.com</email>
</author>
<published>2016-09-22T17:39:07+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=6c2d8f8d307033a7cdfee3f4cb9dc4679ab69513'/>
<id>urn:sha1:6c2d8f8d307033a7cdfee3f4cb9dc4679ab69513</id>
<content type='text'>
Modify the helper nfs_inode_find_state_and_recover() so that it
can check all open/lock/delegation state trackers on that inode for
whether or not they need are affected by a revoked stateid error.

Signed-off-by: Trond Myklebust &lt;trond.myklebust@primarydata.com&gt;
Tested-by: Oleg Drokin &lt;green@linuxhacker.ru&gt;
Signed-off-by: Anna Schumaker &lt;Anna.Schumaker@Netapp.com&gt;
</content>
</entry>
<entry>
<title>NFSv4: Ensure we don't re-test revoked and freed stateids</title>
<updated>2016-09-27T18:34:31+00:00</updated>
<author>
<name>Trond Myklebust</name>
<email>trond.myklebust@primarydata.com</email>
</author>
<published>2016-09-22T17:39:06+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=059b43e9744efe5b6f8e83516d2a0e813bfaee70'/>
<id>urn:sha1:059b43e9744efe5b6f8e83516d2a0e813bfaee70</id>
<content type='text'>
This fixes a potential infinite loop in nfs_reap_expired_delegations.

Signed-off-by: Trond Myklebust &lt;trond.myklebust@primarydata.com&gt;
Tested-by: Oleg Drokin &lt;green@linuxhacker.ru&gt;
Signed-off-by: Anna Schumaker &lt;Anna.Schumaker@Netapp.com&gt;
</content>
</entry>
<entry>
<title>NFSv4.1: Deal with server reboots during delegation expiration recovery</title>
<updated>2016-09-27T18:33:49+00:00</updated>
<author>
<name>Trond Myklebust</name>
<email>trond.myklebust@primarydata.com</email>
</author>
<published>2016-09-22T17:39:00+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=bb3d1a3b24b61d8dd87e2d8c127a92ec8dd5d0d4'/>
<id>urn:sha1:bb3d1a3b24b61d8dd87e2d8c127a92ec8dd5d0d4</id>
<content type='text'>
Ensure that if the server reboots while we're testing and recovering
from revoked delegations, we exit to allow the state manager to
handle matters.

Signed-off-by: Trond Myklebust &lt;trond.myklebust@primarydata.com&gt;
Tested-by: Oleg Drokin &lt;green@linuxhacker.ru&gt;
Signed-off-by: Anna Schumaker &lt;Anna.Schumaker@Netapp.com&gt;
</content>
</entry>
<entry>
<title>NFSv4.1: Test delegation stateids when server declares "some state revoked"</title>
<updated>2016-09-27T18:33:44+00:00</updated>
<author>
<name>Trond Myklebust</name>
<email>trond.myklebust@primarydata.com</email>
</author>
<published>2016-09-22T17:38:59+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=45870d6909d5a1f702d2a3781d8fc831301d13c8'/>
<id>urn:sha1:45870d6909d5a1f702d2a3781d8fc831301d13c8</id>
<content type='text'>
According to RFC5661, if any of the SEQUENCE status bits
SEQ4_STATUS_EXPIRED_ALL_STATE_REVOKED,
SEQ4_STATUS_EXPIRED_SOME_STATE_REVOKED, SEQ4_STATUS_ADMIN_STATE_REVOKED,
or SEQ4_STATUS_RECALLABLE_STATE_REVOKED are set, then we need to use
TEST_STATEID to figure out which stateids have been revoked, so we
can acknowledge the loss of state using FREE_STATEID.

While we already do this for open and lock state, we have not been doing
so for all the delegations.

Signed-off-by: Trond Myklebust &lt;trond.myklebust@primarydata.com&gt;
Tested-by: Oleg Drokin &lt;green@linuxhacker.ru&gt;
Signed-off-by: Anna Schumaker &lt;Anna.Schumaker@Netapp.com&gt;
</content>
</entry>
<entry>
<title>NFSv4.x: Allow callers of nfs_remove_bad_delegation() to specify a stateid</title>
<updated>2016-09-27T18:33:37+00:00</updated>
<author>
<name>Trond Myklebust</name>
<email>trond.myklebust@primarydata.com</email>
</author>
<published>2016-09-22T17:38:58+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=41020b671aa553f31e766fd1e9d38598eba72bd6'/>
<id>urn:sha1:41020b671aa553f31e766fd1e9d38598eba72bd6</id>
<content type='text'>
Allow the callers of nfs_remove_bad_delegation() to specify the stateid
that needs to be marked as bad.

Signed-off-by: Trond Myklebust &lt;trond.myklebust@primarydata.com&gt;
Tested-by: Oleg Drokin &lt;green@linuxhacker.ru&gt;
Signed-off-by: Anna Schumaker &lt;Anna.Schumaker@Netapp.com&gt;
</content>
</entry>
</feed>
