summaryrefslogtreecommitdiffstats
path: root/fs/nfs/pnfs.c
diff options
context:
space:
mode:
authorTrond Myklebust <trond.myklebust@primarydata.com>2016-07-24 15:10:12 -0400
committerTrond Myklebust <trond.myklebust@primarydata.com>2016-07-24 16:16:42 -0400
commit119cef97a46e2a4b4fbebcf6655358a0b277732d (patch)
tree843077ecf0000989b748455fc5e181de81ce0cf8 /fs/nfs/pnfs.c
parent28c1acffead59a461e552708cc9daa9c1cb5a085 (diff)
pNFS: Cleanup - do layout segment initialisation in one place
...instead of splitting the initialisation over init_lseg() and pnfs_layout_process(). Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
Diffstat (limited to 'fs/nfs/pnfs.c')
-rw-r--r--fs/nfs/pnfs.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/fs/nfs/pnfs.c b/fs/nfs/pnfs.c
index c9a684c128b8..09b77a68422f 100644
--- a/fs/nfs/pnfs.c
+++ b/fs/nfs/pnfs.c
@@ -334,7 +334,9 @@ pnfs_layout_io_test_failed(struct pnfs_layout_hdr *lo, u32 iomode)
334} 334}
335 335
336static void 336static void
337init_lseg(struct pnfs_layout_hdr *lo, struct pnfs_layout_segment *lseg) 337pnfs_init_lseg(struct pnfs_layout_hdr *lo, struct pnfs_layout_segment *lseg,
338 const struct pnfs_layout_range *range,
339 const nfs4_stateid *stateid)
338{ 340{
339 INIT_LIST_HEAD(&lseg->pls_list); 341 INIT_LIST_HEAD(&lseg->pls_list);
340 INIT_LIST_HEAD(&lseg->pls_lc_list); 342 INIT_LIST_HEAD(&lseg->pls_lc_list);
@@ -342,6 +344,8 @@ init_lseg(struct pnfs_layout_hdr *lo, struct pnfs_layout_segment *lseg)
342 smp_mb(); 344 smp_mb();
343 set_bit(NFS_LSEG_VALID, &lseg->pls_flags); 345 set_bit(NFS_LSEG_VALID, &lseg->pls_flags);
344 lseg->pls_layout = lo; 346 lseg->pls_layout = lo;
347 lseg->pls_range = *range;
348 lseg->pls_seq = be32_to_cpu(stateid->seqid);
345} 349}
346 350
347static void pnfs_free_lseg(struct pnfs_layout_segment *lseg) 351static void pnfs_free_lseg(struct pnfs_layout_segment *lseg)
@@ -1760,9 +1764,7 @@ pnfs_layout_process(struct nfs4_layoutget *lgp)
1760 return lseg; 1764 return lseg;
1761 } 1765 }
1762 1766
1763 init_lseg(lo, lseg); 1767 pnfs_init_lseg(lo, lseg, &res->range, &res->stateid);
1764 lseg->pls_range = res->range;
1765 lseg->pls_seq = be32_to_cpu(res->stateid.seqid);
1766 1768
1767 spin_lock(&ino->i_lock); 1769 spin_lock(&ino->i_lock);
1768 if (pnfs_layoutgets_blocked(lo)) { 1770 if (pnfs_layoutgets_blocked(lo)) {