NFSv4.1/pNFS: pnfs_mark_matching_lsegs_return must notify of layout return
authorTrond Myklebust <trond.myklebust@primarydata.com>
Thu, 27 Aug 2015 23:17:33 +0000 (19:17 -0400)
committerTrond Myklebust <trond.myklebust@primarydata.com>
Thu, 27 Aug 2015 23:17:33 +0000 (19:17 -0400)
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>
fs/nfs/pnfs.c

index 914c1daf08dfe32c418caf9f0cfdcf1f9e774c23..4eec540de9ea06bd95f6c6f0c9395c1e59214823 100644 (file)
@@ -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);
                }
 }