GFS2: Write out dirty inode metadata in delayed deletes
Hi,
Thanks for the patch, I'll push it into the -nmw tree shortly, Steve. On Thu, 2012-09-20 at 09:52 -0500, Benjamin Marzinski wrote: > If a dirty GFS2 inode was being deleted but was in use by another node, its > metadata was not getting written out before GFS2 checked for dirty buffers in > gfs2_ail_flush(). GFS2 was relying on inode_go_sync() to write out the > metadata when the other node tried to free the file, but it failed the error > check before it got that far. This patch writes out the metadata before calling > gfs2_ail_flush() > > Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com> > --- > fs/gfs2/super.c | 5 +++++ > 1 file changed, 5 insertions(+) > > Index: gfs2-3.0-nmw/fs/gfs2/super.c > ================================================== ================= > --- gfs2-3.0-nmw.orig/fs/gfs2/super.c > +++ gfs2-3.0-nmw/fs/gfs2/super.c > @@ -1545,6 +1545,11 @@ static void gfs2_evict_inode(struct inod > > out_truncate: > gfs2_log_flush(sdp, ip->i_gl); > + if (test_bit(GLF_DIRTY, &ip->i_gl->gl_flags)) { > + struct address_space *metamapping = gfs2_glock2aspace(ip->i_gl); > + filemap_fdatawrite(metamapping); > + filemap_fdatawait(metamapping); > + } > write_inode_now(inode, 1); > gfs2_ail_flush(ip->i_gl, 0); > > |
| All times are GMT. The time now is 06:31 AM. |
VBulletin, Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.