Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 269994
b: refs/heads/master
c: f181852
h: refs/heads/master
v: v3
  • Loading branch information
Steven Whitehouse committed Oct 21, 2011
1 parent 7ea13c3 commit f7cd932
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 5 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: 40ac218f52aa5cac7dc8082f28b61c8b2b29373c
refs/heads/master: f18185291d605ea9e442e00e2cf6c917a84d9837
2 changes: 2 additions & 0 deletions trunk/fs/gfs2/file.c
Original file line number Diff line number Diff line change
Expand Up @@ -590,6 +590,8 @@ static int gfs2_fsync(struct file *file, loff_t start, loff_t end,
mutex_unlock(&inode->i_mutex);
return ret;
}
if (gfs2_is_jdata(ip))
filemap_write_and_wait(mapping);
gfs2_ail_flush(ip->i_gl);
mutex_unlock(&inode->i_mutex);
}
Expand Down
8 changes: 4 additions & 4 deletions trunk/fs/gfs2/glops.c
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ static void gfs2_ail_error(struct gfs2_glock *gl, const struct buffer_head *bh)
* None of the buffers should be dirty, locked, or pinned.
*/

static void __gfs2_ail_flush(struct gfs2_glock *gl)
static void __gfs2_ail_flush(struct gfs2_glock *gl, unsigned long b_state)
{
struct gfs2_sbd *sdp = gl->gl_sbd;
struct list_head *head = &gl->gl_ail_list;
Expand All @@ -60,7 +60,7 @@ static void __gfs2_ail_flush(struct gfs2_glock *gl)
bd_ail_gl_list);
bh = bd->bd_bh;
blocknr = bh->b_blocknr;
if (buffer_busy(bh))
if (bh->b_state & b_state)
gfs2_ail_error(gl, bh);
bh->b_private = NULL;
gfs2_remove_from_ail(bd); /* drops ref on bh */
Expand Down Expand Up @@ -99,7 +99,7 @@ static void gfs2_ail_empty_gl(struct gfs2_glock *gl)
BUG_ON(current->journal_info);
current->journal_info = &tr;

__gfs2_ail_flush(gl);
__gfs2_ail_flush(gl, (1ul << BH_Dirty)|(1ul << BH_Pinned)|(1ul << BH_Lock));

gfs2_trans_end(sdp);
gfs2_log_flush(sdp, NULL);
Expand All @@ -117,7 +117,7 @@ void gfs2_ail_flush(struct gfs2_glock *gl)
ret = gfs2_trans_begin(sdp, 0, revokes);
if (ret)
return;
__gfs2_ail_flush(gl);
__gfs2_ail_flush(gl, (1ul << BH_Dirty)|(1ul << BH_Pinned));
gfs2_trans_end(sdp);
gfs2_log_flush(sdp, NULL);
}
Expand Down

0 comments on commit f7cd932

Please sign in to comment.