[PATCH 4/7] xfs: uninline xfs_get_extsz_hint

Eric Sandeen sandeen at sandeen.net
Wed Nov 18 22:51:20 CST 2009


Christoph Hellwig wrote:

> This function is too large to efficiently be inlined.

Just out of curiosity; too how do you define too large?

-Eric

> Signed-off-by: Christoph Hellwig <hch at lst.de>
> 
> Index: xfs/fs/xfs/xfs_rw.c
> ===================================================================
> --- xfs.orig/fs/xfs/xfs_rw.c	2009-11-12 17:14:15.278004428 +0100
> +++ xfs/fs/xfs/xfs_rw.c	2009-11-12 17:18:33.311004263 +0100
> @@ -336,3 +336,25 @@ xfs_bwrite(
>  	}
>  	return (error);
>  }
> +
> +/*
> + * helper function to extract extent size hint from inode
> + */
> +xfs_extlen_t
> +xfs_get_extsz_hint(
> +	struct xfs_inode	*ip)
> +{
> +	xfs_extlen_t		extsz;
> +
> +	if (unlikely(XFS_IS_REALTIME_INODE(ip))) {
> +		extsz = (ip->i_d.di_flags & XFS_DIFLAG_EXTSIZE)
> +				? ip->i_d.di_extsize
> +				: ip->i_mount->m_sb.sb_rextsize;
> +		ASSERT(extsz);
> +	} else {
> +		extsz = (ip->i_d.di_flags & XFS_DIFLAG_EXTSIZE)
> +				? ip->i_d.di_extsize : 0;
> +	}
> +
> +	return extsz;
> +}
> Index: xfs/fs/xfs/xfs_rw.h
> ===================================================================
> --- xfs.orig/fs/xfs/xfs_rw.h	2009-11-09 17:06:46.116004228 +0100
> +++ xfs/fs/xfs/xfs_rw.h	2009-11-12 17:18:33.311004263 +0100
> @@ -37,27 +37,6 @@ xfs_fsb_to_db(struct xfs_inode *ip, xfs_
>  }
>  
>  /*
> - * helper function to extract extent size hint from inode
> - */
> -STATIC_INLINE xfs_extlen_t
> -xfs_get_extsz_hint(
> -	xfs_inode_t	*ip)
> -{
> -	xfs_extlen_t	extsz;
> -
> -	if (unlikely(XFS_IS_REALTIME_INODE(ip))) {
> -		extsz = (ip->i_d.di_flags & XFS_DIFLAG_EXTSIZE)
> -				? ip->i_d.di_extsize
> -				: ip->i_mount->m_sb.sb_rextsize;
> -		ASSERT(extsz);
> -	} else {
> -		extsz = (ip->i_d.di_flags & XFS_DIFLAG_EXTSIZE)
> -				? ip->i_d.di_extsize : 0;
> -	}
> -	return extsz;
> -}
> -
> -/*
>   * Prototypes for functions in xfs_rw.c.
>   */
>  extern int xfs_write_clear_setuid(struct xfs_inode *ip);
> @@ -69,5 +48,6 @@ extern int xfs_read_buf(struct xfs_mount
>  			struct xfs_buf **bpp);
>  extern void xfs_ioerror_alert(char *func, struct xfs_mount *mp,
>  				xfs_buf_t *bp, xfs_daddr_t blkno);
> +extern xfs_extlen_t xfs_get_extsz_hint(struct xfs_inode *ip);
>  
>  #endif /* __XFS_RW_H__ */
> 
> _______________________________________________
> xfs mailing list
> xfs at oss.sgi.com
> http://oss.sgi.com/mailman/listinfo/xfs
> 




More information about the xfs mailing list