aboutsummaryrefslogtreecommitdiffstats
path: root/fs/gfs2/lops.c
diff options
context:
space:
mode:
authorSteven Whitehouse <steve@chygwyn.com>2006-01-18 08:14:40 -0500
committerSteven Whitehouse <steve@chygwyn.com>2006-01-18 08:14:40 -0500
commit64fb4eb7d4cc9de89f4d9b9061adde46ed3b5641 (patch)
tree973c910cdf963f2e546ef0e8fcc93c16a7c04905 /fs/gfs2/lops.c
parent586dfdaaf328d79bb356d760db963b03a75a4131 (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.c20
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);