aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteven Whitehouse <swhiteho@redhat.com>2012-03-07 05:43:02 -0500
committerSteven Whitehouse <swhiteho@redhat.com>2012-03-07 05:43:02 -0500
commit35e478f42271673f79066a1ed008c6604621c6fe (patch)
treeac4e7ac2aaf23588ede55aee92ff0f25abad3569
parent58884c4df005ee5ee854cfcd0385d5a6bf25aa30 (diff)
GFS2: Flush pending glock work when evicting an inode
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 <swhiteho@redhat.com>
-rw-r--r--fs/gfs2/super.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/gfs2/super.c b/fs/gfs2/super.c
index f3faf72fa7ae..6172fa77ad59 100644
--- a/fs/gfs2/super.c
+++ b/fs/gfs2/super.c
@@ -1557,6 +1557,7 @@ out:
1557 end_writeback(inode); 1557 end_writeback(inode);
1558 gfs2_dir_hash_inval(ip); 1558 gfs2_dir_hash_inval(ip);
1559 ip->i_gl->gl_object = NULL; 1559 ip->i_gl->gl_object = NULL;
1560 flush_delayed_work_sync(&ip->i_gl->gl_work);
1560 gfs2_glock_add_to_lru(ip->i_gl); 1561 gfs2_glock_add_to_lru(ip->i_gl);
1561 gfs2_glock_put(ip->i_gl); 1562 gfs2_glock_put(ip->i_gl);
1562 ip->i_gl = NULL; 1563 ip->i_gl = NULL;