pNFS/flexfiles: The mirror count could depend on the layout segment range
authorTrond Myklebust <trond.myklebust@hammerspace.com>
Thu, 18 Jun 2020 17:30:39 +0000 (13:30 -0400)
committerTrond Myklebust <trond.myklebust@hammerspace.com>
Mon, 13 Jul 2020 03:49:55 +0000 (23:49 -0400)
Make sure we specify the layout segment range when calculating the
mirror count. In theory, that number could depend on the range to
which we're writing.

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

index b3ec12e..b26173d 100644 (file)
@@ -947,8 +947,8 @@ ff_layout_pg_get_mirror_count_write(struct nfs_pageio_descriptor *pgio,
        if (!pgio->pg_lseg) {
                pgio->pg_lseg = pnfs_update_layout(pgio->pg_inode,
                                                   nfs_req_openctx(req),
-                                                  0,
-                                                  NFS4_MAX_UINT64,
+                                                  req_offset(req),
+                                                  req->wb_bytes,
                                                   IOMODE_RW,
                                                   false,
                                                   GFP_NOFS);