Commit e6a4b37f38dca6e86b2648d172946700ee921e12

Authored by Tim Shimmin
Committed by Lachlan McIlroy
1 parent f7b7c3673e

[XFS] Remove the BPCSHIFT and NB* based macros from XFS.

The BPCSHIFT based macros, btoc*, ctob*, offtoc* and ctooff are either not
used or don't need to be used. The NDPP, NDPP, NBBY macros don't need to
be used but instead are replaced directly by PAGE_SIZE and PAGE_CACHE_SIZE
where appropriate. Initial patch and motivation from Nicolas Kaiser.

SGI-PV: 971186
SGI-Modid: xfs-linux-melb:xfs-kern:30096a

Signed-off-by: Tim Shimmin <tes@sgi.com>
Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>

Showing 7 changed files with 17 additions and 47 deletions Side-by-side Diff

fs/xfs/linux-2.6/xfs_linux.h
... ... @@ -138,42 +138,16 @@
138 138  
139 139 #define spinlock_destroy(lock)
140 140  
141   -#define NBPP PAGE_SIZE
142   -#define NDPP (1 << (PAGE_SHIFT - 9))
143   -
144 141 #define NBBY 8 /* number of bits per byte */
145   -#define NBPC PAGE_SIZE /* Number of bytes per click */
146   -#define BPCSHIFT PAGE_SHIFT /* LOG2(NBPC) if exact */
147 142  
148 143 /*
149 144 * Size of block device i/o is parameterized here.
150 145 * Currently the system supports page-sized i/o.
151 146 */
152   -#define BLKDEV_IOSHIFT BPCSHIFT
  147 +#define BLKDEV_IOSHIFT PAGE_CACHE_SHIFT
153 148 #define BLKDEV_IOSIZE (1<<BLKDEV_IOSHIFT)
154 149 /* number of BB's per block device block */
155 150 #define BLKDEV_BB BTOBB(BLKDEV_IOSIZE)
156   -
157   -/* bytes to clicks */
158   -#define btoc(x) (((__psunsigned_t)(x)+(NBPC-1))>>BPCSHIFT)
159   -#define btoct(x) ((__psunsigned_t)(x)>>BPCSHIFT)
160   -#define btoc64(x) (((__uint64_t)(x)+(NBPC-1))>>BPCSHIFT)
161   -#define btoct64(x) ((__uint64_t)(x)>>BPCSHIFT)
162   -
163   -/* off_t bytes to clicks */
164   -#define offtoc(x) (((__uint64_t)(x)+(NBPC-1))>>BPCSHIFT)
165   -#define offtoct(x) ((xfs_off_t)(x)>>BPCSHIFT)
166   -
167   -/* clicks to off_t bytes */
168   -#define ctooff(x) ((xfs_off_t)(x)<<BPCSHIFT)
169   -
170   -/* clicks to bytes */
171   -#define ctob(x) ((__psunsigned_t)(x)<<BPCSHIFT)
172   -#define btoct(x) ((__psunsigned_t)(x)>>BPCSHIFT)
173   -#define ctob64(x) ((__uint64_t)(x)<<BPCSHIFT)
174   -
175   -/* bytes to clicks */
176   -#define btoc(x) (((__psunsigned_t)(x)+(NBPC-1))>>BPCSHIFT)
177 151  
178 152 #define ENOATTR ENODATA /* Attribute not found */
179 153 #define EWRONGFS EINVAL /* Mount with wrong filesystem type */
fs/xfs/linux-2.6/xfs_lrw.c
... ... @@ -243,9 +243,8 @@
243 243  
244 244 if (unlikely(ioflags & IO_ISDIRECT)) {
245 245 if (VN_CACHED(vp))
246   - ret = xfs_flushinval_pages(ip,
247   - ctooff(offtoct(*offset)),
248   - -1, FI_REMAPF_LOCKED);
  246 + ret = xfs_flushinval_pages(ip, (*offset & PAGE_CACHE_MASK),
  247 + -1, FI_REMAPF_LOCKED);
249 248 mutex_unlock(&inode->i_mutex);
250 249 if (ret) {
251 250 xfs_iunlock(ip, XFS_IOLOCK_SHARED);
252 251  
... ... @@ -731,9 +730,9 @@
731 730 if (VN_CACHED(vp)) {
732 731 WARN_ON(need_i_mutex == 0);
733 732 xfs_inval_cached_trace(xip, pos, -1,
734   - ctooff(offtoct(pos)), -1);
  733 + (pos & PAGE_CACHE_MASK), -1);
735 734 error = xfs_flushinval_pages(xip,
736   - ctooff(offtoct(pos)),
  735 + (pos & PAGE_CACHE_MASK),
737 736 -1, FI_REMAPF_LOCKED);
738 737 if (error)
739 738 goto out_unlock_internal;
fs/xfs/quota/xfs_qm.h
... ... @@ -52,8 +52,8 @@
52 52 /*
53 53 * Dquot hashtable constants/threshold values.
54 54 */
55   -#define XFS_QM_HASHSIZE_LOW (NBPP / sizeof(xfs_dqhash_t))
56   -#define XFS_QM_HASHSIZE_HIGH ((NBPP * 4) / sizeof(xfs_dqhash_t))
  55 +#define XFS_QM_HASHSIZE_LOW (PAGE_SIZE / sizeof(xfs_dqhash_t))
  56 +#define XFS_QM_HASHSIZE_HIGH ((PAGE_SIZE * 4) / sizeof(xfs_dqhash_t))
57 57  
58 58 /*
59 59 * This defines the unit of allocation of dquots.
... ... @@ -2830,11 +2830,11 @@
2830 2830 args.prod = align;
2831 2831 if ((args.mod = (xfs_extlen_t)do_mod(ap->off, args.prod)))
2832 2832 args.mod = (xfs_extlen_t)(args.prod - args.mod);
2833   - } else if (mp->m_sb.sb_blocksize >= NBPP) {
  2833 + } else if (mp->m_sb.sb_blocksize >= PAGE_CACHE_SIZE) {
2834 2834 args.prod = 1;
2835 2835 args.mod = 0;
2836 2836 } else {
2837   - args.prod = NBPP >> mp->m_sb.sb_blocklog;
  2837 + args.prod = PAGE_CACHE_SIZE >> mp->m_sb.sb_blocklog;
2838 2838 if ((args.mod = (xfs_extlen_t)(do_mod(ap->off, args.prod))))
2839 2839 args.mod = (xfs_extlen_t)(args.prod - args.mod);
2840 2840 }
... ... @@ -399,7 +399,7 @@
399 399 (XFS_INODE_CLUSTER_SIZE(mp) >> mp->m_sb.sb_inodelog);
400 400 nimask = ~(nicluster - 1);
401 401 nbcluster = nicluster >> mp->m_sb.sb_inopblog;
402   - irbuf = kmem_zalloc_greedy(&irbsize, NBPC, NBPC * 4,
  402 + irbuf = kmem_zalloc_greedy(&irbsize, PAGE_SIZE, PAGE_SIZE * 4,
403 403 KM_SLEEP | KM_MAYFAIL | KM_LARGE);
404 404 nirbuf = irbsize / sizeof(*irbuf);
405 405  
... ... @@ -830,7 +830,7 @@
830 830 agino = XFS_INO_TO_AGINO(mp, ino);
831 831 left = *count;
832 832 *count = 0;
833   - bcount = MIN(left, (int)(NBPP / sizeof(*buffer)));
  833 + bcount = MIN(left, (int)(PAGE_SIZE / sizeof(*buffer)));
834 834 buffer = kmem_alloc(bcount * sizeof(*buffer), KM_SLEEP);
835 835 error = bufidx = 0;
836 836 cur = NULL;
... ... @@ -1552,7 +1552,7 @@
1552 1552 tic = log->l_unmount_free;
1553 1553 while (tic) {
1554 1554 next_tic = tic->t_next;
1555   - kmem_free(tic, NBPP);
  1555 + kmem_free(tic, PAGE_SIZE);
1556 1556 tic = next_tic;
1557 1557 }
1558 1558 }
1559 1559  
... ... @@ -3161,13 +3161,13 @@
3161 3161 xlog_ticket_t *t_list;
3162 3162 xlog_ticket_t *next;
3163 3163 xfs_caddr_t buf;
3164   - uint i = (NBPP / sizeof(xlog_ticket_t)) - 2;
  3164 + uint i = (PAGE_SIZE / sizeof(xlog_ticket_t)) - 2;
3165 3165  
3166 3166 /*
3167 3167 * The kmem_zalloc may sleep, so we shouldn't be holding the
3168 3168 * global lock. XXXmiken: may want to use zone allocator.
3169 3169 */
3170   - buf = (xfs_caddr_t) kmem_zalloc(NBPP, KM_SLEEP);
  3170 + buf = (xfs_caddr_t) kmem_zalloc(PAGE_SIZE, KM_SLEEP);
3171 3171  
3172 3172 spin_lock(&log->l_icloglock);
3173 3173  
fs/xfs/xfs_vnodeops.c
... ... @@ -4164,15 +4164,12 @@
4164 4164 vn_iowait(ip); /* wait for the completion of any pending DIOs */
4165 4165 }
4166 4166  
4167   - rounding = max_t(uint, 1 << mp->m_sb.sb_blocklog, NBPP);
  4167 + rounding = max_t(uint, 1 << mp->m_sb.sb_blocklog, PAGE_CACHE_SIZE);
4168 4168 ioffset = offset & ~(rounding - 1);
4169 4169  
4170 4170 if (VN_CACHED(vp) != 0) {
4171   - xfs_inval_cached_trace(ip, ioffset, -1,
4172   - ctooff(offtoct(ioffset)), -1);
4173   - error = xfs_flushinval_pages(ip,
4174   - ctooff(offtoct(ioffset)),
4175   - -1, FI_REMAPF_LOCKED);
  4171 + xfs_inval_cached_trace(ip, ioffset, -1, ioffset, -1);
  4172 + error = xfs_flushinval_pages(ip, ioffset, -1, FI_REMAPF_LOCKED);
4176 4173 if (error)
4177 4174 goto out_unlock_iolock;
4178 4175 }