diff options
author | Anna Schumaker <Anna.Schumaker@netapp.com> | 2014-05-06 09:12:26 -0400 |
---|---|---|
committer | Trond Myklebust <trond.myklebust@primarydata.com> | 2014-05-28 18:12:47 -0400 |
commit | 9c7e1b3d50b56b8d8f6237ed232350b7c6476cd5 (patch) | |
tree | 4113ef7dcdbf7b55139f7765d7dc1044d7c0fd83 /fs/nfs/blocklayout | |
parent | 9137bdf3d241fc2cbeb2a8ced51d1546150aa6a1 (diff) |
NFS: Create a common read and write data struct
At this point, the only difference between nfs_read_data and
nfs_write_data is the write verifier.
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
Diffstat (limited to 'fs/nfs/blocklayout')
-rw-r--r-- | fs/nfs/blocklayout/blocklayout.c | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/fs/nfs/blocklayout/blocklayout.c b/fs/nfs/blocklayout/blocklayout.c index 65d849bdf77a..206cc68c9694 100644 --- a/fs/nfs/blocklayout/blocklayout.c +++ b/fs/nfs/blocklayout/blocklayout.c | |||
@@ -210,7 +210,7 @@ static void bl_end_io_read(struct bio *bio, int err) | |||
210 | SetPageUptodate(bvec->bv_page); | 210 | SetPageUptodate(bvec->bv_page); |
211 | 211 | ||
212 | if (err) { | 212 | if (err) { |
213 | struct nfs_read_data *rdata = par->data; | 213 | struct nfs_pgio_data *rdata = par->data; |
214 | struct nfs_pgio_header *header = rdata->header; | 214 | struct nfs_pgio_header *header = rdata->header; |
215 | 215 | ||
216 | if (!header->pnfs_error) | 216 | if (!header->pnfs_error) |
@@ -224,17 +224,17 @@ static void bl_end_io_read(struct bio *bio, int err) | |||
224 | static void bl_read_cleanup(struct work_struct *work) | 224 | static void bl_read_cleanup(struct work_struct *work) |
225 | { | 225 | { |
226 | struct rpc_task *task; | 226 | struct rpc_task *task; |
227 | struct nfs_read_data *rdata; | 227 | struct nfs_pgio_data *rdata; |
228 | dprintk("%s enter\n", __func__); | 228 | dprintk("%s enter\n", __func__); |
229 | task = container_of(work, struct rpc_task, u.tk_work); | 229 | task = container_of(work, struct rpc_task, u.tk_work); |
230 | rdata = container_of(task, struct nfs_read_data, task); | 230 | rdata = container_of(task, struct nfs_pgio_data, task); |
231 | pnfs_ld_read_done(rdata); | 231 | pnfs_ld_read_done(rdata); |
232 | } | 232 | } |
233 | 233 | ||
234 | static void | 234 | static void |
235 | bl_end_par_io_read(void *data, int unused) | 235 | bl_end_par_io_read(void *data, int unused) |
236 | { | 236 | { |
237 | struct nfs_read_data *rdata = data; | 237 | struct nfs_pgio_data *rdata = data; |
238 | 238 | ||
239 | rdata->task.tk_status = rdata->header->pnfs_error; | 239 | rdata->task.tk_status = rdata->header->pnfs_error; |
240 | INIT_WORK(&rdata->task.u.tk_work, bl_read_cleanup); | 240 | INIT_WORK(&rdata->task.u.tk_work, bl_read_cleanup); |
@@ -242,7 +242,7 @@ bl_end_par_io_read(void *data, int unused) | |||
242 | } | 242 | } |
243 | 243 | ||
244 | static enum pnfs_try_status | 244 | static enum pnfs_try_status |
245 | bl_read_pagelist(struct nfs_read_data *rdata) | 245 | bl_read_pagelist(struct nfs_pgio_data *rdata) |
246 | { | 246 | { |
247 | struct nfs_pgio_header *header = rdata->header; | 247 | struct nfs_pgio_header *header = rdata->header; |
248 | int i, hole; | 248 | int i, hole; |
@@ -390,7 +390,7 @@ static void bl_end_io_write_zero(struct bio *bio, int err) | |||
390 | } | 390 | } |
391 | 391 | ||
392 | if (unlikely(err)) { | 392 | if (unlikely(err)) { |
393 | struct nfs_write_data *data = par->data; | 393 | struct nfs_pgio_data *data = par->data; |
394 | struct nfs_pgio_header *header = data->header; | 394 | struct nfs_pgio_header *header = data->header; |
395 | 395 | ||
396 | if (!header->pnfs_error) | 396 | if (!header->pnfs_error) |
@@ -405,7 +405,7 @@ static void bl_end_io_write(struct bio *bio, int err) | |||
405 | { | 405 | { |
406 | struct parallel_io *par = bio->bi_private; | 406 | struct parallel_io *par = bio->bi_private; |
407 | const int uptodate = test_bit(BIO_UPTODATE, &bio->bi_flags); | 407 | const int uptodate = test_bit(BIO_UPTODATE, &bio->bi_flags); |
408 | struct nfs_write_data *data = par->data; | 408 | struct nfs_pgio_data *data = par->data; |
409 | struct nfs_pgio_header *header = data->header; | 409 | struct nfs_pgio_header *header = data->header; |
410 | 410 | ||
411 | if (!uptodate) { | 411 | if (!uptodate) { |
@@ -423,10 +423,10 @@ static void bl_end_io_write(struct bio *bio, int err) | |||
423 | static void bl_write_cleanup(struct work_struct *work) | 423 | static void bl_write_cleanup(struct work_struct *work) |
424 | { | 424 | { |
425 | struct rpc_task *task; | 425 | struct rpc_task *task; |
426 | struct nfs_write_data *wdata; | 426 | struct nfs_pgio_data *wdata; |
427 | dprintk("%s enter\n", __func__); | 427 | dprintk("%s enter\n", __func__); |
428 | task = container_of(work, struct rpc_task, u.tk_work); | 428 | task = container_of(work, struct rpc_task, u.tk_work); |
429 | wdata = container_of(task, struct nfs_write_data, task); | 429 | wdata = container_of(task, struct nfs_pgio_data, task); |
430 | if (likely(!wdata->header->pnfs_error)) { | 430 | if (likely(!wdata->header->pnfs_error)) { |
431 | /* Marks for LAYOUTCOMMIT */ | 431 | /* Marks for LAYOUTCOMMIT */ |
432 | mark_extents_written(BLK_LSEG2EXT(wdata->header->lseg), | 432 | mark_extents_written(BLK_LSEG2EXT(wdata->header->lseg), |
@@ -438,7 +438,7 @@ static void bl_write_cleanup(struct work_struct *work) | |||
438 | /* Called when last of bios associated with a bl_write_pagelist call finishes */ | 438 | /* Called when last of bios associated with a bl_write_pagelist call finishes */ |
439 | static void bl_end_par_io_write(void *data, int num_se) | 439 | static void bl_end_par_io_write(void *data, int num_se) |
440 | { | 440 | { |
441 | struct nfs_write_data *wdata = data; | 441 | struct nfs_pgio_data *wdata = data; |
442 | 442 | ||
443 | if (unlikely(wdata->header->pnfs_error)) { | 443 | if (unlikely(wdata->header->pnfs_error)) { |
444 | bl_free_short_extents(&BLK_LSEG2EXT(wdata->header->lseg)->bl_inval, | 444 | bl_free_short_extents(&BLK_LSEG2EXT(wdata->header->lseg)->bl_inval, |
@@ -673,7 +673,7 @@ check_page: | |||
673 | } | 673 | } |
674 | 674 | ||
675 | static enum pnfs_try_status | 675 | static enum pnfs_try_status |
676 | bl_write_pagelist(struct nfs_write_data *wdata, int sync) | 676 | bl_write_pagelist(struct nfs_pgio_data *wdata, int sync) |
677 | { | 677 | { |
678 | struct nfs_pgio_header *header = wdata->header; | 678 | struct nfs_pgio_header *header = wdata->header; |
679 | int i, ret, npg_zero, pg_index, last = 0; | 679 | int i, ret, npg_zero, pg_index, last = 0; |