aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfs/write.c
diff options
context:
space:
mode:
authorWeston Andros Adamson <dros@primarydata.com>2014-06-09 11:48:36 -0400
committerTrond Myklebust <trond.myklebust@primarydata.com>2014-06-24 18:47:00 -0400
commitc65e6254ca4db1584c5bf5f228ee26556477a9fd (patch)
treee182886537257fa1b9415bb911103fd9fa840024 /fs/nfs/write.c
parentd45f60c67848b9f19160692581d78e5b4757a000 (diff)
nfs: remove unused writeverf code
Remove duplicate writeverf structure from merge of nfs_pgio_header and nfs_pgio_data and remove writeverf related flags and logic to handle more than one RPC per nfs_pgio_header. Signed-off-by: Weston Andros Adamson <dros@primarydata.com> Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
Diffstat (limited to 'fs/nfs/write.c')
-rw-r--r--fs/nfs/write.c27
1 files changed, 5 insertions, 22 deletions
diff --git a/fs/nfs/write.c b/fs/nfs/write.c
index 6a2d0986a3a3..8534ee5c207d 100644
--- a/fs/nfs/write.c
+++ b/fs/nfs/write.c
@@ -595,12 +595,11 @@ nfs_clear_request_commit(struct nfs_page *req)
595 } 595 }
596} 596}
597 597
598static inline
599int nfs_write_need_commit(struct nfs_pgio_header *hdr) 598int nfs_write_need_commit(struct nfs_pgio_header *hdr)
600{ 599{
601 if (hdr->writeverf.committed == NFS_DATA_SYNC) 600 if (hdr->verf.committed == NFS_DATA_SYNC)
602 return hdr->lseg == NULL; 601 return hdr->lseg == NULL;
603 return hdr->writeverf.committed != NFS_FILE_SYNC; 602 return hdr->verf.committed != NFS_FILE_SYNC;
604} 603}
605 604
606#else 605#else
@@ -626,7 +625,6 @@ nfs_clear_request_commit(struct nfs_page *req)
626{ 625{
627} 626}
628 627
629static inline
630int nfs_write_need_commit(struct nfs_pgio_header *hdr) 628int nfs_write_need_commit(struct nfs_pgio_header *hdr)
631{ 629{
632 return 0; 630 return 0;
@@ -654,11 +652,7 @@ static void nfs_write_completion(struct nfs_pgio_header *hdr)
654 nfs_context_set_write_error(req->wb_context, hdr->error); 652 nfs_context_set_write_error(req->wb_context, hdr->error);
655 goto remove_req; 653 goto remove_req;
656 } 654 }
657 if (test_bit(NFS_IOHDR_NEED_RESCHED, &hdr->flags)) { 655 if (nfs_write_need_commit(hdr)) {
658 nfs_mark_request_dirty(req);
659 goto next;
660 }
661 if (test_bit(NFS_IOHDR_NEED_COMMIT, &hdr->flags)) {
662 memcpy(&req->wb_verf, &hdr->verf.verifier, sizeof(req->wb_verf)); 656 memcpy(&req->wb_verf, &hdr->verf.verifier, sizeof(req->wb_verf));
663 nfs_mark_request_commit(req, hdr->lseg, &cinfo); 657 nfs_mark_request_commit(req, hdr->lseg, &cinfo);
664 goto next; 658 goto next;
@@ -668,7 +662,7 @@ remove_req:
668next: 662next:
669 nfs_unlock_request(req); 663 nfs_unlock_request(req);
670 nfs_end_page_writeback(req); 664 nfs_end_page_writeback(req);
671 do_destroy = !test_bit(NFS_IOHDR_NEED_COMMIT, &hdr->flags); 665 do_destroy = !nfs_write_need_commit(hdr);
672 nfs_release_request(req); 666 nfs_release_request(req);
673 } 667 }
674out: 668out:
@@ -1088,18 +1082,7 @@ void nfs_commit_prepare(struct rpc_task *task, void *calldata)
1088 1082
1089static void nfs_writeback_release_common(struct nfs_pgio_header *hdr) 1083static void nfs_writeback_release_common(struct nfs_pgio_header *hdr)
1090{ 1084{
1091 int status = hdr->task.tk_status; 1085 /* do nothing! */
1092
1093 if ((status >= 0) && nfs_write_need_commit(hdr)) {
1094 spin_lock(&hdr->lock);
1095 if (test_bit(NFS_IOHDR_NEED_RESCHED, &hdr->flags))
1096 ; /* Do nothing */
1097 else if (!test_and_set_bit(NFS_IOHDR_NEED_COMMIT, &hdr->flags))
1098 memcpy(&hdr->verf, &hdr->writeverf, sizeof(hdr->verf));
1099 else if (memcmp(&hdr->verf, &hdr->writeverf, sizeof(hdr->verf)))
1100 set_bit(NFS_IOHDR_NEED_RESCHED, &hdr->flags);
1101 spin_unlock(&hdr->lock);
1102 }
1103} 1086}
1104 1087
1105/* 1088/*