summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDave Chinner <dchinner@redhat.com>2014-06-06 07:20:02 +0200
committerDave Chinner <david@fromorbit.com>2014-06-06 07:20:02 +0200
commit7ab610f9e0f1701b7b319bdc946b9804fb79e780 (patch)
tree388cd5166ab84962462e94404920c1750892d1a6
parentxfs: convert dir/attr btree threshold to xfs_da_geometry (diff)
downloadlinux-7ab610f9e0f1701b7b319bdc946b9804fb79e780.tar.xz
linux-7ab610f9e0f1701b7b319bdc946b9804fb79e780.zip
xfs: move node entry counts to xfs_da_geometry
Signed-off-by: Dave Chinner <dchinner@redhat.com> Reviewed-by: Brian Foster <bfoster@redhat.com> Signed-off-by: Dave Chinner <david@fromorbit.com>
-rw-r--r--fs/xfs/xfs_attr.c8
-rw-r--r--fs/xfs/xfs_da_btree.c4
-rw-r--r--fs/xfs/xfs_dir2.c3
-rw-r--r--fs/xfs/xfs_dir2_node.c10
-rw-r--r--fs/xfs/xfs_mount.h2
5 files changed, 11 insertions, 16 deletions
diff --git a/fs/xfs/xfs_attr.c b/fs/xfs/xfs_attr.c
index c5474982cfd2..8bb9ae606593 100644
--- a/fs/xfs/xfs_attr.c
+++ b/fs/xfs/xfs_attr.c
@@ -899,7 +899,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
@@ -1078,7 +1078,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)
@@ -1170,7 +1170,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.
@@ -1433,7 +1433,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 653e23f17f79..e6c994c00672 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.c b/fs/xfs/xfs_dir2.c
index aafe5e12c8d9..97f1802a9018 100644
--- a/fs/xfs/xfs_dir2.c
+++ b/fs/xfs/xfs_dir2.c
@@ -144,9 +144,6 @@ xfs_da_mount(
else
mp->m_dirnameops = &xfs_default_nameops;
- /* XXX: these are to be removed as code is converted to use geo */
- mp->m_dir_node_ents = mp->m_dir_geo->node_ents;
- mp->m_attr_node_ents = mp->m_attr_geo->node_ents;
return 0;
}
diff --git a/fs/xfs/xfs_dir2_node.c b/fs/xfs/xfs_dir2_node.c
index de5b29965ff5..eff6b8d67dab 100644
--- a/fs/xfs/xfs_dir2_node.c
+++ b/fs/xfs/xfs_dir2_node.c
@@ -1596,8 +1596,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.
@@ -2043,7 +2043,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.
*/
@@ -2098,7 +2098,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);
@@ -2168,7 +2168,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 78ae7e48aef6..7295a0b7c343 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 */