aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--fs/xfs/xfs_ialloc.c10
-rw-r--r--fs/xfs/xfs_ialloc.h5
-rw-r--r--fs/xfs/xfs_inode.c10
-rw-r--r--fs/xfs/xfs_itable.c4
-rw-r--r--fs/xfs/xfs_log_recover.c8
-rw-r--r--fs/xfs/xfs_trans_resv.c2
6 files changed, 18 insertions, 21 deletions
diff --git a/fs/xfs/xfs_ialloc.c b/fs/xfs/xfs_ialloc.c
index 2f87a53f74fe..3ac5eb6bf856 100644
--- a/fs/xfs/xfs_ialloc.c
+++ b/fs/xfs/xfs_ialloc.c
@@ -52,7 +52,7 @@ xfs_ialloc_cluster_alignment(
52{ 52{
53 if (xfs_sb_version_hasalign(&args->mp->m_sb) && 53 if (xfs_sb_version_hasalign(&args->mp->m_sb) &&
54 args->mp->m_sb.sb_inoalignmt >= 54 args->mp->m_sb.sb_inoalignmt >=
55 XFS_B_TO_FSBT(args->mp, XFS_INODE_CLUSTER_SIZE(args->mp))) 55 XFS_B_TO_FSBT(args->mp, args->mp->m_inode_cluster_size))
56 return args->mp->m_sb.sb_inoalignmt; 56 return args->mp->m_sb.sb_inoalignmt;
57 return 1; 57 return 1;
58} 58}
@@ -181,12 +181,12 @@ xfs_ialloc_inode_init(
181 * For small block sizes, manipulate the inodes in buffers 181 * For small block sizes, manipulate the inodes in buffers
182 * which are multiples of the blocks size. 182 * which are multiples of the blocks size.
183 */ 183 */
184 if (mp->m_sb.sb_blocksize >= XFS_INODE_CLUSTER_SIZE(mp)) { 184 if (mp->m_sb.sb_blocksize >= mp->m_inode_cluster_size) {
185 blks_per_cluster = 1; 185 blks_per_cluster = 1;
186 nbufs = length; 186 nbufs = length;
187 ninodes = mp->m_sb.sb_inopblock; 187 ninodes = mp->m_sb.sb_inopblock;
188 } else { 188 } else {
189 blks_per_cluster = XFS_INODE_CLUSTER_SIZE(mp) / 189 blks_per_cluster = mp->m_inode_cluster_size /
190 mp->m_sb.sb_blocksize; 190 mp->m_sb.sb_blocksize;
191 nbufs = length / blks_per_cluster; 191 nbufs = length / blks_per_cluster;
192 ninodes = blks_per_cluster * mp->m_sb.sb_inopblock; 192 ninodes = blks_per_cluster * mp->m_sb.sb_inopblock;
@@ -1384,7 +1384,7 @@ xfs_imap(
1384 return XFS_ERROR(EINVAL); 1384 return XFS_ERROR(EINVAL);
1385 } 1385 }
1386 1386
1387 blks_per_cluster = XFS_INODE_CLUSTER_SIZE(mp) >> mp->m_sb.sb_blocklog; 1387 blks_per_cluster = mp->m_inode_cluster_size >> mp->m_sb.sb_blocklog;
1388 1388
1389 /* 1389 /*
1390 * For bulkstat and handle lookups, we have an untrusted inode number 1390 * For bulkstat and handle lookups, we have an untrusted inode number
@@ -1405,7 +1405,7 @@ xfs_imap(
1405 * If the inode cluster size is the same as the blocksize or 1405 * If the inode cluster size is the same as the blocksize or
1406 * smaller we get to the buffer by simple arithmetics. 1406 * smaller we get to the buffer by simple arithmetics.
1407 */ 1407 */
1408 if (XFS_INODE_CLUSTER_SIZE(mp) <= mp->m_sb.sb_blocksize) { 1408 if (mp->m_inode_cluster_size <= mp->m_sb.sb_blocksize) {
1409 offset = XFS_INO_TO_OFFSET(mp, ino); 1409 offset = XFS_INO_TO_OFFSET(mp, ino);
1410 ASSERT(offset < mp->m_sb.sb_inopblock); 1410 ASSERT(offset < mp->m_sb.sb_inopblock);
1411 1411
diff --git a/fs/xfs/xfs_ialloc.h b/fs/xfs/xfs_ialloc.h
index 4689b025f79f..98ce63e35bd4 100644
--- a/fs/xfs/xfs_ialloc.h
+++ b/fs/xfs/xfs_ialloc.h
@@ -30,11 +30,8 @@ struct xfs_btree_cur;
30 */ 30 */
31#define XFS_IALLOC_BLOCKS(mp) (mp)->m_ialloc_blks 31#define XFS_IALLOC_BLOCKS(mp) (mp)->m_ialloc_blks
32 32
33/* 33/* Move inodes in clusters of this size */
34 * Move inodes in clusters of this size.
35 */
36#define XFS_INODE_BIG_CLUSTER_SIZE 8192 34#define XFS_INODE_BIG_CLUSTER_SIZE 8192
37#define XFS_INODE_CLUSTER_SIZE(mp) (mp)->m_inode_cluster_size
38 35
39/* 36/*
40 * Make an inode pointer out of the buffer/offset. 37 * Make an inode pointer out of the buffer/offset.
diff --git a/fs/xfs/xfs_inode.c b/fs/xfs/xfs_inode.c
index 001aa893ed59..c1642c9a7e66 100644
--- a/fs/xfs/xfs_inode.c
+++ b/fs/xfs/xfs_inode.c
@@ -2152,13 +2152,13 @@ xfs_ifree_cluster(
2152 struct xfs_perag *pag; 2152 struct xfs_perag *pag;
2153 2153
2154 pag = xfs_perag_get(mp, XFS_INO_TO_AGNO(mp, inum)); 2154 pag = xfs_perag_get(mp, XFS_INO_TO_AGNO(mp, inum));
2155 if (mp->m_sb.sb_blocksize >= XFS_INODE_CLUSTER_SIZE(mp)) { 2155 if (mp->m_sb.sb_blocksize >= mp->m_inode_cluster_size) {
2156 blks_per_cluster = 1; 2156 blks_per_cluster = 1;
2157 ninodes = mp->m_sb.sb_inopblock; 2157 ninodes = mp->m_sb.sb_inopblock;
2158 nbufs = XFS_IALLOC_BLOCKS(mp); 2158 nbufs = XFS_IALLOC_BLOCKS(mp);
2159 } else { 2159 } else {
2160 blks_per_cluster = XFS_INODE_CLUSTER_SIZE(mp) / 2160 blks_per_cluster = mp->m_inode_cluster_size /
2161 mp->m_sb.sb_blocksize; 2161 mp->m_sb.sb_blocksize;
2162 ninodes = blks_per_cluster * mp->m_sb.sb_inopblock; 2162 ninodes = blks_per_cluster * mp->m_sb.sb_inopblock;
2163 nbufs = XFS_IALLOC_BLOCKS(mp) / blks_per_cluster; 2163 nbufs = XFS_IALLOC_BLOCKS(mp) / blks_per_cluster;
2164 } 2164 }
@@ -2906,13 +2906,13 @@ xfs_iflush_cluster(
2906 2906
2907 pag = xfs_perag_get(mp, XFS_INO_TO_AGNO(mp, ip->i_ino)); 2907 pag = xfs_perag_get(mp, XFS_INO_TO_AGNO(mp, ip->i_ino));
2908 2908
2909 inodes_per_cluster = XFS_INODE_CLUSTER_SIZE(mp) >> mp->m_sb.sb_inodelog; 2909 inodes_per_cluster = mp->m_inode_cluster_size >> mp->m_sb.sb_inodelog;
2910 ilist_size = inodes_per_cluster * sizeof(xfs_inode_t *); 2910 ilist_size = inodes_per_cluster * sizeof(xfs_inode_t *);
2911 ilist = kmem_alloc(ilist_size, KM_MAYFAIL|KM_NOFS); 2911 ilist = kmem_alloc(ilist_size, KM_MAYFAIL|KM_NOFS);
2912 if (!ilist) 2912 if (!ilist)
2913 goto out_put; 2913 goto out_put;
2914 2914
2915 mask = ~(((XFS_INODE_CLUSTER_SIZE(mp) >> mp->m_sb.sb_inodelog)) - 1); 2915 mask = ~(((mp->m_inode_cluster_size >> mp->m_sb.sb_inodelog)) - 1);
2916 first_index = XFS_INO_TO_AGINO(mp, ip->i_ino) & mask; 2916 first_index = XFS_INO_TO_AGINO(mp, ip->i_ino) & mask;
2917 rcu_read_lock(); 2917 rcu_read_lock();
2918 /* really need a gang lookup range call here */ 2918 /* really need a gang lookup range call here */
diff --git a/fs/xfs/xfs_itable.c b/fs/xfs/xfs_itable.c
index c237ad15d500..0571012f67c0 100644
--- a/fs/xfs/xfs_itable.c
+++ b/fs/xfs/xfs_itable.c
@@ -243,9 +243,9 @@ xfs_bulkstat(
243 *done = 0; 243 *done = 0;
244 fmterror = 0; 244 fmterror = 0;
245 ubufp = ubuffer; 245 ubufp = ubuffer;
246 nicluster = mp->m_sb.sb_blocksize >= XFS_INODE_CLUSTER_SIZE(mp) ? 246 nicluster = mp->m_sb.sb_blocksize >= mp->m_inode_cluster_size ?
247 mp->m_sb.sb_inopblock : 247 mp->m_sb.sb_inopblock :
248 (XFS_INODE_CLUSTER_SIZE(mp) >> mp->m_sb.sb_inodelog); 248 (mp->m_inode_cluster_size >> mp->m_sb.sb_inodelog);
249 nimask = ~(nicluster - 1); 249 nimask = ~(nicluster - 1);
250 nbcluster = nicluster >> mp->m_sb.sb_inopblog; 250 nbcluster = nicluster >> mp->m_sb.sb_inopblog;
251 irbuf = kmem_zalloc_greedy(&irbsize, PAGE_SIZE, PAGE_SIZE * 4); 251 irbuf = kmem_zalloc_greedy(&irbsize, PAGE_SIZE, PAGE_SIZE * 4);
diff --git a/fs/xfs/xfs_log_recover.c b/fs/xfs/xfs_log_recover.c
index f76de2eadb6d..42458ab7a336 100644
--- a/fs/xfs/xfs_log_recover.c
+++ b/fs/xfs/xfs_log_recover.c
@@ -2523,19 +2523,19 @@ xlog_recover_buffer_pass2(
2523 * 2523 *
2524 * Also make sure that only inode buffers with good sizes stay in 2524 * Also make sure that only inode buffers with good sizes stay in
2525 * the buffer cache. The kernel moves inodes in buffers of 1 block 2525 * the buffer cache. The kernel moves inodes in buffers of 1 block
2526 * or XFS_INODE_CLUSTER_SIZE bytes, whichever is bigger. The inode 2526 * or mp->m_inode_cluster_size bytes, whichever is bigger. The inode
2527 * buffers in the log can be a different size if the log was generated 2527 * buffers in the log can be a different size if the log was generated
2528 * by an older kernel using unclustered inode buffers or a newer kernel 2528 * by an older kernel using unclustered inode buffers or a newer kernel
2529 * running with a different inode cluster size. Regardless, if the 2529 * running with a different inode cluster size. Regardless, if the
2530 * the inode buffer size isn't MAX(blocksize, XFS_INODE_CLUSTER_SIZE) 2530 * the inode buffer size isn't MAX(blocksize, mp->m_inode_cluster_size)
2531 * for *our* value of XFS_INODE_CLUSTER_SIZE, then we need to keep 2531 * for *our* value of mp->m_inode_cluster_size, then we need to keep
2532 * the buffer out of the buffer cache so that the buffer won't 2532 * the buffer out of the buffer cache so that the buffer won't
2533 * overlap with future reads of those inodes. 2533 * overlap with future reads of those inodes.
2534 */ 2534 */
2535 if (XFS_DINODE_MAGIC == 2535 if (XFS_DINODE_MAGIC ==
2536 be16_to_cpu(*((__be16 *)xfs_buf_offset(bp, 0))) && 2536 be16_to_cpu(*((__be16 *)xfs_buf_offset(bp, 0))) &&
2537 (BBTOB(bp->b_io_length) != MAX(log->l_mp->m_sb.sb_blocksize, 2537 (BBTOB(bp->b_io_length) != MAX(log->l_mp->m_sb.sb_blocksize,
2538 (__uint32_t)XFS_INODE_CLUSTER_SIZE(log->l_mp)))) { 2538 (__uint32_t)log->l_mp->m_inode_cluster_size))) {
2539 xfs_buf_stale(bp); 2539 xfs_buf_stale(bp);
2540 error = xfs_bwrite(bp); 2540 error = xfs_bwrite(bp);
2541 } else { 2541 } else {
diff --git a/fs/xfs/xfs_trans_resv.c b/fs/xfs/xfs_trans_resv.c
index 2fd59c0dae66..51c181dde119 100644
--- a/fs/xfs/xfs_trans_resv.c
+++ b/fs/xfs/xfs_trans_resv.c
@@ -385,7 +385,7 @@ xfs_calc_ifree_reservation(
385 xfs_calc_inode_res(mp, 1) + 385 xfs_calc_inode_res(mp, 1) +
386 xfs_calc_buf_res(2, mp->m_sb.sb_sectsize) + 386 xfs_calc_buf_res(2, mp->m_sb.sb_sectsize) +
387 xfs_calc_buf_res(1, XFS_FSB_TO_B(mp, 1)) + 387 xfs_calc_buf_res(1, XFS_FSB_TO_B(mp, 1)) +
388 max_t(uint, XFS_FSB_TO_B(mp, 1), XFS_INODE_CLUSTER_SIZE(mp)) + 388 max_t(uint, XFS_FSB_TO_B(mp, 1), mp->m_inode_cluster_size) +
389 xfs_calc_buf_res(1, 0) + 389 xfs_calc_buf_res(1, 0) +
390 xfs_calc_buf_res(2 + XFS_IALLOC_BLOCKS(mp) + 390 xfs_calc_buf_res(2 + XFS_IALLOC_BLOCKS(mp) +
391 mp->m_in_maxlevels, 0) + 391 mp->m_in_maxlevels, 0) +