These changes are the raw update to linux-4.4.6-rt14. Kernel sources
[kvmfornfv.git] / kernel / fs / xfs / xfs_icache.c
index 76a9f27..d7a490f 100644 (file)
@@ -63,7 +63,7 @@ xfs_inode_alloc(
                return NULL;
        }
 
-       XFS_STATS_INC(vn_active);
+       XFS_STATS_INC(mp, vn_active);
        ASSERT(atomic_read(&ip->i_pincount) == 0);
        ASSERT(!spin_is_locked(&ip->i_flags_lock));
        ASSERT(!xfs_isiflocked(ip));
@@ -129,7 +129,7 @@ xfs_inode_free(
        /* asserts to verify all state is correct here */
        ASSERT(atomic_read(&ip->i_pincount) == 0);
        ASSERT(!xfs_isiflocked(ip));
-       XFS_STATS_DEC(vn_active);
+       XFS_STATS_DEC(ip->i_mount, vn_active);
 
        call_rcu(&VFS_I(ip)->i_rcu, xfs_inode_free_callback);
 }
@@ -159,7 +159,7 @@ xfs_iget_cache_hit(
        spin_lock(&ip->i_flags_lock);
        if (ip->i_ino != ino) {
                trace_xfs_iget_skip(ip);
-               XFS_STATS_INC(xs_ig_frecycle);
+               XFS_STATS_INC(mp, xs_ig_frecycle);
                error = -EAGAIN;
                goto out_error;
        }
@@ -177,7 +177,7 @@ xfs_iget_cache_hit(
         */
        if (ip->i_flags & (XFS_INEW|XFS_IRECLAIM)) {
                trace_xfs_iget_skip(ip);
-               XFS_STATS_INC(xs_ig_frecycle);
+               XFS_STATS_INC(mp, xs_ig_frecycle);
                error = -EAGAIN;
                goto out_error;
        }
@@ -259,7 +259,7 @@ xfs_iget_cache_hit(
                xfs_ilock(ip, lock_flags);
 
        xfs_iflags_clear(ip, XFS_ISTALE | XFS_IDONTCACHE);
-       XFS_STATS_INC(xs_ig_found);
+       XFS_STATS_INC(mp, xs_ig_found);
 
        return 0;
 
@@ -342,7 +342,7 @@ xfs_iget_cache_miss(
        error = radix_tree_insert(&pag->pag_ici_root, agino, ip);
        if (unlikely(error)) {
                WARN_ON(error != -EEXIST);
-               XFS_STATS_INC(xs_ig_dup);
+               XFS_STATS_INC(mp, xs_ig_dup);
                error = -EAGAIN;
                goto out_preload_end;
        }
@@ -412,6 +412,8 @@ xfs_iget(
        if (!ino || XFS_INO_TO_AGNO(mp, ino) >= mp->m_sb.sb_agcount)
                return -EINVAL;
 
+       XFS_STATS_INC(mp, xs_ig_attempts);
+
        /* get the perag structure and ensure that it's inode capable */
        pag = xfs_perag_get(mp, XFS_INO_TO_AGNO(mp, ino));
        agino = XFS_INO_TO_AGINO(mp, ino);
@@ -427,7 +429,7 @@ again:
                        goto out_error_or_again;
        } else {
                rcu_read_unlock();
-               XFS_STATS_INC(xs_ig_missed);
+               XFS_STATS_INC(mp, xs_ig_missed);
 
                error = xfs_iget_cache_miss(mp, pag, tp, ino, &ip,
                                                        flags, lock_flags);
@@ -963,7 +965,7 @@ reclaim:
        xfs_ifunlock(ip);
        xfs_iunlock(ip, XFS_ILOCK_EXCL);
 
-       XFS_STATS_INC(xs_ig_reclaims);
+       XFS_STATS_INC(ip->i_mount, xs_ig_reclaims);
        /*
         * Remove the inode from the per-AG radix tree.
         *