xfs: introduce a common helper xfs_icluster_size_fsb
authorJie Liu <jeff.liu@oracle.com>
Fri, 13 Dec 2013 04:51:48 +0000 (15:51 +1100)
committerDave Chinner <david@fromorbit.com>
Fri, 13 Dec 2013 04:51:48 +0000 (15:51 +1100)
Introduce a common routine xfs_icluster_size_fsb() to calculate
and return the number of file system blocks per inode cluster.

Signed-off-by: Jie Liu <jeff.liu@oracle.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
fs/xfs/xfs_ialloc.h

index d86f8bd..812365d 100644 (file)
@@ -28,6 +28,16 @@ struct xfs_btree_cur;
 /* Move inodes in clusters of this size */
 #define        XFS_INODE_BIG_CLUSTER_SIZE      8192
 
+/* Calculate and return the number of filesystem blocks per inode cluster */
+static inline int
+xfs_icluster_size_fsb(
+       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;
+}
+
 /*
  * Make an inode pointer out of the buffer/offset.
  */