]> Pileus Git - ~andy/linux/blobdiff - fs/xfs/xfs_utils.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog
[~andy/linux] / fs / xfs / xfs_utils.c
index 98e5f110ba5f412be32adcc9a2be9205190da9e5..fcc2285d03ed7c9be2c56586d631242e6fe06874 100644 (file)
@@ -172,6 +172,12 @@ xfs_dir_ialloc(
                        *ipp = NULL;
                        return code;
                }
+
+               /*
+                * transaction commit worked ok so we can drop the extra ticket
+                * reference that we gained in xfs_trans_dup()
+                */
+               xfs_log_ticket_put(tp->t_ticket);
                code = xfs_trans_reserve(tp, 0, log_res, 0,
                                         XFS_TRANS_PERM_LOG_RES, log_count);
                /*
@@ -237,7 +243,7 @@ xfs_droplink(
 
        ASSERT (ip->i_d.di_nlink > 0);
        ip->i_d.di_nlink--;
-       drop_nlink(ip->i_vnode);
+       drop_nlink(VFS_I(ip));
        xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE);
 
        error = 0;
@@ -268,9 +274,9 @@ xfs_bump_ino_vers2(
        xfs_mount_t     *mp;
 
        ASSERT(xfs_isilocked(ip, XFS_ILOCK_EXCL));
-       ASSERT(ip->i_d.di_version == XFS_DINODE_VERSION_1);
+       ASSERT(ip->i_d.di_version == 1);
 
-       ip->i_d.di_version = XFS_DINODE_VERSION_2;
+       ip->i_d.di_version = 2;
        ip->i_d.di_onlink = 0;
        memset(&(ip->i_d.di_pad[0]), 0, sizeof(ip->i_d.di_pad));
        mp = tp->t_mountp;
@@ -301,8 +307,8 @@ xfs_bumplink(
 
        ASSERT(ip->i_d.di_nlink > 0);
        ip->i_d.di_nlink++;
-       inc_nlink(ip->i_vnode);
-       if ((ip->i_d.di_version == XFS_DINODE_VERSION_1) &&
+       inc_nlink(VFS_I(ip));
+       if ((ip->i_d.di_version == 1) &&
            (ip->i_d.di_nlink > XFS_MAXLINK_1)) {
                /*
                 * The inode has increased its number of links beyond