diff options
author | Steven Whitehouse <swhiteho@redhat.com> | 2012-03-07 10:43:02 +0000 |
---|---|---|
committer | Steven Whitehouse <swhiteho@redhat.com> | 2012-03-07 10:43:02 +0000 |
commit | 35e478f42271673f79066a1ed008c6604621c6fe (patch) | |
tree | ac4e7ac2aaf23588ede55aee92ff0f25abad3569 /fs/gfs2 | |
parent | 58884c4df005ee5ee854cfcd0385d5a6bf25aa30 (diff) | |
download | linux-35e478f42271673f79066a1ed008c6604621c6fe.tar.gz linux-35e478f42271673f79066a1ed008c6604621c6fe.tar.bz2 linux-35e478f42271673f79066a1ed008c6604621c6fe.zip |
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>
Diffstat (limited to 'fs/gfs2')
-rw-r--r-- | fs/gfs2/super.c | 1 |
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: 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; |