]> git.baikalelectronics.ru Git - kernel.git/commit
NFS: Fix an infinite loop when layoutget fail with BAD_STATEID
authorKinglong Mee <kinglongmee@gmail.com>
Sun, 20 Sep 2015 15:04:22 +0000 (23:04 +0800)
committerTrond Myklebust <trond.myklebust@primarydata.com>
Sun, 20 Sep 2015 17:46:45 +0000 (13:46 -0400)
commit1f1a6da4455e18ab4eadc71feeefd57e8e531b2a
tree1f5ce5d43a3c699becfd30b5470a29cf4f91c2e8
parent9f739ba41c9027a275d6e82e8b49d81e84f704bf
NFS: Fix an infinite loop when layoutget fail with BAD_STATEID

If layouget fail with BAD_STATEID, restart should not using the old stateid.
But, nfs client choose the layout stateid at first, and then the open stateid.

To avoid the infinite loop of using bad stateid for layoutget,
this patch sets the layout flag'ss NFS_LAYOUT_INVALID_STID bit to
skip choosing the bad layout stateid.

Signed-off-by: Kinglong Mee <kinglongmee@gmail.com>
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
fs/nfs/nfs4proc.c