X-Git-Url: http://pilppa.org/gitweb/?a=blobdiff_plain;f=fs%2Faffs%2Finode.c;h=4609a6c13fe917552b6121a5b964767e8ba76800;hb=c78bad11fbf1272ea021f56458025dc98486d6f4;hp=fce6848a4641a91a4d5341e69f0106ec99d02e36;hpb=9468482bd4c3b89abe04a770848d5eaa1ea830b0;p=linux-2.6-omap-h63xx.git diff --git a/fs/affs/inode.c b/fs/affs/inode.c index fce6848a464..4609a6c13fe 100644 --- a/fs/affs/inode.c +++ b/fs/affs/inode.c @@ -9,7 +9,7 @@ * * (C) 1991 Linus Torvalds - minix filesystem */ - +#include #include "affs.h" extern const struct inode_operations affs_symlink_inode_operations; @@ -243,12 +243,17 @@ affs_put_inode(struct inode *inode) { pr_debug("AFFS: put_inode(ino=%lu, nlink=%u)\n", inode->i_ino, inode->i_nlink); affs_free_prealloc(inode); - if (atomic_read(&inode->i_count) == 1) { - mutex_lock(&inode->i_mutex); - if (inode->i_size != AFFS_I(inode)->mmu_private) - affs_truncate(inode); - mutex_unlock(&inode->i_mutex); - } +} + +void +affs_drop_inode(struct inode *inode) +{ + mutex_lock(&inode->i_mutex); + if (inode->i_size != AFFS_I(inode)->mmu_private) + affs_truncate(inode); + mutex_unlock(&inode->i_mutex); + + generic_drop_inode(inode); } void