public inbox for linux-xfs@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/5] xfs: introduce xfs_ialloc_blks_per_cluster
@ 2013-12-11 13:48 Jeff Liu
  2013-12-11 23:14 ` Dave Chinner
  0 siblings, 1 reply; 3+ messages in thread
From: Jeff Liu @ 2013-12-11 13:48 UTC (permalink / raw)
  To: xfs@oss.sgi.com

From: Jie Liu <jeff.liu@oracle.com>

Introduce a common routine xfs_ialloc_blks_per_cluster() to calculate
and return the number of blocks per inode cluster.

Signed-off-by: Jie Liu <jeff.liu@oracle.com>
---
 fs/xfs/xfs_ialloc.h | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/fs/xfs/xfs_ialloc.h b/fs/xfs/xfs_ialloc.h
index a8f76a5..f4bfd32 100644
--- a/fs/xfs/xfs_ialloc.h
+++ b/fs/xfs/xfs_ialloc.h
@@ -37,6 +37,16 @@ struct xfs_btree_cur;
 #define	XFS_INODE_BIG_CLUSTER_SIZE	8192
 #define	XFS_INODE_CLUSTER_SIZE(mp)	(mp)->m_inode_cluster_size
 
+/* Calculate and return the number of blocks per inode cluster */
+static inline int
+xfs_ialloc_blks_per_cluster(
+	struct xfs_mount	*mp)
+{
+	if (mp->m_sb.sb_blocksize >= XFS_INODE_CLUSTER_SIZE(mp))
+		return 1;
+	return XFS_INODE_CLUSTER_SIZE(mp) >> mp->m_sb.sb_blocklog;
+}
+
 /*
  * Make an inode pointer out of the buffer/offset.
  */
-- 
1.8.3.2

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

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH 1/5] xfs: introduce xfs_ialloc_blks_per_cluster
  2013-12-11 13:48 [PATCH 1/5] xfs: introduce xfs_ialloc_blks_per_cluster Jeff Liu
@ 2013-12-11 23:14 ` Dave Chinner
  2013-12-12  2:22   ` Jeff Liu
  0 siblings, 1 reply; 3+ messages in thread
From: Dave Chinner @ 2013-12-11 23:14 UTC (permalink / raw)
  To: Jeff Liu; +Cc: xfs@oss.sgi.com

On Wed, Dec 11, 2013 at 09:48:01PM +0800, Jeff Liu wrote:
> From: Jie Liu <jeff.liu@oracle.com>
> 
> Introduce a common routine xfs_ialloc_blks_per_cluster() to calculate
> and return the number of blocks per inode cluster.
> 
> Signed-off-by: Jie Liu <jeff.liu@oracle.com>
> ---
>  fs/xfs/xfs_ialloc.h | 10 ++++++++++
>  1 file changed, 10 insertions(+)
> 
> diff --git a/fs/xfs/xfs_ialloc.h b/fs/xfs/xfs_ialloc.h
> index a8f76a5..f4bfd32 100644
> --- a/fs/xfs/xfs_ialloc.h
> +++ b/fs/xfs/xfs_ialloc.h
> @@ -37,6 +37,16 @@ struct xfs_btree_cur;
>  #define	XFS_INODE_BIG_CLUSTER_SIZE	8192
>  #define	XFS_INODE_CLUSTER_SIZE(mp)	(mp)->m_inode_cluster_size
>  
> +/* Calculate and return the number of blocks per inode cluster */
> +static inline int
> +xfs_ialloc_blks_per_cluster(
> +	struct xfs_mount	*mp)
> +{
> +	if (mp->m_sb.sb_blocksize >= XFS_INODE_CLUSTER_SIZE(mp))
> +		return 1;
> +	return XFS_INODE_CLUSTER_SIZE(mp) >> mp->m_sb.sb_blocklog;
> +}

I'd avoid using the XFS_INODE_CLUSTER_SIZE() macro - it's just a
useless wrapper around mp->m_inode_cluster_size. Hence if you are
cleaning this code up, the first thing I'd do is remove the macro.

/* Calculate and return the number of blocks per inode cluster */
static inline int
xfs_ialloc_blks_per_cluster(
	struct xfs_mount	*mp)
{
	if (mp->m_sb.sb_blocksize >= mp->m_inode_cluster_size)
		return 1;
	return mp->m_inode_cluster_size >> mp->m_sb.sb_blocklog;
}

Is much less shouty, and just as easy to read ;)

Cheers,

Dave.
-- 
Dave Chinner
david@fromorbit.com

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

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH 1/5] xfs: introduce xfs_ialloc_blks_per_cluster
  2013-12-11 23:14 ` Dave Chinner
@ 2013-12-12  2:22   ` Jeff Liu
  0 siblings, 0 replies; 3+ messages in thread
From: Jeff Liu @ 2013-12-12  2:22 UTC (permalink / raw)
  To: Dave Chinner; +Cc: xfs@oss.sgi.com


On 12/12 2013 07:14 AM, Dave Chinner wrote:
> On Wed, Dec 11, 2013 at 09:48:01PM +0800, Jeff Liu wrote:
>> From: Jie Liu <jeff.liu@oracle.com>
>>
>> Introduce a common routine xfs_ialloc_blks_per_cluster() to calculate
>> and return the number of blocks per inode cluster.
>>
>> Signed-off-by: Jie Liu <jeff.liu@oracle.com>
>> ---
>>  fs/xfs/xfs_ialloc.h | 10 ++++++++++
>>  1 file changed, 10 insertions(+)
>>
>> diff --git a/fs/xfs/xfs_ialloc.h b/fs/xfs/xfs_ialloc.h
>> index a8f76a5..f4bfd32 100644
>> --- a/fs/xfs/xfs_ialloc.h
>> +++ b/fs/xfs/xfs_ialloc.h
>> @@ -37,6 +37,16 @@ struct xfs_btree_cur;
>>  #define	XFS_INODE_BIG_CLUSTER_SIZE	8192
>>  #define	XFS_INODE_CLUSTER_SIZE(mp)	(mp)->m_inode_cluster_size
>>  
>> +/* Calculate and return the number of blocks per inode cluster */
>> +static inline int
>> +xfs_ialloc_blks_per_cluster(
>> +	struct xfs_mount	*mp)
>> +{
>> +	if (mp->m_sb.sb_blocksize >= XFS_INODE_CLUSTER_SIZE(mp))
>> +		return 1;
>> +	return XFS_INODE_CLUSTER_SIZE(mp) >> mp->m_sb.sb_blocklog;
>> +}
>
> I'd avoid using the XFS_INODE_CLUSTER_SIZE() macro - it's just a
> useless wrapper around mp->m_inode_cluster_size. Hence if you are
> cleaning this code up, the first thing I'd do is remove the macro.
> 
> /* Calculate and return the number of blocks per inode cluster */
> static inline int
> xfs_ialloc_blks_per_cluster(
> 	struct xfs_mount	*mp)
> {
> 	if (mp->m_sb.sb_blocksize >= mp->m_inode_cluster_size)
> 		return 1;
> 	return mp->m_inode_cluster_size >> mp->m_sb.sb_blocklog;
> }
> 
> Is much less shouty, and just as easy to read ;)
Yup, yup! I also considered to just remove this macros as mp->m_inode_cluster_size
is quite understood and actually, we avoid this macros in xfs_inobp_check(). :)
But that means I need to remove it from xlog_recover_buffer_pass2() and fix it's
comments in this patch as well.

Thanks,
-Jeff

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

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2013-12-12  2:22 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-12-11 13:48 [PATCH 1/5] xfs: introduce xfs_ialloc_blks_per_cluster Jeff Liu
2013-12-11 23:14 ` Dave Chinner
2013-12-12  2:22   ` Jeff Liu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox