Skip to content

Commit

Permalink
GFS2: Clear dirty bit at end of inode glock sync
Browse files Browse the repository at this point in the history
The dirty bit can get set during the inode glock sync. Its too
complicated to change that at the moment, so this is the quick
fix - to clear the bit again at the end of the function.

Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
  • Loading branch information
Steven Whitehouse committed Apr 20, 2009
1 parent 3ee8da8 commit 52fcd11
Showing 1 changed file with 6 additions and 0 deletions.
6 changes: 6 additions & 0 deletions fs/gfs2/glops.c
Original file line number Diff line number Diff line change
Expand Up @@ -156,6 +156,12 @@ static void inode_go_sync(struct gfs2_glock *gl)
error = filemap_fdatawait(metamapping);
mapping_set_error(metamapping, error);
gfs2_ail_empty_gl(gl);
/*
* Writeback of the data mapping may cause the dirty flag to be set
* so we have to clear it again here.
*/
smp_mb__before_clear_bit();
clear_bit(GLF_DIRTY, &gl->gl_flags);
}

/**
Expand Down

0 comments on commit 52fcd11

Please sign in to comment.