]> err.no Git - linux-2.6/blobdiff - fs/gfs2/dir.c
Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6
[linux-2.6] / fs / gfs2 / dir.c
index f793e31a050ec3936bd493b613a34d94f66b0f11..9949bb746a52e2b0975c466e1b2bd9fe6b963766 100644 (file)
@@ -1043,6 +1043,7 @@ static int dir_split_leaf(struct inode *inode, const struct qstr *name)
 
        error = gfs2_meta_inode_buffer(dip, &dibh);
        if (!gfs2_assert_withdraw(GFS2_SB(&dip->i_inode), !error)) {
+               gfs2_trans_add_bh(dip->i_gl, dibh, 1);
                dip->i_di.di_blocks++;
                gfs2_set_inode_blocks(&dip->i_inode);
                gfs2_dinode_out(dip, dibh->b_data);
@@ -1498,9 +1499,10 @@ struct inode *gfs2_dir_search(struct inode *dir, const struct qstr *name)
        if (dent) {
                if (IS_ERR(dent))
                        return ERR_PTR(PTR_ERR(dent));
-               inode = gfs2_inode_lookup(dir->i_sb,
-                                         be64_to_cpu(dent->de_inum.no_addr),
-                                         be16_to_cpu(dent->de_type));
+               inode = gfs2_inode_lookup(dir->i_sb, 
+                               be16_to_cpu(dent->de_type),
+                               be64_to_cpu(dent->de_inum.no_addr),
+                               be64_to_cpu(dent->de_inum.no_formal_ino), 0);
                brelse(bh);
                return inode;
        }