X-Git-Url: https://git.karo-electronics.de/?a=blobdiff_plain;f=fs%2Fhfs%2Finode.c;h=39fd85b9b91613136867b4b2690a93590b7288e9;hb=2d7f2ea9c989853310c7f6e8be52cc090cc8e66b;hp=f1570b9f9de30427f133670f02893a67726ed6ed;hpb=c0d6f9663b30a09ed725229b2d50391268c8538e;p=karo-tx-linux.git diff --git a/fs/hfs/inode.c b/fs/hfs/inode.c index f1570b9f9de3..39fd85b9b916 100644 --- a/fs/hfs/inode.c +++ b/fs/hfs/inode.c @@ -12,7 +12,6 @@ */ #include -#include #include #include "hfs_fs.h" @@ -46,7 +45,7 @@ static sector_t hfs_bmap(struct address_space *mapping, sector_t block) return generic_block_bmap(mapping, block, hfs_get_block); } -static int hfs_releasepage(struct page *page, int mask) +static int hfs_releasepage(struct page *page, gfp_t mask) { struct inode *inode = page->mapping->host; struct super_block *sb = inode->i_sb; @@ -96,7 +95,6 @@ static int hfs_releasepage(struct page *page, int mask) } while (--i && nidx < tree->node_count); spin_unlock(&tree->hash_lock); } - //printk("releasepage: %lu,%x = %d\n", page->index, mask, res); return res ? try_to_free_buffers(page) : 0; } @@ -548,13 +546,13 @@ static int hfs_file_release(struct inode *inode, struct file *file) if (atomic_read(&file->f_count) != 0) return 0; if (atomic_dec_and_test(&HFS_I(inode)->opencnt)) { - down(&inode->i_sem); + mutex_lock(&inode->i_mutex); hfs_file_truncate(inode); //if (inode->i_flags & S_DEAD) { // hfs_delete_cat(inode->i_ino, HFSPLUS_SB(sb).hidden_dir, NULL); // hfs_delete_inode(inode); //} - up(&inode->i_sem); + mutex_unlock(&inode->i_mutex); } return 0; }