summaryrefslogtreecommitdiffstats
path: root/fs/nfs
diff options
context:
space:
mode:
authorTrond Myklebust2015-08-28 01:17:33 +0200
committerTrond Myklebust2015-08-28 01:17:33 +0200
commit0bdb8fa6ecb4a356f26c6874db51b5488706e088 (patch)
tree65b579349f1b2044cc174c4d514237c63027fa43 /fs/nfs
parentnfs42: remove unused declaration (diff)
downloadkernel-qcow2-linux-0bdb8fa6ecb4a356f26c6874db51b5488706e088.tar.gz
kernel-qcow2-linux-0bdb8fa6ecb4a356f26c6874db51b5488706e088.tar.xz
kernel-qcow2-linux-0bdb8fa6ecb4a356f26c6874db51b5488706e088.zip
NFSv4.1/pNFS: pnfs_mark_matching_lsegs_return must notify of layout return
It's not sufficient to just mark the layout segment for layout return. We also need to set the NFS_LAYOUT_RETURN_BEFORE_CLOSE flag in the layout header. Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
Diffstat (limited to 'fs/nfs')
-rw-r--r--fs/nfs/pnfs.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/nfs/pnfs.c b/fs/nfs/pnfs.c
index 914c1daf08df..4eec540de9ea 100644
--- a/fs/nfs/pnfs.c
+++ b/fs/nfs/pnfs.c
@@ -1717,6 +1717,8 @@ pnfs_mark_matching_lsegs_return(struct pnfs_layout_hdr *lo,
lseg->pls_range.length);
set_bit(NFS_LSEG_LAYOUTRETURN, &lseg->pls_flags);
mark_lseg_invalid(lseg, tmp_list);
+ set_bit(NFS_LAYOUT_RETURN_BEFORE_CLOSE,
+ &lo->plh_flags);
}
}