GFS2: Clear dirty bit at end of inode glock sync
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>
This commit is contained in:
Родитель
3ee8da87ba
Коммит
52fcd11c09
|
@ -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);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Загрузка…
Ссылка в новой задаче