]> git.baikalelectronics.ru Git - kernel.git/commit
skip LAYOUTRETURN if layout is invalid
authorOlga Kornievskaia <olga.kornievskaia@gmail.com>
Mon, 11 Jun 2018 19:32:06 +0000 (15:32 -0400)
committerTrond Myklebust <trond.myklebust@hammerspace.com>
Tue, 12 Jun 2018 12:48:04 +0000 (08:48 -0400)
commit333e12d8d44035b3230ab4400938cc8e25fe6bbc
tree381b44b5f8ec0bbc614368cd3349a4e9f84f32f5
parent273be50daa173fe4fe50e7d6079737e552d7af35
skip LAYOUTRETURN if layout is invalid

Currently, when IO to DS fails, client returns the layout and
retries against the MDS. However, then on umounting (inode eviction)
it returns the layout again.

This is because pnfs_return_layout() was changed in
commit 5605b491797c ("pnfs/blocklayout: set PNFS_LAYOUTRETURN_ON_ERROR")
to always set NFS_LAYOUT_RETURN_REQUESTED so even if we returned
the layout, it will be returned again. Instead, let's also check
if we have already marked the layout invalid.

Signed-off-by: Olga Kornievskaia <kolga@netapp.com>
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
fs/nfs/pnfs.c