new helper: file_inode(file)
[linux-block.git] / fs / ext4 / namei.c
index 8990165346ee6aa01a7f9a3264a092fc9669e85b..bb97ad6905b249f03f08a3bb3022c7f965ca59cf 100644 (file)
@@ -722,7 +722,7 @@ dx_probe(const struct qstr *d_name, struct inode *dir,
                        ext4_warning(dir->i_sb, "Node failed checksum");
                        brelse(bh);
                        *err = ERR_BAD_DX_DIR;
-                       goto fail;
+                       goto fail2;
                }
                set_buffer_verified(bh);
 
@@ -937,7 +937,7 @@ int ext4_htree_fill_tree(struct file *dir_file, __u32 start_hash,
 
        dxtrace(printk(KERN_DEBUG "In htree_fill_tree, start hash: %x:%x\n",
                       start_hash, start_minor_hash));
-       dir = dir_file->f_path.dentry->d_inode;
+       dir = file_inode(dir_file);
        if (!(ext4_test_inode_flag(dir, EXT4_INODE_INDEX))) {
                hinfo.hash_version = EXT4_SB(dir->i_sb)->s_def_hash_version;
                if (hinfo.hash_version <= DX_HASH_TEA)
@@ -2368,7 +2368,6 @@ static int ext4_init_new_dir(handle_t *handle, struct inode *dir,
        }
 
        inode->i_size = EXT4_I(inode)->i_disksize = blocksize;
-       dir_block = ext4_bread(handle, inode, 0, 1, &err);
        if (!(dir_block = ext4_bread(handle, inode, 0, 1, &err))) {
                if (!err) {
                        err = -EIO;