Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 38588
b: refs/heads/master
c: 64fb4eb
h: refs/heads/master
v: v3
  • Loading branch information
Steven Whitehouse committed Jan 18, 2006
1 parent 7ccd7a0 commit 1569230
Show file tree
Hide file tree
Showing 6 changed files with 25 additions and 33 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 586dfdaaf328d79bb356d760db963b03a75a4131
refs/heads/master: 64fb4eb7d4cc9de89f4d9b9061adde46ed3b5641
2 changes: 0 additions & 2 deletions trunk/fs/gfs2/gfs2.h
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,6 @@ enum {
#define set_v2fp(file, fp) (file)->private_data = (fp)
#define get_v2bd(bh) ((struct gfs2_bufdata *)(bh)->b_private)
#define set_v2bd(bh, bd) (bh)->b_private = (bd)
#define get_v2db(bh) ((struct gfs2_databuf *)(bh)->b_private)
#define set_v2db(bh, db) (bh)->b_private = (db)

#define get_transaction ((struct gfs2_trans *)(current->journal_info))
#define set_transaction(tr) (current->journal_info) = (tr)
Expand Down
6 changes: 0 additions & 6 deletions trunk/fs/gfs2/incore.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@ struct gfs2_log_element;
struct gfs2_bitmap;
struct gfs2_rgrpd;
struct gfs2_bufdata;
struct gfs2_databuf;
struct gfs2_glock_operations;
struct gfs2_holder;
struct gfs2_glock;
Expand Down Expand Up @@ -116,11 +115,6 @@ struct gfs2_bufdata {
struct list_head bd_ail_gl_list;
};

struct gfs2_databuf {
struct gfs2_log_element db_le;
struct buffer_head *db_bh;
};

struct gfs2_glock_operations {
void (*go_xmote_th) (struct gfs2_glock * gl, unsigned int state,
int flags);
Expand Down
20 changes: 10 additions & 10 deletions trunk/fs/gfs2/lops.c
Original file line number Diff line number Diff line change
Expand Up @@ -442,15 +442,15 @@ static void databuf_lo_before_commit(struct gfs2_sbd *sdp)
{
struct list_head *head = &sdp->sd_log_le_databuf;
LIST_HEAD(started);
struct gfs2_databuf *db;
struct gfs2_bufdata *bd;
struct buffer_head *bh;

while (!list_empty(head)) {
db = list_entry(head->prev, struct gfs2_databuf, db_le.le_list);
list_move(&db->db_le.le_list, &started);
bd = list_entry(head->prev, struct gfs2_bufdata, bd_le.le_list);
list_move(&bd->bd_le.le_list, &started);

gfs2_log_lock(sdp);
bh = db->db_bh;
bh = bd->bd_bh;
if (bh) {
get_bh(bh);
gfs2_log_unlock(sdp);
Expand All @@ -464,22 +464,22 @@ static void databuf_lo_before_commit(struct gfs2_sbd *sdp)
}

while (!list_empty(&started)) {
db = list_entry(started.next, struct gfs2_databuf,
db_le.le_list);
list_del(&db->db_le.le_list);
bd = list_entry(started.next, struct gfs2_bufdata,
bd_le.le_list);
list_del(&bd->bd_le.le_list);
sdp->sd_log_num_databuf--;

gfs2_log_lock(sdp);
bh = db->db_bh;
bh = bd->bd_bh;
if (bh) {
set_v2db(bh, NULL);
set_v2bd(bh, NULL);
gfs2_log_unlock(sdp);
wait_on_buffer(bh);
brelse(bh);
} else
gfs2_log_unlock(sdp);

kfree(db);
kfree(bd);
}

gfs2_assert_warn(sdp, !sdp->sd_log_num_databuf);
Expand Down
10 changes: 5 additions & 5 deletions trunk/fs/gfs2/ops_address.c
Original file line number Diff line number Diff line change
Expand Up @@ -429,13 +429,13 @@ static sector_t gfs2_bmap(struct address_space *mapping, sector_t lblock)

static void discard_buffer(struct gfs2_sbd *sdp, struct buffer_head *bh)
{
struct gfs2_databuf *db;
struct gfs2_bufdata *bd;

gfs2_log_lock(sdp);
db = get_v2db(bh);
if (db) {
db->db_bh = NULL;
set_v2db(bh, NULL);
bd = get_v2bd(bh);
if (bd) {
bd->bd_bh = NULL;
set_v2bd(bh, NULL);
gfs2_log_unlock(sdp);
brelse(bh);
} else
Expand Down
18 changes: 9 additions & 9 deletions trunk/fs/gfs2/trans.c
Original file line number Diff line number Diff line change
Expand Up @@ -199,17 +199,17 @@ void gfs2_trans_add_rg(struct gfs2_rgrpd *rgd)

void gfs2_trans_add_databuf(struct gfs2_sbd *sdp, struct buffer_head *bh)
{
struct gfs2_databuf *db;
struct gfs2_bufdata *bd;

db = get_v2db(bh);
if (!db) {
db = kmalloc(sizeof(struct gfs2_databuf),
GFP_KERNEL | __GFP_NOFAIL);
lops_init_le(&db->db_le, &gfs2_databuf_lops);
bd = get_v2bd(bh);
if (!bd) {
bd = kmalloc(sizeof(struct gfs2_bufdata),
GFP_NOFS | __GFP_NOFAIL);
lops_init_le(&bd->bd_le, &gfs2_databuf_lops);
get_bh(bh);
db->db_bh = bh;
set_v2db(bh, db);
lops_add(sdp, &db->db_le);
bd->bd_bh = bh;
set_v2bd(bh, bd);
lops_add(sdp, &bd->bd_le);
}
}

0 comments on commit 1569230

Please sign in to comment.