diff options
author | Trond Myklebust <trond.myklebust@primarydata.com> | 2016-01-04 12:52:53 -0500 |
---|---|---|
committer | Trond Myklebust <trond.myklebust@primarydata.com> | 2016-01-04 12:52:53 -0500 |
commit | e144e5391cf0881c9d64750dca8c592f6b5f0378 (patch) | |
tree | f0226d94dfdcc22532a18527df322aedcec40790 | |
parent | 71b39854a500be0b80cb3bc05546a7962f387b5b (diff) |
NFSv4.1/pnfs: Cleanup copying of pnfs_layout_range structures
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
-rw-r--r-- | fs/nfs/pnfs.c | 4 | ||||
-rw-r--r-- | fs/nfs/pnfs.h | 7 |
2 files changed, 9 insertions, 2 deletions
diff --git a/fs/nfs/pnfs.c b/fs/nfs/pnfs.c index f86f060f853d..ebf896b54d9d 100644 --- a/fs/nfs/pnfs.c +++ b/fs/nfs/pnfs.c | |||
@@ -863,7 +863,7 @@ pnfs_choose_layoutget_stateid(nfs4_stateid *dst, struct pnfs_layout_hdr *lo, | |||
863 | static struct pnfs_layout_segment * | 863 | static struct pnfs_layout_segment * |
864 | send_layoutget(struct pnfs_layout_hdr *lo, | 864 | send_layoutget(struct pnfs_layout_hdr *lo, |
865 | struct nfs_open_context *ctx, | 865 | struct nfs_open_context *ctx, |
866 | struct pnfs_layout_range *range, | 866 | const struct pnfs_layout_range *range, |
867 | gfp_t gfp_flags) | 867 | gfp_t gfp_flags) |
868 | { | 868 | { |
869 | struct inode *ino = lo->plh_inode; | 869 | struct inode *ino = lo->plh_inode; |
@@ -896,7 +896,7 @@ send_layoutget(struct pnfs_layout_hdr *lo, | |||
896 | lgp->args.minlength = i_size - range->offset; | 896 | lgp->args.minlength = i_size - range->offset; |
897 | } | 897 | } |
898 | lgp->args.maxcount = PNFS_LAYOUT_MAXSIZE; | 898 | lgp->args.maxcount = PNFS_LAYOUT_MAXSIZE; |
899 | lgp->args.range = *range; | 899 | pnfs_copy_range(&lgp->args.range, range); |
900 | lgp->args.type = server->pnfs_curr_ld->id; | 900 | lgp->args.type = server->pnfs_curr_ld->id; |
901 | lgp->args.inode = ino; | 901 | lgp->args.inode = ino; |
902 | lgp->args.ctx = get_nfs_open_context(ctx); | 902 | lgp->args.ctx = get_nfs_open_context(ctx); |
diff --git a/fs/nfs/pnfs.h b/fs/nfs/pnfs.h index 3d0f513a4a77..dcc76335fd4b 100644 --- a/fs/nfs/pnfs.h +++ b/fs/nfs/pnfs.h | |||
@@ -578,6 +578,13 @@ pnfs_mark_layout_returned_if_empty(struct pnfs_layout_hdr *lo) | |||
578 | set_bit(NFS_LAYOUT_INVALID_STID, &lo->plh_flags); | 578 | set_bit(NFS_LAYOUT_INVALID_STID, &lo->plh_flags); |
579 | } | 579 | } |
580 | 580 | ||
581 | static inline void | ||
582 | pnfs_copy_range(struct pnfs_layout_range *dst, | ||
583 | const struct pnfs_layout_range *src) | ||
584 | { | ||
585 | memcpy(dst, src, sizeof(*dst)); | ||
586 | } | ||
587 | |||
581 | extern unsigned int layoutstats_timer; | 588 | extern unsigned int layoutstats_timer; |
582 | 589 | ||
583 | #ifdef NFS_DEBUG | 590 | #ifdef NFS_DEBUG |