]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - fs/affs/inode.c
Merge branch 'master' into gfs2
[linux-2.6-omap-h63xx.git] / fs / affs / inode.c
index 7aa6f2004536d36a32555ac43595d9818c2331f0..44d439cb69f491a2dc7b5012c014ae429de4c0fb 100644 (file)
@@ -244,10 +244,10 @@ 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) {
-               down(&inode->i_sem);
+               mutex_lock(&inode->i_mutex);
                if (inode->i_size != AFFS_I(inode)->mmu_private)
                        affs_truncate(inode);
-               up(&inode->i_sem);
+               mutex_unlock(&inode->i_mutex);
        }
 }
 
@@ -255,6 +255,7 @@ void
 affs_delete_inode(struct inode *inode)
 {
        pr_debug("AFFS: delete_inode(ino=%lu, nlink=%u)\n", inode->i_ino, inode->i_nlink);
+       truncate_inode_pages(&inode->i_data, 0);
        inode->i_size = 0;
        if (S_ISREG(inode->i_mode))
                affs_truncate(inode);