diff options
-rw-r--r-- | fs/xfs/xfs_ialloc.c | 10 | ||||
-rw-r--r-- | fs/xfs/xfs_ialloc.h | 5 | ||||
-rw-r--r-- | fs/xfs/xfs_inode.c | 10 | ||||
-rw-r--r-- | fs/xfs/xfs_itable.c | 4 | ||||
-rw-r--r-- | fs/xfs/xfs_log_recover.c | 8 | ||||
-rw-r--r-- | fs/xfs/xfs_trans_resv.c | 2 |
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) + |