xfs
[Top] [All Lists]

[PATCH 14/18] xfs: move node entry counts to xfs_da_geometry

To: xfs@xxxxxxxxxxx
Subject: [PATCH 14/18] xfs: move node entry counts to xfs_da_geometry
From: Dave Chinner <david@xxxxxxxxxxxxx>
Date: Thu, 8 May 2014 18:19:44 +1000
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <1399537188-26509-1-git-send-email-david@xxxxxxxxxxxxx>
References: <1399537188-26509-1-git-send-email-david@xxxxxxxxxxxxx>
From: Dave Chinner <dchinner@xxxxxxxxxx>

Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx>
---
 fs/xfs/xfs_attr.c      |  8 ++++----
 fs/xfs/xfs_da_btree.c  |  4 ++--
 fs/xfs/xfs_dir2_node.c | 10 +++++-----
 fs/xfs/xfs_mount.h     |  2 --
 4 files changed, 11 insertions(+), 13 deletions(-)

diff --git a/fs/xfs/xfs_attr.c b/fs/xfs/xfs_attr.c
index 50159d3..28b6bb3 100644
--- a/fs/xfs/xfs_attr.c
+++ b/fs/xfs/xfs_attr.c
@@ -995,7 +995,7 @@ restart:
        state->args = args;
        state->mp = mp;
        state->blocksize = state->mp->m_sb.sb_blocksize;
-       state->node_ents = state->mp->m_attr_node_ents;
+       state->node_ents = args->geo->node_ents;
 
        /*
         * Search to see if name already exists, and get back a pointer
@@ -1174,7 +1174,7 @@ restart:
                state->args = args;
                state->mp = mp;
                state->blocksize = state->mp->m_sb.sb_blocksize;
-               state->node_ents = state->mp->m_attr_node_ents;
+               state->node_ents = args->geo->node_ents;
                state->inleaf = 0;
                error = xfs_da3_node_lookup_int(state, &retval);
                if (error)
@@ -1266,7 +1266,7 @@ xfs_attr_node_removename(xfs_da_args_t *args)
        state->args = args;
        state->mp = dp->i_mount;
        state->blocksize = state->mp->m_sb.sb_blocksize;
-       state->node_ents = state->mp->m_attr_node_ents;
+       state->node_ents = args->geo->node_ents;
 
        /*
         * Search to see if name exists, and get back a pointer to it.
@@ -1529,7 +1529,7 @@ xfs_attr_node_get(xfs_da_args_t *args)
        state->args = args;
        state->mp = args->dp->i_mount;
        state->blocksize = state->mp->m_sb.sb_blocksize;
-       state->node_ents = state->mp->m_attr_node_ents;
+       state->node_ents = args->geo->node_ents;
 
        /*
         * Search to see if name exists, and get back a pointer to it.
diff --git a/fs/xfs/xfs_da_btree.c b/fs/xfs/xfs_da_btree.c
index b9b007d..f935370 100644
--- a/fs/xfs/xfs_da_btree.c
+++ b/fs/xfs/xfs_da_btree.c
@@ -167,8 +167,8 @@ xfs_da3_node_verify(
         * we don't know if the node is for and attribute or directory tree,
         * so only fail if the count is outside both bounds
         */
-       if (ichdr.count > mp->m_dir_node_ents &&
-           ichdr.count > mp->m_attr_node_ents)
+       if (ichdr.count > mp->m_dir_geo->node_ents &&
+           ichdr.count > mp->m_attr_geo->node_ents)
                return false;
 
        /* XXX: hash order check? */
diff --git a/fs/xfs/xfs_dir2_node.c b/fs/xfs/xfs_dir2_node.c
index cd0bb58..65df8cb 100644
--- a/fs/xfs/xfs_dir2_node.c
+++ b/fs/xfs/xfs_dir2_node.c
@@ -1591,8 +1591,8 @@ xfs_dir2_node_addname(
        state = xfs_da_state_alloc();
        state->args = args;
        state->mp = args->dp->i_mount;
-       state->blocksize = state->args->geo->blksize;
-       state->node_ents = state->mp->m_dir_node_ents;
+       state->blocksize = args->geo->blksize;
+       state->node_ents = args->geo->node_ents;
        /*
         * Look up the name.  We're not supposed to find it, but
         * this gives us the insertion point.
@@ -2038,7 +2038,7 @@ xfs_dir2_node_lookup(
        state->args = args;
        state->mp = args->dp->i_mount;
        state->blocksize = args->geo->blksize;
-       state->node_ents = state->mp->m_dir_node_ents;
+       state->node_ents = args->geo->node_ents;
        /*
         * Fill in the path to the entry in the cursor.
         */
@@ -2093,7 +2093,7 @@ xfs_dir2_node_removename(
        state->args = args;
        state->mp = args->dp->i_mount;
        state->blocksize = args->geo->blksize;
-       state->node_ents = state->mp->m_dir_node_ents;
+       state->node_ents = args->geo->node_ents;
 
        /* Look up the entry we're deleting, set up the cursor. */
        error = xfs_da3_node_lookup_int(state, &rval);
@@ -2163,7 +2163,7 @@ xfs_dir2_node_replace(
        state->args = args;
        state->mp = args->dp->i_mount;
        state->blocksize = args->geo->blksize;
-       state->node_ents = state->mp->m_dir_node_ents;
+       state->node_ents = args->geo->node_ents;
        inum = args->inumber;
        /*
         * Lookup the entry to change in the btree.
diff --git a/fs/xfs/xfs_mount.h b/fs/xfs/xfs_mount.h
index 78ae7e4..7295a0b 100644
--- a/fs/xfs/xfs_mount.h
+++ b/fs/xfs/xfs_mount.h
@@ -134,8 +134,6 @@ typedef struct xfs_mount {
        int                     m_fixedfsid[2]; /* unchanged for life of FS */
        uint                    m_dmevmask;     /* DMI events for this FS */
        __uint64_t              m_flags;        /* global mount flags */
-       uint                    m_dir_node_ents; /* #entries in a dir danode */
-       uint                    m_attr_node_ents; /* #entries in attr danode */
        int                     m_ialloc_inos;  /* inodes in inode allocation */
        int                     m_ialloc_blks;  /* blocks in inode allocation */
        int                     m_inoalign_mask;/* mask sb_inoalignmt if used */
-- 
1.9.0

<Prev in Thread] Current Thread [Next in Thread>