X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=fs%2Fext2%2Finode.c;h=6363ac66fafa48c1c697d993a948fa1a5ff7cf78;hb=1e8b212fe5dcee9d3dbb152d235f3c33458fb26e;hp=264d315f6c4753d6bee17f28ea86c6497b560449;hpb=88c144b12a943d35500dbfc141c9b33955d2a88a;p=~andy%2Flinux diff --git a/fs/ext2/inode.c b/fs/ext2/inode.c index 264d315f6c4..6363ac66faf 100644 --- a/fs/ext2/inode.c +++ b/fs/ext2/inode.c @@ -79,6 +79,7 @@ void ext2_evict_inode(struct inode * inode) truncate_inode_pages(&inode->i_data, 0); if (want_delete) { + sb_start_intwrite(inode->i_sb); /* set dtime */ EXT2_I(inode)->i_dtime = get_seconds(); mark_inode_dirty(inode); @@ -98,8 +99,10 @@ void ext2_evict_inode(struct inode * inode) if (unlikely(rsv)) kfree(rsv); - if (want_delete) + if (want_delete) { ext2_free_inode(inode); + sb_end_intwrite(inode->i_sb); + } } typedef struct {