|
@@ -107,7 +107,8 @@ static void gfs2_ail_empty_gl(struct gfs2_glock *gl)
|
|
|
__gfs2_ail_flush(gl, 0, tr.tr_revokes);
|
|
|
|
|
|
gfs2_trans_end(sdp);
|
|
|
- gfs2_log_flush(sdp, NULL, GFS2_LOG_HEAD_FLUSH_NORMAL);
|
|
|
+ gfs2_log_flush(sdp, NULL, GFS2_LOG_HEAD_FLUSH_NORMAL |
|
|
|
+ GFS2_LFC_AIL_EMPTY_GL);
|
|
|
}
|
|
|
|
|
|
void gfs2_ail_flush(struct gfs2_glock *gl, bool fsync)
|
|
@@ -128,7 +129,8 @@ void gfs2_ail_flush(struct gfs2_glock *gl, bool fsync)
|
|
|
return;
|
|
|
__gfs2_ail_flush(gl, fsync, max_revokes);
|
|
|
gfs2_trans_end(sdp);
|
|
|
- gfs2_log_flush(sdp, NULL, GFS2_LOG_HEAD_FLUSH_NORMAL);
|
|
|
+ gfs2_log_flush(sdp, NULL, GFS2_LOG_HEAD_FLUSH_NORMAL |
|
|
|
+ GFS2_LFC_AIL_FLUSH);
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -157,7 +159,8 @@ static void rgrp_go_sync(struct gfs2_glock *gl)
|
|
|
return;
|
|
|
GLOCK_BUG_ON(gl, gl->gl_state != LM_ST_EXCLUSIVE);
|
|
|
|
|
|
- gfs2_log_flush(sdp, gl, GFS2_LOG_HEAD_FLUSH_NORMAL);
|
|
|
+ gfs2_log_flush(sdp, gl, GFS2_LOG_HEAD_FLUSH_NORMAL |
|
|
|
+ GFS2_LFC_RGRP_GO_SYNC);
|
|
|
filemap_fdatawrite_range(mapping, gl->gl_vm.start, gl->gl_vm.end);
|
|
|
error = filemap_fdatawait_range(mapping, gl->gl_vm.start, gl->gl_vm.end);
|
|
|
mapping_set_error(mapping, error);
|
|
@@ -252,7 +255,8 @@ static void inode_go_sync(struct gfs2_glock *gl)
|
|
|
|
|
|
GLOCK_BUG_ON(gl, gl->gl_state != LM_ST_EXCLUSIVE);
|
|
|
|
|
|
- gfs2_log_flush(gl->gl_name.ln_sbd, gl, GFS2_LOG_HEAD_FLUSH_NORMAL);
|
|
|
+ gfs2_log_flush(gl->gl_name.ln_sbd, gl, GFS2_LOG_HEAD_FLUSH_NORMAL |
|
|
|
+ GFS2_LFC_INODE_GO_SYNC);
|
|
|
filemap_fdatawrite(metamapping);
|
|
|
if (isreg) {
|
|
|
struct address_space *mapping = ip->i_inode.i_mapping;
|
|
@@ -304,7 +308,8 @@ static void inode_go_inval(struct gfs2_glock *gl, int flags)
|
|
|
|
|
|
if (ip == GFS2_I(gl->gl_name.ln_sbd->sd_rindex)) {
|
|
|
gfs2_log_flush(gl->gl_name.ln_sbd, NULL,
|
|
|
- GFS2_LOG_HEAD_FLUSH_NORMAL);
|
|
|
+ GFS2_LOG_HEAD_FLUSH_NORMAL |
|
|
|
+ GFS2_LFC_INODE_GO_INVAL);
|
|
|
gl->gl_name.ln_sbd->sd_rindex_uptodate = 0;
|
|
|
}
|
|
|
if (ip && S_ISREG(ip->i_inode.i_mode))
|
|
@@ -496,7 +501,8 @@ static void freeze_go_sync(struct gfs2_glock *gl)
|
|
|
gfs2_assert_withdraw(sdp, 0);
|
|
|
}
|
|
|
queue_work(gfs2_freeze_wq, &sdp->sd_freeze_work);
|
|
|
- gfs2_log_flush(sdp, NULL, GFS2_LOG_HEAD_FLUSH_FREEZE);
|
|
|
+ gfs2_log_flush(sdp, NULL, GFS2_LOG_HEAD_FLUSH_FREEZE |
|
|
|
+ GFS2_LFC_FREEZE_GO_SYNC);
|
|
|
}
|
|
|
}
|
|
|
|