aboutsummaryrefslogtreecommitdiffstats
path: root/fs/seq_file.c
diff options
context:
space:
mode:
authorTrond Myklebust <trond.myklebust@primarydata.com>2016-02-22 17:34:59 -0500
committerTrond Myklebust <trond.myklebust@primarydata.com>2016-02-22 17:34:59 -0500
commit2454dfea0aef8a883d4302c38124edb373d47a25 (patch)
treee6ffc2bd5a1bc51a60bd22c5d7d59aa0f72d9935 /fs/seq_file.c
parentMerge tag 'nfs-rdma-4.5-1' of git://git.linux-nfs.org/projects/anna/nfs-rdma (diff)
downloadlinux-dev-2454dfea0aef8a883d4302c38124edb373d47a25.tar.xz
linux-dev-2454dfea0aef8a883d4302c38124edb373d47a25.zip
NFSv4.x/pnfs: Fix a race between layoutget and pnfs_destroy_layout
If the server reboots while there is a layoutget outstanding, then the call to pnfs_choose_layoutget_stateid() will fail with an EAGAIN error, which causes an infinite loop in send_layoutget(). The reason why we never break out of the loop is that the layout 'plh_block_lgets' field is never cleared. Fix is to replace plh_block_lgets with NFS_LAYOUT_INVALID_STID, which can be reset after a new layoutget. Fixes: ab7d763e477c5 ("pNFS: Ensure nfs4_layoutget_prepare returns...") Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
Diffstat (limited to 'fs/seq_file.c')
0 files changed, 0 insertions, 0 deletions