diff options
Diffstat (limited to 'fs/nfs/write.c')
-rw-r--r-- | fs/nfs/write.c | 46 |
1 files changed, 4 insertions, 42 deletions
diff --git a/fs/nfs/write.c b/fs/nfs/write.c index d877f15fb31a..0d367aa87814 100644 --- a/fs/nfs/write.c +++ b/fs/nfs/write.c | |||
@@ -603,7 +603,7 @@ out: | |||
603 | } | 603 | } |
604 | 604 | ||
605 | #if IS_ENABLED(CONFIG_NFS_V3) || IS_ENABLED(CONFIG_NFS_V4) | 605 | #if IS_ENABLED(CONFIG_NFS_V3) || IS_ENABLED(CONFIG_NFS_V4) |
606 | static unsigned long | 606 | unsigned long |
607 | nfs_reqs_to_commit(struct nfs_commit_info *cinfo) | 607 | nfs_reqs_to_commit(struct nfs_commit_info *cinfo) |
608 | { | 608 | { |
609 | return cinfo->mds->ncommit; | 609 | return cinfo->mds->ncommit; |
@@ -660,7 +660,7 @@ nfs_scan_commit(struct inode *inode, struct list_head *dst, | |||
660 | } | 660 | } |
661 | 661 | ||
662 | #else | 662 | #else |
663 | static unsigned long nfs_reqs_to_commit(struct nfs_commit_info *cinfo) | 663 | unsigned long nfs_reqs_to_commit(struct nfs_commit_info *cinfo) |
664 | { | 664 | { |
665 | return 0; | 665 | return 0; |
666 | } | 666 | } |
@@ -987,44 +987,6 @@ out: | |||
987 | } | 987 | } |
988 | EXPORT_SYMBOL_GPL(nfs_initiate_write); | 988 | EXPORT_SYMBOL_GPL(nfs_initiate_write); |
989 | 989 | ||
990 | /* | ||
991 | * Set up the argument/result storage required for the RPC call. | ||
992 | */ | ||
993 | static void nfs_write_rpcsetup(struct nfs_pgio_data *data, | ||
994 | unsigned int count, unsigned int offset, | ||
995 | int how, struct nfs_commit_info *cinfo) | ||
996 | { | ||
997 | struct nfs_page *req = data->header->req; | ||
998 | |||
999 | /* Set up the RPC argument and reply structs | ||
1000 | * NB: take care not to mess about with data->commit et al. */ | ||
1001 | |||
1002 | data->args.fh = NFS_FH(data->header->inode); | ||
1003 | data->args.offset = req_offset(req) + offset; | ||
1004 | /* pnfs_set_layoutcommit needs this */ | ||
1005 | data->mds_offset = data->args.offset; | ||
1006 | data->args.pgbase = req->wb_pgbase + offset; | ||
1007 | data->args.pages = data->pages.pagevec; | ||
1008 | data->args.count = count; | ||
1009 | data->args.context = get_nfs_open_context(req->wb_context); | ||
1010 | data->args.lock_context = req->wb_lock_context; | ||
1011 | data->args.stable = NFS_UNSTABLE; | ||
1012 | switch (how & (FLUSH_STABLE | FLUSH_COND_STABLE)) { | ||
1013 | case 0: | ||
1014 | break; | ||
1015 | case FLUSH_COND_STABLE: | ||
1016 | if (nfs_reqs_to_commit(cinfo)) | ||
1017 | break; | ||
1018 | default: | ||
1019 | data->args.stable = NFS_FILE_SYNC; | ||
1020 | } | ||
1021 | |||
1022 | data->res.fattr = &data->fattr; | ||
1023 | data->res.count = count; | ||
1024 | data->res.verf = &data->verf; | ||
1025 | nfs_fattr_init(&data->fattr); | ||
1026 | } | ||
1027 | |||
1028 | static int nfs_do_write(struct nfs_pgio_data *data, | 990 | static int nfs_do_write(struct nfs_pgio_data *data, |
1029 | const struct rpc_call_ops *call_ops, | 991 | const struct rpc_call_ops *call_ops, |
1030 | int how) | 992 | int how) |
@@ -1129,7 +1091,7 @@ static int nfs_flush_multi(struct nfs_pageio_descriptor *desc, | |||
1129 | return -ENOMEM; | 1091 | return -ENOMEM; |
1130 | } | 1092 | } |
1131 | data->pages.pagevec[0] = page; | 1093 | data->pages.pagevec[0] = page; |
1132 | nfs_write_rpcsetup(data, len, offset, desc->pg_ioflags, &cinfo); | 1094 | nfs_pgio_rpcsetup(data, len, offset, desc->pg_ioflags, &cinfo); |
1133 | list_add(&data->list, &hdr->rpc_list); | 1095 | list_add(&data->list, &hdr->rpc_list); |
1134 | requests++; | 1096 | requests++; |
1135 | nbytes -= len; | 1097 | nbytes -= len; |
@@ -1179,7 +1141,7 @@ static int nfs_flush_one(struct nfs_pageio_descriptor *desc, | |||
1179 | desc->pg_ioflags &= ~FLUSH_COND_STABLE; | 1141 | desc->pg_ioflags &= ~FLUSH_COND_STABLE; |
1180 | 1142 | ||
1181 | /* Set up the argument struct */ | 1143 | /* Set up the argument struct */ |
1182 | nfs_write_rpcsetup(data, desc->pg_count, 0, desc->pg_ioflags, &cinfo); | 1144 | nfs_pgio_rpcsetup(data, desc->pg_count, 0, desc->pg_ioflags, &cinfo); |
1183 | list_add(&data->list, &hdr->rpc_list); | 1145 | list_add(&data->list, &hdr->rpc_list); |
1184 | desc->pg_rpc_callops = &nfs_pgio_common_ops; | 1146 | desc->pg_rpc_callops = &nfs_pgio_common_ops; |
1185 | return 0; | 1147 | return 0; |