diff options
author | Weston Andros Adamson <dros@primarydata.com> | 2014-06-09 11:48:35 -0400 |
---|---|---|
committer | Trond Myklebust <trond.myklebust@primarydata.com> | 2014-06-24 18:47:00 -0400 |
commit | d45f60c67848b9f19160692581d78e5b4757a000 (patch) | |
tree | 5f31965abe5bd21e73eae10454db74fe6ce901e9 /fs/nfs/proc.c | |
parent | 823b0c9d9800e712374cda89ac3565bd29f6701b (diff) |
nfs: merge nfs_pgio_data into _header
struct nfs_pgio_data only exists as a member of nfs_pgio_header, but is
passed around everywhere, because there used to be multiple _data structs
per _header. Many of these functions then use the _data to find a pointer
to the _header. This patch cleans this up by merging the nfs_pgio_data
structure into nfs_pgio_header and passing nfs_pgio_header around instead.
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Weston Andros Adamson <dros@primarydata.com>
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
Diffstat (limited to 'fs/nfs/proc.c')
-rw-r--r-- | fs/nfs/proc.c | 27 |
1 files changed, 15 insertions, 12 deletions
diff --git a/fs/nfs/proc.c b/fs/nfs/proc.c index c171ce1a8a30..b09cc23d6f43 100644 --- a/fs/nfs/proc.c +++ b/fs/nfs/proc.c | |||
@@ -578,46 +578,49 @@ nfs_proc_pathconf(struct nfs_server *server, struct nfs_fh *fhandle, | |||
578 | return 0; | 578 | return 0; |
579 | } | 579 | } |
580 | 580 | ||
581 | static int nfs_read_done(struct rpc_task *task, struct nfs_pgio_data *data) | 581 | static int nfs_read_done(struct rpc_task *task, struct nfs_pgio_header *hdr) |
582 | { | 582 | { |
583 | struct inode *inode = data->header->inode; | 583 | struct inode *inode = hdr->inode; |
584 | 584 | ||
585 | nfs_invalidate_atime(inode); | 585 | nfs_invalidate_atime(inode); |
586 | if (task->tk_status >= 0) { | 586 | if (task->tk_status >= 0) { |
587 | nfs_refresh_inode(inode, data->res.fattr); | 587 | nfs_refresh_inode(inode, hdr->res.fattr); |
588 | /* Emulate the eof flag, which isn't normally needed in NFSv2 | 588 | /* Emulate the eof flag, which isn't normally needed in NFSv2 |
589 | * as it is guaranteed to always return the file attributes | 589 | * as it is guaranteed to always return the file attributes |
590 | */ | 590 | */ |
591 | if (data->args.offset + data->res.count >= data->res.fattr->size) | 591 | if (hdr->args.offset + hdr->res.count >= hdr->res.fattr->size) |
592 | data->res.eof = 1; | 592 | hdr->res.eof = 1; |
593 | } | 593 | } |
594 | return 0; | 594 | return 0; |
595 | } | 595 | } |
596 | 596 | ||
597 | static void nfs_proc_read_setup(struct nfs_pgio_data *data, struct rpc_message *msg) | 597 | static void nfs_proc_read_setup(struct nfs_pgio_header *hdr, |
598 | struct rpc_message *msg) | ||
598 | { | 599 | { |
599 | msg->rpc_proc = &nfs_procedures[NFSPROC_READ]; | 600 | msg->rpc_proc = &nfs_procedures[NFSPROC_READ]; |
600 | } | 601 | } |
601 | 602 | ||
602 | static int nfs_proc_pgio_rpc_prepare(struct rpc_task *task, struct nfs_pgio_data *data) | 603 | static int nfs_proc_pgio_rpc_prepare(struct rpc_task *task, |
604 | struct nfs_pgio_header *hdr) | ||
603 | { | 605 | { |
604 | rpc_call_start(task); | 606 | rpc_call_start(task); |
605 | return 0; | 607 | return 0; |
606 | } | 608 | } |
607 | 609 | ||
608 | static int nfs_write_done(struct rpc_task *task, struct nfs_pgio_data *data) | 610 | static int nfs_write_done(struct rpc_task *task, struct nfs_pgio_header *hdr) |
609 | { | 611 | { |
610 | struct inode *inode = data->header->inode; | 612 | struct inode *inode = hdr->inode; |
611 | 613 | ||
612 | if (task->tk_status >= 0) | 614 | if (task->tk_status >= 0) |
613 | nfs_post_op_update_inode_force_wcc(inode, data->res.fattr); | 615 | nfs_post_op_update_inode_force_wcc(inode, hdr->res.fattr); |
614 | return 0; | 616 | return 0; |
615 | } | 617 | } |
616 | 618 | ||
617 | static void nfs_proc_write_setup(struct nfs_pgio_data *data, struct rpc_message *msg) | 619 | static void nfs_proc_write_setup(struct nfs_pgio_header *hdr, |
620 | struct rpc_message *msg) | ||
618 | { | 621 | { |
619 | /* Note: NFSv2 ignores @stable and always uses NFS_FILE_SYNC */ | 622 | /* Note: NFSv2 ignores @stable and always uses NFS_FILE_SYNC */ |
620 | data->args.stable = NFS_FILE_SYNC; | 623 | hdr->args.stable = NFS_FILE_SYNC; |
621 | msg->rpc_proc = &nfs_procedures[NFSPROC_WRITE]; | 624 | msg->rpc_proc = &nfs_procedures[NFSPROC_WRITE]; |
622 | } | 625 | } |
623 | 626 | ||