diff options
| -rw-r--r-- | fs/gfs2/super.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/fs/gfs2/super.c b/fs/gfs2/super.c index 79cac7057691..a8d90f2f576c 100644 --- a/fs/gfs2/super.c +++ b/fs/gfs2/super.c | |||
| @@ -1545,6 +1545,11 @@ static void gfs2_evict_inode(struct inode *inode) | |||
| 1545 | 1545 | ||
| 1546 | out_truncate: | 1546 | out_truncate: |
| 1547 | gfs2_log_flush(sdp, ip->i_gl); | 1547 | gfs2_log_flush(sdp, ip->i_gl); |
| 1548 | if (test_bit(GLF_DIRTY, &ip->i_gl->gl_flags)) { | ||
| 1549 | struct address_space *metamapping = gfs2_glock2aspace(ip->i_gl); | ||
| 1550 | filemap_fdatawrite(metamapping); | ||
| 1551 | filemap_fdatawait(metamapping); | ||
| 1552 | } | ||
| 1548 | write_inode_now(inode, 1); | 1553 | write_inode_now(inode, 1); |
| 1549 | gfs2_ail_flush(ip->i_gl, 0); | 1554 | gfs2_ail_flush(ip->i_gl, 0); |
| 1550 | 1555 | ||
