diff options
author | Trond Myklebust <trond.myklebust@primarydata.com> | 2015-08-27 19:17:33 -0400 |
---|---|---|
committer | Trond Myklebust <trond.myklebust@primarydata.com> | 2015-08-27 19:17:33 -0400 |
commit | 0bdb8fa6ecb4a356f26c6874db51b5488706e088 (patch) | |
tree | 65b579349f1b2044cc174c4d514237c63027fa43 /fs/nfs/pnfs.c | |
parent | 1090c3bf81ef12eb22383d4b6627d372ce5115d9 (diff) | |
download | lwn-0bdb8fa6ecb4a356f26c6874db51b5488706e088.tar.gz lwn-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/pnfs.c')
-rw-r--r-- | fs/nfs/pnfs.c | 2 |
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); } } |