mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-13 23:34:05 +08:00
GFS2: Merge revoke adding functions
This moves the lo_add function for revokes into trans.c, removing a function call and making the code easier to read. Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
This commit is contained in:
parent
2a00585593
commit
75f2b879ae
@ -600,20 +600,6 @@ static void buf_lo_after_scan(struct gfs2_jdesc *jd, int error, int pass)
|
|||||||
jd->jd_jid, sdp->sd_replayed_blocks, sdp->sd_found_blocks);
|
jd->jd_jid, sdp->sd_replayed_blocks, sdp->sd_found_blocks);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void revoke_lo_add(struct gfs2_sbd *sdp, struct gfs2_bufdata *bd)
|
|
||||||
{
|
|
||||||
struct gfs2_glock *gl = bd->bd_gl;
|
|
||||||
struct gfs2_trans *tr;
|
|
||||||
|
|
||||||
tr = current->journal_info;
|
|
||||||
tr->tr_touched = 1;
|
|
||||||
tr->tr_num_revoke++;
|
|
||||||
sdp->sd_log_num_revoke++;
|
|
||||||
atomic_inc(&gl->gl_revokes);
|
|
||||||
set_bit(GLF_LFLUSH, &gl->gl_flags);
|
|
||||||
list_add(&bd->bd_list, &sdp->sd_log_le_revoke);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void revoke_lo_before_commit(struct gfs2_sbd *sdp)
|
static void revoke_lo_before_commit(struct gfs2_sbd *sdp)
|
||||||
{
|
{
|
||||||
struct gfs2_meta_header *mh;
|
struct gfs2_meta_header *mh;
|
||||||
@ -895,7 +881,6 @@ const struct gfs2_log_operations gfs2_buf_lops = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const struct gfs2_log_operations gfs2_revoke_lops = {
|
const struct gfs2_log_operations gfs2_revoke_lops = {
|
||||||
.lo_add = revoke_lo_add,
|
|
||||||
.lo_before_commit = revoke_lo_before_commit,
|
.lo_before_commit = revoke_lo_before_commit,
|
||||||
.lo_after_commit = revoke_lo_after_commit,
|
.lo_after_commit = revoke_lo_after_commit,
|
||||||
.lo_before_scan = revoke_lo_before_scan,
|
.lo_before_scan = revoke_lo_before_scan,
|
||||||
|
@ -175,11 +175,19 @@ void gfs2_trans_add_bh(struct gfs2_glock *gl, struct buffer_head *bh, int meta)
|
|||||||
|
|
||||||
void gfs2_trans_add_revoke(struct gfs2_sbd *sdp, struct gfs2_bufdata *bd)
|
void gfs2_trans_add_revoke(struct gfs2_sbd *sdp, struct gfs2_bufdata *bd)
|
||||||
{
|
{
|
||||||
|
struct gfs2_glock *gl = bd->bd_gl;
|
||||||
|
struct gfs2_trans *tr = current->journal_info;
|
||||||
|
|
||||||
BUG_ON(!list_empty(&bd->bd_list));
|
BUG_ON(!list_empty(&bd->bd_list));
|
||||||
BUG_ON(!list_empty(&bd->bd_ail_st_list));
|
BUG_ON(!list_empty(&bd->bd_ail_st_list));
|
||||||
BUG_ON(!list_empty(&bd->bd_ail_gl_list));
|
BUG_ON(!list_empty(&bd->bd_ail_gl_list));
|
||||||
lops_init_le(bd, &gfs2_revoke_lops);
|
lops_init_le(bd, &gfs2_revoke_lops);
|
||||||
lops_add(sdp, bd);
|
tr->tr_touched = 1;
|
||||||
|
tr->tr_num_revoke++;
|
||||||
|
sdp->sd_log_num_revoke++;
|
||||||
|
atomic_inc(&gl->gl_revokes);
|
||||||
|
set_bit(GLF_LFLUSH, &gl->gl_flags);
|
||||||
|
list_add(&bd->bd_list, &sdp->sd_log_le_revoke);
|
||||||
}
|
}
|
||||||
|
|
||||||
void gfs2_trans_add_unrevoke(struct gfs2_sbd *sdp, u64 blkno, unsigned int len)
|
void gfs2_trans_add_unrevoke(struct gfs2_sbd *sdp, u64 blkno, unsigned int len)
|
||||||
|
Loading…
Reference in New Issue
Block a user