diff options
author | Weston Andros Adamson <dros@primarydata.com> | 2014-06-09 11:48:34 -0400 |
---|---|---|
committer | Trond Myklebust <trond.myklebust@primarydata.com> | 2014-06-24 18:46:59 -0400 |
commit | 823b0c9d9800e712374cda89ac3565bd29f6701b (patch) | |
tree | fb86962395e28b0cc678c23833c7a80446a85291 | |
parent | 1e7f3a485922211b6e4a082ebc6bf05810b0b6ea (diff) |
nfs: rename members of nfs_pgio_data
Rename "verf" to "writeverf" and "pages" to "page_array" to prepare for
merge of nfs_pgio_data and nfs_pgio_header.
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>
-rw-r--r-- | fs/nfs/blocklayout/blocklayout.c | 17 | ||||
-rw-r--r-- | fs/nfs/objlayout/objlayout.c | 4 | ||||
-rw-r--r-- | fs/nfs/pagelist.c | 12 | ||||
-rw-r--r-- | fs/nfs/write.c | 9 | ||||
-rw-r--r-- | include/linux/nfs_xdr.h | 4 |
5 files changed, 25 insertions, 21 deletions
diff --git a/fs/nfs/blocklayout/blocklayout.c b/fs/nfs/blocklayout/blocklayout.c index 9b431f44fad9..36b01cef849e 100644 --- a/fs/nfs/blocklayout/blocklayout.c +++ b/fs/nfs/blocklayout/blocklayout.c | |||
@@ -258,7 +258,8 @@ bl_read_pagelist(struct nfs_pgio_data *rdata) | |||
258 | const bool is_dio = (header->dreq != NULL); | 258 | const bool is_dio = (header->dreq != NULL); |
259 | 259 | ||
260 | dprintk("%s enter nr_pages %u offset %lld count %u\n", __func__, | 260 | dprintk("%s enter nr_pages %u offset %lld count %u\n", __func__, |
261 | rdata->pages.npages, f_offset, (unsigned int)rdata->args.count); | 261 | rdata->page_array.npages, f_offset, |
262 | (unsigned int)rdata->args.count); | ||
262 | 263 | ||
263 | par = alloc_parallel(rdata); | 264 | par = alloc_parallel(rdata); |
264 | if (!par) | 265 | if (!par) |
@@ -268,7 +269,7 @@ bl_read_pagelist(struct nfs_pgio_data *rdata) | |||
268 | 269 | ||
269 | isect = (sector_t) (f_offset >> SECTOR_SHIFT); | 270 | isect = (sector_t) (f_offset >> SECTOR_SHIFT); |
270 | /* Code assumes extents are page-aligned */ | 271 | /* Code assumes extents are page-aligned */ |
271 | for (i = pg_index; i < rdata->pages.npages; i++) { | 272 | for (i = pg_index; i < rdata->page_array.npages; i++) { |
272 | if (!extent_length) { | 273 | if (!extent_length) { |
273 | /* We've used up the previous extent */ | 274 | /* We've used up the previous extent */ |
274 | bl_put_extent(be); | 275 | bl_put_extent(be); |
@@ -317,7 +318,8 @@ bl_read_pagelist(struct nfs_pgio_data *rdata) | |||
317 | struct pnfs_block_extent *be_read; | 318 | struct pnfs_block_extent *be_read; |
318 | 319 | ||
319 | be_read = (hole && cow_read) ? cow_read : be; | 320 | be_read = (hole && cow_read) ? cow_read : be; |
320 | bio = do_add_page_to_bio(bio, rdata->pages.npages - i, | 321 | bio = do_add_page_to_bio(bio, |
322 | rdata->page_array.npages - i, | ||
321 | READ, | 323 | READ, |
322 | isect, pages[i], be_read, | 324 | isect, pages[i], be_read, |
323 | bl_end_io_read, par, | 325 | bl_end_io_read, par, |
@@ -446,7 +448,7 @@ static void bl_end_par_io_write(void *data, int num_se) | |||
446 | } | 448 | } |
447 | 449 | ||
448 | wdata->task.tk_status = wdata->header->pnfs_error; | 450 | wdata->task.tk_status = wdata->header->pnfs_error; |
449 | wdata->verf.committed = NFS_FILE_SYNC; | 451 | wdata->writeverf.committed = NFS_FILE_SYNC; |
450 | INIT_WORK(&wdata->task.u.tk_work, bl_write_cleanup); | 452 | INIT_WORK(&wdata->task.u.tk_work, bl_write_cleanup); |
451 | schedule_work(&wdata->task.u.tk_work); | 453 | schedule_work(&wdata->task.u.tk_work); |
452 | } | 454 | } |
@@ -699,7 +701,7 @@ bl_write_pagelist(struct nfs_pgio_data *wdata, int sync) | |||
699 | dprintk("pnfsblock nonblock aligned DIO writes. Resend MDS\n"); | 701 | dprintk("pnfsblock nonblock aligned DIO writes. Resend MDS\n"); |
700 | goto out_mds; | 702 | goto out_mds; |
701 | } | 703 | } |
702 | /* At this point, wdata->pages is a (sequential) list of nfs_pages. | 704 | /* At this point, wdata->page_aray is a (sequential) list of nfs_pages. |
703 | * We want to write each, and if there is an error set pnfs_error | 705 | * We want to write each, and if there is an error set pnfs_error |
704 | * to have it redone using nfs. | 706 | * to have it redone using nfs. |
705 | */ | 707 | */ |
@@ -791,7 +793,7 @@ next_page: | |||
791 | 793 | ||
792 | /* Middle pages */ | 794 | /* Middle pages */ |
793 | pg_index = wdata->args.pgbase >> PAGE_CACHE_SHIFT; | 795 | pg_index = wdata->args.pgbase >> PAGE_CACHE_SHIFT; |
794 | for (i = pg_index; i < wdata->pages.npages; i++) { | 796 | for (i = pg_index; i < wdata->page_array.npages; i++) { |
795 | if (!extent_length) { | 797 | if (!extent_length) { |
796 | /* We've used up the previous extent */ | 798 | /* We've used up the previous extent */ |
797 | bl_put_extent(be); | 799 | bl_put_extent(be); |
@@ -862,7 +864,8 @@ next_page: | |||
862 | } | 864 | } |
863 | 865 | ||
864 | 866 | ||
865 | bio = do_add_page_to_bio(bio, wdata->pages.npages - i, WRITE, | 867 | bio = do_add_page_to_bio(bio, wdata->page_array.npages - i, |
868 | WRITE, | ||
866 | isect, pages[i], be, | 869 | isect, pages[i], be, |
867 | bl_end_io_write, par, | 870 | bl_end_io_write, par, |
868 | pg_offset, pg_len); | 871 | pg_offset, pg_len); |
diff --git a/fs/nfs/objlayout/objlayout.c b/fs/nfs/objlayout/objlayout.c index 765d3f54e986..31fed91a8bac 100644 --- a/fs/nfs/objlayout/objlayout.c +++ b/fs/nfs/objlayout/objlayout.c | |||
@@ -329,7 +329,7 @@ objlayout_write_done(struct objlayout_io_res *oir, ssize_t status, bool sync) | |||
329 | oir->status = wdata->task.tk_status = status; | 329 | oir->status = wdata->task.tk_status = status; |
330 | if (status >= 0) { | 330 | if (status >= 0) { |
331 | wdata->res.count = status; | 331 | wdata->res.count = status; |
332 | wdata->verf.committed = oir->committed; | 332 | wdata->writeverf.committed = oir->committed; |
333 | } else { | 333 | } else { |
334 | wdata->header->pnfs_error = status; | 334 | wdata->header->pnfs_error = status; |
335 | } | 335 | } |
@@ -337,7 +337,7 @@ objlayout_write_done(struct objlayout_io_res *oir, ssize_t status, bool sync) | |||
337 | /* must not use oir after this point */ | 337 | /* must not use oir after this point */ |
338 | 338 | ||
339 | dprintk("%s: Return status %zd committed %d sync=%d\n", __func__, | 339 | dprintk("%s: Return status %zd committed %d sync=%d\n", __func__, |
340 | status, wdata->verf.committed, sync); | 340 | status, wdata->writeverf.committed, sync); |
341 | 341 | ||
342 | if (sync) | 342 | if (sync) |
343 | pnfs_ld_write_done(wdata); | 343 | pnfs_ld_write_done(wdata); |
diff --git a/fs/nfs/pagelist.c b/fs/nfs/pagelist.c index e4cde476562f..5e70918f6c95 100644 --- a/fs/nfs/pagelist.c +++ b/fs/nfs/pagelist.c | |||
@@ -484,7 +484,7 @@ EXPORT_SYMBOL_GPL(nfs_pgio_header_free); | |||
484 | static bool nfs_pgio_data_init(struct nfs_pgio_header *hdr, | 484 | static bool nfs_pgio_data_init(struct nfs_pgio_header *hdr, |
485 | unsigned int pagecount) | 485 | unsigned int pagecount) |
486 | { | 486 | { |
487 | if (nfs_pgarray_set(&hdr->data.pages, pagecount)) { | 487 | if (nfs_pgarray_set(&hdr->data.page_array, pagecount)) { |
488 | hdr->data.header = hdr; | 488 | hdr->data.header = hdr; |
489 | atomic_inc(&hdr->refcnt); | 489 | atomic_inc(&hdr->refcnt); |
490 | return true; | 490 | return true; |
@@ -501,8 +501,8 @@ void nfs_pgio_data_destroy(struct nfs_pgio_data *data) | |||
501 | struct nfs_pgio_header *hdr = data->header; | 501 | struct nfs_pgio_header *hdr = data->header; |
502 | 502 | ||
503 | put_nfs_open_context(data->args.context); | 503 | put_nfs_open_context(data->args.context); |
504 | if (data->pages.pagevec != data->pages.page_array) | 504 | if (data->page_array.pagevec != data->page_array.page_array) |
505 | kfree(data->pages.pagevec); | 505 | kfree(data->page_array.pagevec); |
506 | if (atomic_dec_and_test(&hdr->refcnt)) | 506 | if (atomic_dec_and_test(&hdr->refcnt)) |
507 | hdr->completion_ops->completion(hdr); | 507 | hdr->completion_ops->completion(hdr); |
508 | } | 508 | } |
@@ -530,7 +530,7 @@ static void nfs_pgio_rpcsetup(struct nfs_pgio_data *data, | |||
530 | /* pnfs_set_layoutcommit needs this */ | 530 | /* pnfs_set_layoutcommit needs this */ |
531 | data->mds_offset = data->args.offset; | 531 | data->mds_offset = data->args.offset; |
532 | data->args.pgbase = req->wb_pgbase + offset; | 532 | data->args.pgbase = req->wb_pgbase + offset; |
533 | data->args.pages = data->pages.pagevec; | 533 | data->args.pages = data->page_array.pagevec; |
534 | data->args.count = count; | 534 | data->args.count = count; |
535 | data->args.context = get_nfs_open_context(req->wb_context); | 535 | data->args.context = get_nfs_open_context(req->wb_context); |
536 | data->args.lock_context = req->wb_lock_context; | 536 | data->args.lock_context = req->wb_lock_context; |
@@ -548,7 +548,7 @@ static void nfs_pgio_rpcsetup(struct nfs_pgio_data *data, | |||
548 | data->res.fattr = &data->fattr; | 548 | data->res.fattr = &data->fattr; |
549 | data->res.count = count; | 549 | data->res.count = count; |
550 | data->res.eof = 0; | 550 | data->res.eof = 0; |
551 | data->res.verf = &data->verf; | 551 | data->res.verf = &data->writeverf; |
552 | nfs_fattr_init(&data->fattr); | 552 | nfs_fattr_init(&data->fattr); |
553 | } | 553 | } |
554 | 554 | ||
@@ -717,7 +717,7 @@ int nfs_generic_pgio(struct nfs_pageio_descriptor *desc, | |||
717 | 717 | ||
718 | data = &hdr->data; | 718 | data = &hdr->data; |
719 | nfs_init_cinfo(&cinfo, desc->pg_inode, desc->pg_dreq); | 719 | nfs_init_cinfo(&cinfo, desc->pg_inode, desc->pg_dreq); |
720 | pages = data->pages.pagevec; | 720 | pages = data->page_array.pagevec; |
721 | while (!list_empty(head)) { | 721 | while (!list_empty(head)) { |
722 | req = nfs_list_entry(head->next); | 722 | req = nfs_list_entry(head->next); |
723 | nfs_list_remove_request(req); | 723 | nfs_list_remove_request(req); |
diff --git a/fs/nfs/write.c b/fs/nfs/write.c index d694952f0071..6afe0f679420 100644 --- a/fs/nfs/write.c +++ b/fs/nfs/write.c | |||
@@ -598,9 +598,9 @@ nfs_clear_request_commit(struct nfs_page *req) | |||
598 | static inline | 598 | static inline |
599 | int nfs_write_need_commit(struct nfs_pgio_data *data) | 599 | int nfs_write_need_commit(struct nfs_pgio_data *data) |
600 | { | 600 | { |
601 | if (data->verf.committed == NFS_DATA_SYNC) | 601 | if (data->writeverf.committed == NFS_DATA_SYNC) |
602 | return data->header->lseg == NULL; | 602 | return data->header->lseg == NULL; |
603 | return data->verf.committed != NFS_FILE_SYNC; | 603 | return data->writeverf.committed != NFS_FILE_SYNC; |
604 | } | 604 | } |
605 | 605 | ||
606 | #else | 606 | #else |
@@ -1095,8 +1095,9 @@ static void nfs_writeback_release_common(struct nfs_pgio_data *data) | |||
1095 | if (test_bit(NFS_IOHDR_NEED_RESCHED, &hdr->flags)) | 1095 | if (test_bit(NFS_IOHDR_NEED_RESCHED, &hdr->flags)) |
1096 | ; /* Do nothing */ | 1096 | ; /* Do nothing */ |
1097 | else if (!test_and_set_bit(NFS_IOHDR_NEED_COMMIT, &hdr->flags)) | 1097 | else if (!test_and_set_bit(NFS_IOHDR_NEED_COMMIT, &hdr->flags)) |
1098 | memcpy(&hdr->verf, &data->verf, sizeof(hdr->verf)); | 1098 | memcpy(&hdr->verf, &data->writeverf, sizeof(hdr->verf)); |
1099 | else if (memcmp(&hdr->verf, &data->verf, sizeof(hdr->verf))) | 1099 | else if (memcmp(&hdr->verf, &data->writeverf, |
1100 | sizeof(hdr->verf))) | ||
1100 | set_bit(NFS_IOHDR_NEED_RESCHED, &hdr->flags); | 1101 | set_bit(NFS_IOHDR_NEED_RESCHED, &hdr->flags); |
1101 | spin_unlock(&hdr->lock); | 1102 | spin_unlock(&hdr->lock); |
1102 | } | 1103 | } |
diff --git a/include/linux/nfs_xdr.h b/include/linux/nfs_xdr.h index e1c9437e8aac..bb18dba1aefe 100644 --- a/include/linux/nfs_xdr.h +++ b/include/linux/nfs_xdr.h | |||
@@ -1262,13 +1262,13 @@ struct nfs_pgio_data { | |||
1262 | struct list_head list; | 1262 | struct list_head list; |
1263 | struct rpc_task task; | 1263 | struct rpc_task task; |
1264 | struct nfs_fattr fattr; | 1264 | struct nfs_fattr fattr; |
1265 | struct nfs_writeverf verf; /* Used for writes */ | 1265 | struct nfs_writeverf writeverf; /* Used for writes */ |
1266 | struct nfs_pgio_args args; /* argument struct */ | 1266 | struct nfs_pgio_args args; /* argument struct */ |
1267 | struct nfs_pgio_res res; /* result struct */ | 1267 | struct nfs_pgio_res res; /* result struct */ |
1268 | unsigned long timestamp; /* For lease renewal */ | 1268 | unsigned long timestamp; /* For lease renewal */ |
1269 | int (*pgio_done_cb)(struct rpc_task *task, struct nfs_pgio_data *data); | 1269 | int (*pgio_done_cb)(struct rpc_task *task, struct nfs_pgio_data *data); |
1270 | __u64 mds_offset; /* Filelayout dense stripe */ | 1270 | __u64 mds_offset; /* Filelayout dense stripe */ |
1271 | struct nfs_page_array pages; | 1271 | struct nfs_page_array page_array; |
1272 | struct nfs_client *ds_clp; /* pNFS data server */ | 1272 | struct nfs_client *ds_clp; /* pNFS data server */ |
1273 | int ds_idx; /* ds index if ds_clp is set */ | 1273 | int ds_idx; /* ds index if ds_clp is set */ |
1274 | }; | 1274 | }; |