This ensures that we will not try to access the inode thats being flushed via the glock after it has been freed.
Signed-off-by: Steven Whitehouse <swhit...@redhat.com> diff --git a/fs/gfs2/super.c b/fs/gfs2/super.c index f3faf72..6172fa7 100644 --- a/fs/gfs2/super.c +++ b/fs/gfs2/super.c @@ -1557,6 +1557,7 @@ out: end_writeback(inode); gfs2_dir_hash_inval(ip); ip->i_gl->gl_object = NULL; + flush_delayed_work_sync(&ip->i_gl->gl_work); gfs2_glock_add_to_lru(ip->i_gl); gfs2_glock_put(ip->i_gl); ip->i_gl = NULL; -- 1.7.4