X-Git-Url: http://ftp.safe.ca/?a=blobdiff_plain;f=fs%2Fhfs%2Finode.c;h=14f5cb1b9fdcfcd10116d065535831af20a3603a;hb=4434ade8c9334a3ab975d8993de456f06841899e;hp=c69b7ac75bf7d16bb53f6f1603e9a47019a2071b;hpb=f696a3659fc4b3a3bf4bc83d9dbec5e5a2ffd929;p=safe%2Fjmp%2Flinux-2.6 diff --git a/fs/hfs/inode.c b/fs/hfs/inode.c index c69b7ac..14f5cb1 100644 --- a/fs/hfs/inode.c +++ b/fs/hfs/inode.c @@ -70,6 +70,10 @@ static int hfs_releasepage(struct page *page, gfp_t mask) BUG(); return 0; } + + if (!tree) + return 0; + if (tree->node_size >= PAGE_CACHE_SIZE) { nidx = page->index >> (tree->node_size_shift - PAGE_CACHE_SHIFT); spin_lock(&tree->hash_lock); @@ -155,8 +159,8 @@ struct inode *hfs_new_inode(struct inode *dir, struct qstr *name, int mode) hfs_cat_build_key(sb, (btree_key *)&HFS_I(inode)->cat_key, dir->i_ino, name); inode->i_ino = HFS_SB(sb)->next_id++; inode->i_mode = mode; - inode->i_uid = current->fsuid; - inode->i_gid = current->fsgid; + inode->i_uid = current_fsuid(); + inode->i_gid = current_fsgid(); inode->i_nlink = 1; inode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME_SEC; HFS_I(inode)->flags = 0; @@ -377,7 +381,7 @@ void hfs_inode_write_fork(struct inode *inode, struct hfs_extent *ext, HFS_SB(inode->i_sb)->alloc_blksz); } -int hfs_write_inode(struct inode *inode, int unused) +int hfs_write_inode(struct inode *inode, struct writeback_control *wbc) { struct inode *main_inode = inode; struct hfs_find_data fd;