return generic_block_bmap(mapping, block, hfsplus_get_block);
}
-int hfsplus_releasepage(struct page *page, int mask)
+static int hfsplus_releasepage(struct page *page, int mask)
{
struct inode *inode = page->mapping->host;
struct super_block *sb = inode->i_sb;
;
else if (atomic_read(&node->refcnt))
res = 0;
- else for (i = 0; i < tree->pages_per_bnode; i++) {
- if (PageActive(node->page[i])) {
- res = 0;
- break;
- }
- }
if (res && node) {
hfs_bnode_unhash(node);
hfs_bnode_free(node);
spin_unlock(&tree->hash_lock);
}
//printk("releasepage: %lu,%x = %d\n", page->index, mask, res);
- return res;
+ return res ? try_to_free_buffers(page) : 0;
}
static int hfsplus_get_blocks(struct inode *inode, sector_t iblock, unsigned long max_blocks,
extern struct inode_operations hfsplus_dir_inode_operations;
extern struct file_operations hfsplus_dir_operations;
-struct inode_operations hfsplus_file_inode_operations = {
+static struct inode_operations hfsplus_file_inode_operations = {
.lookup = hfsplus_file_lookup,
.truncate = hfsplus_file_truncate,
.permission = hfsplus_permission,
.listxattr = hfsplus_listxattr,
};
-struct file_operations hfsplus_file_operations = {
+static struct file_operations hfsplus_file_operations = {
.llseek = generic_file_llseek,
.read = generic_file_read,
.write = generic_file_write,