NFSv4.1: Simplify layout return in pnfs_layout_process()
authorTrond Myklebust <trond.myklebust@hammerspace.com>
Thu, 15 Apr 2021 21:33:07 +0000 (17:33 -0400)
committerTrond Myklebust <trond.myklebust@hammerspace.com>
Sun, 18 Apr 2021 19:10:53 +0000 (15:10 -0400)
If the server hands us a layout that does not match the one we currently
hold, then have pnfs_mark_matching_lsegs_return() just ditch the old
layout if NFS_LSEG_LAYOUTRETURN is not set.

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

index f726f8b..03e0b34 100644 (file)
@@ -2410,9 +2410,7 @@ pnfs_layout_process(struct nfs4_layoutget *lgp)
                        .iomode = IOMODE_ANY,
                        .length = NFS4_MAX_UINT64,
                };
-               pnfs_set_plh_return_info(lo, IOMODE_ANY, 0);
-               pnfs_mark_matching_lsegs_return(lo, &lo->plh_return_segs,
-                                               &range, 0);
+               pnfs_mark_matching_lsegs_return(lo, &free_me, &range, 0);
                goto out_forget;
        } else {
                /* We have a completely new layout */