Pull hotplug into release branch
[powerpc.git] / fs / xfs / xfs_iget.c
index ee13d6d..fb69ef1 100644 (file)
@@ -157,7 +157,7 @@ again:
                                goto again;
                        }
 
-                       vn_trace_exit(vp, "xfs_iget.alloc",
+                       vn_trace_exit(ip, "xfs_iget.alloc",
                                (inst_t *)__return_address);
 
                        XFS_STATS_INC(xs_ig_found);
@@ -212,7 +212,7 @@ finish_inode:
                        xfs_ilock(ip, lock_flags);
 
                xfs_iflags_clear(ip, XFS_ISTALE);
-               vn_trace_exit(vp, "xfs_iget.found",
+               vn_trace_exit(ip, "xfs_iget.found",
                                        (inst_t *)__return_address);
                goto return_ip;
        }
@@ -234,7 +234,7 @@ finish_inode:
                return error;
        }
 
-       vn_trace_exit(vp, "xfs_iget.alloc", (inst_t *)__return_address);
+       vn_trace_exit(ip, "xfs_iget.alloc", (inst_t *)__return_address);
 
        xfs_inode_lock_init(ip, vp);
        xfs_iocore_inode_init(ip);
@@ -267,7 +267,7 @@ finish_inode:
        icl = NULL;
        if (radix_tree_gang_lookup(&pag->pag_ici_root, (void**)&iq,
                                                        first_index, 1)) {
-               if ((iq->i_ino & mask) == first_index)
+               if ((XFS_INO_TO_AGINO(mp, iq->i_ino) & mask) == first_index)
                        icl = iq->i_cluster;
        }
 
@@ -343,8 +343,7 @@ finish_inode:
         * If we have a real type for an on-disk inode, we can set ops(&unlock)
         * now.  If it's a new inode being created, xfs_ialloc will handle it.
         */
-       bhv_vfs_init_vnode(XFS_MTOVFS(mp), vp, ip, 1);
-
+       xfs_initialize_vnode(mp, vp, ip);
        return 0;
 }
 
@@ -370,7 +369,8 @@ xfs_iget(
        XFS_STATS_INC(xs_ig_attempts);
 
 retry:
-       if ((inode = iget_locked(XFS_MTOVFS(mp)->vfs_super, ino))) {
+       inode = iget_locked(mp->m_super, ino);
+       if (inode) {
                xfs_inode_t     *ip;
 
                vp = vn_from_inode(inode);
@@ -421,8 +421,8 @@ xfs_inode_lock_init(
        bhv_vnode_t     *vp)
 {
        mrlock_init(&ip->i_lock, MRLOCK_ALLOW_EQUAL_PRI|MRLOCK_BARRIER,
-                    "xfsino", (long)vp->v_number);
-       mrlock_init(&ip->i_iolock, MRLOCK_BARRIER, "xfsio", vp->v_number);
+                    "xfsino", ip->i_ino);
+       mrlock_init(&ip->i_iolock, MRLOCK_BARRIER, "xfsio", ip->i_ino);
        init_waitqueue_head(&ip->i_ipin_wait);
        atomic_set(&ip->i_pincount, 0);
        initnsema(&ip->i_flock, 1, "xfsfino");
@@ -467,7 +467,7 @@ xfs_iput(xfs_inode_t        *ip,
 {
        bhv_vnode_t     *vp = XFS_ITOV(ip);
 
-       vn_trace_entry(vp, "xfs_iput", (inst_t *)__return_address);
+       vn_trace_entry(ip, "xfs_iput", (inst_t *)__return_address);
        xfs_iunlock(ip, lock_flags);
        VN_RELE(vp);
 }
@@ -482,7 +482,7 @@ xfs_iput_new(xfs_inode_t    *ip,
        bhv_vnode_t     *vp = XFS_ITOV(ip);
        struct inode    *inode = vn_to_inode(vp);
 
-       vn_trace_entry(vp, "xfs_iput_new", (inst_t *)__return_address);
+       vn_trace_entry(ip, "xfs_iput_new", (inst_t *)__return_address);
 
        if ((ip->i_d.di_mode == 0)) {
                ASSERT(!xfs_iflags_test(ip, XFS_IRECLAIMABLE));