Re: [PATCH 11/16] xfs: move node entry counts to xfs_da_geometry

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, May 23, 2014 at 10:03:47AM +1000, Dave Chinner wrote:
> From: Dave Chinner <dchinner@xxxxxxxxxx>
> 
> Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx>
> ---

Are the state->blocksize and node_ents fields redundant with the
associated geo fields? On a quick scan, it seems like they don't ever
change. Patch looks fine either way...

Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx>

>  fs/xfs/xfs_attr.c      |  8 ++++----
>  fs/xfs/xfs_da_btree.c  |  4 ++--
>  fs/xfs/xfs_dir2.c      |  3 ---
>  fs/xfs/xfs_dir2_node.c | 10 +++++-----
>  fs/xfs/xfs_mount.h     |  2 --
>  5 files changed, 11 insertions(+), 16 deletions(-)
> 
> diff --git a/fs/xfs/xfs_attr.c b/fs/xfs/xfs_attr.c
> index c547498..8bb9ae6 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 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.c b/fs/xfs/xfs_dir2.c
> index 0230342..90d426d 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 de5b2996..eff6b8d 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 3b690c36..6d7e5d7 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
> 
> _______________________________________________
> xfs mailing list
> xfs@xxxxxxxxxxx
> http://oss.sgi.com/mailman/listinfo/xfs

_______________________________________________
xfs mailing list
xfs@xxxxxxxxxxx
http://oss.sgi.com/mailman/listinfo/xfs




[Index of Archives]     [Linux XFS Devel]     [Linux Filesystem Development]     [Filesystem Testing]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux