diff options
author | Steven Whitehouse <steve@chygwyn.com> | 2006-01-18 08:14:40 -0500 |
---|---|---|
committer | Steven Whitehouse <steve@chygwyn.com> | 2006-01-18 08:14:40 -0500 |
commit | 64fb4eb7d4cc9de89f4d9b9061adde46ed3b5641 (patch) | |
tree | 973c910cdf963f2e546ef0e8fcc93c16a7c04905 /fs/gfs2/lops.c | |
parent | 586dfdaaf328d79bb356d760db963b03a75a4131 (diff) |
[GFS2] Remove gfs2_databuf in favour of gfs2_bufdata structure
Removing the gfs2_databuf structure and using gfs2_bufdata instead
is a step towards allowing journaling of data without requiring the
metadata header on each journaled block. The idea is to merge the
code paths for ordered data with that of journaled data, with the
log operations in lops.c tacking account of the different types of
buffers as they are presented to it. Largely the code path for
metadata will be similar too, but obviously through a different set
of log operations.
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Diffstat (limited to 'fs/gfs2/lops.c')
-rw-r--r-- | fs/gfs2/lops.c | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/fs/gfs2/lops.c b/fs/gfs2/lops.c index d501e8224ed0..efb1087d0fa8 100644 --- a/fs/gfs2/lops.c +++ b/fs/gfs2/lops.c | |||
@@ -442,15 +442,15 @@ static void databuf_lo_before_commit(struct gfs2_sbd *sdp) | |||
442 | { | 442 | { |
443 | struct list_head *head = &sdp->sd_log_le_databuf; | 443 | struct list_head *head = &sdp->sd_log_le_databuf; |
444 | LIST_HEAD(started); | 444 | LIST_HEAD(started); |
445 | struct gfs2_databuf *db; | 445 | struct gfs2_bufdata *bd; |
446 | struct buffer_head *bh; | 446 | struct buffer_head *bh; |
447 | 447 | ||
448 | while (!list_empty(head)) { | 448 | while (!list_empty(head)) { |
449 | db = list_entry(head->prev, struct gfs2_databuf, db_le.le_list); | 449 | bd = list_entry(head->prev, struct gfs2_bufdata, bd_le.le_list); |
450 | list_move(&db->db_le.le_list, &started); | 450 | list_move(&bd->bd_le.le_list, &started); |
451 | 451 | ||
452 | gfs2_log_lock(sdp); | 452 | gfs2_log_lock(sdp); |
453 | bh = db->db_bh; | 453 | bh = bd->bd_bh; |
454 | if (bh) { | 454 | if (bh) { |
455 | get_bh(bh); | 455 | get_bh(bh); |
456 | gfs2_log_unlock(sdp); | 456 | gfs2_log_unlock(sdp); |
@@ -464,22 +464,22 @@ static void databuf_lo_before_commit(struct gfs2_sbd *sdp) | |||
464 | } | 464 | } |
465 | 465 | ||
466 | while (!list_empty(&started)) { | 466 | while (!list_empty(&started)) { |
467 | db = list_entry(started.next, struct gfs2_databuf, | 467 | bd = list_entry(started.next, struct gfs2_bufdata, |
468 | db_le.le_list); | 468 | bd_le.le_list); |
469 | list_del(&db->db_le.le_list); | 469 | list_del(&bd->bd_le.le_list); |
470 | sdp->sd_log_num_databuf--; | 470 | sdp->sd_log_num_databuf--; |
471 | 471 | ||
472 | gfs2_log_lock(sdp); | 472 | gfs2_log_lock(sdp); |
473 | bh = db->db_bh; | 473 | bh = bd->bd_bh; |
474 | if (bh) { | 474 | if (bh) { |
475 | set_v2db(bh, NULL); | 475 | set_v2bd(bh, NULL); |
476 | gfs2_log_unlock(sdp); | 476 | gfs2_log_unlock(sdp); |
477 | wait_on_buffer(bh); | 477 | wait_on_buffer(bh); |
478 | brelse(bh); | 478 | brelse(bh); |
479 | } else | 479 | } else |
480 | gfs2_log_unlock(sdp); | 480 | gfs2_log_unlock(sdp); |
481 | 481 | ||
482 | kfree(db); | 482 | kfree(bd); |
483 | } | 483 | } |
484 | 484 | ||
485 | gfs2_assert_warn(sdp, !sdp->sd_log_num_databuf); | 485 | gfs2_assert_warn(sdp, !sdp->sd_log_num_databuf); |