xfs
[Top] [All Lists]

Re: [PATCH 4/7] xfs: uninline xfs_get_extsz_hint

To: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Subject: Re: [PATCH 4/7] xfs: uninline xfs_get_extsz_hint
From: Eric Sandeen <sandeen@xxxxxxxxxxx>
Date: Wed, 18 Nov 2009 22:51:20 -0600
Cc: xfs@xxxxxxxxxxx
In-reply-to: <20091114161801.818601601@xxxxxxxxxxxxxxxxxxxxxx>
References: <20091114161717.233372584@xxxxxxxxxxxxxxxxxxxxxx> <20091114161801.818601601@xxxxxxxxxxxxxxxxxxxxxx>
User-agent: Thunderbird 2.0.0.23 (Macintosh/20090812)
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@xxxxxx>
> 
> 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@xxxxxxxxxxx
> http://oss.sgi.com/mailman/listinfo/xfs
> 

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