Lines Matching +full:block +full:- +full:number
1 // SPDX-License-Identifier: GPL-2.0
3 * Copyright (c) 2000-2005 Silicon Graphics, Inc.
37 struct xfs_mount *mp = bp->b_mount; in xfs_rtbuf_verify()
38 struct xfs_rtbuf_blkinfo *hdr = bp->b_addr; in xfs_rtbuf_verify()
40 if (!xfs_verify_magic(bp, hdr->rt_magic)) in xfs_rtbuf_verify()
46 if (!uuid_equal(&hdr->rt_uuid, &mp->m_sb.sb_meta_uuid)) in xfs_rtbuf_verify()
48 if (hdr->rt_blkno != cpu_to_be64(xfs_buf_daddr(bp))) in xfs_rtbuf_verify()
57 struct xfs_mount *mp = bp->b_mount; in xfs_rtbuf_verify_read()
58 struct xfs_rtbuf_blkinfo *hdr = bp->b_addr; in xfs_rtbuf_verify_read()
64 if (!xfs_log_check_lsn(mp, be64_to_cpu(hdr->rt_lsn))) { in xfs_rtbuf_verify_read()
80 xfs_verifier_error(bp, -EFSCORRUPTED, fa); in xfs_rtbuf_verify_read()
87 struct xfs_mount *mp = bp->b_mount; in xfs_rtbuf_verify_write()
88 struct xfs_rtbuf_blkinfo *hdr = bp->b_addr; in xfs_rtbuf_verify_write()
89 struct xfs_buf_log_item *bip = bp->b_log_item; in xfs_rtbuf_verify_write()
97 xfs_verifier_error(bp, -EFSCORRUPTED, fa); in xfs_rtbuf_verify_write()
102 hdr->rt_lsn = cpu_to_be64(bip->bli_item.li_lsn); in xfs_rtbuf_verify_write()
133 if (args->rbmbp) { in xfs_rtbuf_cache_relse()
134 xfs_trans_brelse(args->tp, args->rbmbp); in xfs_rtbuf_cache_relse()
135 args->rbmbp = NULL; in xfs_rtbuf_cache_relse()
136 args->rbmoff = NULLFILEOFF; in xfs_rtbuf_cache_relse()
138 if (args->sumbp) { in xfs_rtbuf_cache_relse()
139 xfs_trans_brelse(args->tp, args->sumbp); in xfs_rtbuf_cache_relse()
140 args->sumbp = NULL; in xfs_rtbuf_cache_relse()
141 args->sumoff = NULLFILEOFF; in xfs_rtbuf_cache_relse()
146 * Get a buffer for the bitmap or summary file block specified.
152 xfs_fileoff_t block, /* block number in bitmap or summary */ in xfs_rtbuf_get() argument
155 struct xfs_inode *ip = args->rtg->rtg_inodes[type]; in xfs_rtbuf_get()
156 struct xfs_mount *mp = args->mp; in xfs_rtbuf_get()
157 struct xfs_buf **cbpp; /* cached block buffer */ in xfs_rtbuf_get()
158 xfs_fileoff_t *coffp; /* cached block number */ in xfs_rtbuf_get()
159 struct xfs_buf *bp; /* block buffer, result */ in xfs_rtbuf_get()
167 cbpp = &args->sumbp; in xfs_rtbuf_get()
168 coffp = &args->sumoff; in xfs_rtbuf_get()
172 cbpp = &args->rbmbp; in xfs_rtbuf_get()
173 coffp = &args->rbmoff; in xfs_rtbuf_get()
177 return -EINVAL; in xfs_rtbuf_get()
181 * If we have a cached buffer, and the block number matches, use that. in xfs_rtbuf_get()
183 if (*cbpp && *coffp == block) in xfs_rtbuf_get()
191 xfs_trans_brelse(args->tp, *cbpp); in xfs_rtbuf_get()
195 error = xfs_bmapi_read(ip, block, 1, &map, &nmap, 0); in xfs_rtbuf_get()
200 xfs_rtginode_mark_sick(args->rtg, type); in xfs_rtbuf_get()
201 return -EFSCORRUPTED; in xfs_rtbuf_get()
205 error = xfs_trans_read_buf(mp, args->tp, mp->m_ddev_targp, in xfs_rtbuf_get()
207 mp->m_bsize, 0, &bp, in xfs_rtbuf_get()
210 xfs_rtginode_mark_sick(args->rtg, type); in xfs_rtbuf_get()
215 struct xfs_rtbuf_blkinfo *hdr = bp->b_addr; in xfs_rtbuf_get()
217 if (hdr->rt_owner != cpu_to_be64(ip->i_ino)) { in xfs_rtbuf_get()
219 xfs_trans_brelse(args->tp, bp); in xfs_rtbuf_get()
220 xfs_rtginode_mark_sick(args->rtg, type); in xfs_rtbuf_get()
221 return -EFSCORRUPTED; in xfs_rtbuf_get()
225 xfs_trans_buf_set_type(args->tp, bp, buf_type); in xfs_rtbuf_get()
227 *coffp = block; in xfs_rtbuf_get()
234 xfs_fileoff_t block) in xfs_rtbitmap_read_buf() argument
236 struct xfs_mount *mp = args->mp; in xfs_rtbitmap_read_buf()
238 if (XFS_IS_CORRUPT(mp, block >= mp->m_sb.sb_rbmblocks)) { in xfs_rtbitmap_read_buf()
239 xfs_rtginode_mark_sick(args->rtg, XFS_RTGI_BITMAP); in xfs_rtbitmap_read_buf()
240 return -EFSCORRUPTED; in xfs_rtbitmap_read_buf()
243 return xfs_rtbuf_get(args, block, XFS_RTGI_BITMAP); in xfs_rtbitmap_read_buf()
249 xfs_fileoff_t block) in xfs_rtsummary_read_buf() argument
251 struct xfs_mount *mp = args->mp; in xfs_rtsummary_read_buf()
253 if (XFS_IS_CORRUPT(mp, block >= mp->m_rsumblocks)) { in xfs_rtsummary_read_buf()
254 xfs_rtginode_mark_sick(args->rtg, XFS_RTGI_SUMMARY); in xfs_rtsummary_read_buf()
255 return -EFSCORRUPTED; in xfs_rtsummary_read_buf()
257 return xfs_rtbuf_get(args, block, XFS_RTGI_SUMMARY); in xfs_rtsummary_read_buf()
261 * Searching backward from start find the first block whose allocated/free state
270 struct xfs_mount *mp = args->mp; in xfs_rtfind_back()
271 int bit; /* bit number in the word */ in xfs_rtfind_back()
272 xfs_fileoff_t block; /* bitmap block number */ in xfs_rtfind_back() local
275 xfs_rtxnum_t i; /* current bit number rel. to start */ in xfs_rtfind_back()
281 unsigned int word; /* word number in the buffer */ in xfs_rtfind_back()
284 * Compute and read in starting bitmap block for starting block. in xfs_rtfind_back()
286 block = xfs_rtx_to_rbmblock(mp, start); in xfs_rtfind_back()
287 error = xfs_rtbitmap_read_buf(args, block); in xfs_rtfind_back()
295 bit = (int)(start & (XFS_NBWORD - 1)); in xfs_rtfind_back()
299 * then all-ones, else all-zeroes. in xfs_rtfind_back()
302 want = (incore & ((xfs_rtword_t)1 << bit)) ? -1 : 0; in xfs_rtfind_back()
304 * If the starting position is not word-aligned, deal with the in xfs_rtfind_back()
307 if (bit < XFS_NBWORD - 1) { in xfs_rtfind_back()
309 * Calculate first (leftmost) bit number to look at, in xfs_rtfind_back()
312 firstbit = max_t(xfs_srtblock_t, bit - len + 1, 0); in xfs_rtfind_back()
313 mask = (((xfs_rtword_t)1 << (bit - firstbit + 1)) - 1) << in xfs_rtfind_back()
323 i = bit - xfs_highbit32(wdiff); in xfs_rtfind_back()
324 *rtx = start - i + 1; in xfs_rtfind_back()
327 i = bit - firstbit + 1; in xfs_rtfind_back()
329 * Go on to previous block if that's where the previous word is in xfs_rtfind_back()
332 if (--word == -1 && i < len) { in xfs_rtfind_back()
334 * If done with this block, get the previous one. in xfs_rtfind_back()
336 error = xfs_rtbitmap_read_buf(args, --block); in xfs_rtfind_back()
340 word = mp->m_blockwsize - 1; in xfs_rtfind_back()
352 while (len - i >= XFS_NBWORD) { in xfs_rtfind_back()
361 i += XFS_NBWORD - 1 - xfs_highbit32(wdiff); in xfs_rtfind_back()
362 *rtx = start - i + 1; in xfs_rtfind_back()
367 * Go on to previous block if that's where the previous word is in xfs_rtfind_back()
370 if (--word == -1 && i < len) { in xfs_rtfind_back()
372 * If done with this block, get the previous one. in xfs_rtfind_back()
374 error = xfs_rtbitmap_read_buf(args, --block); in xfs_rtfind_back()
378 word = mp->m_blockwsize - 1; in xfs_rtfind_back()
385 if (len - i) { in xfs_rtfind_back()
387 * Calculate first (leftmost) bit number to look at, in xfs_rtfind_back()
390 firstbit = XFS_NBWORD - (len - i); in xfs_rtfind_back()
391 mask = (((xfs_rtword_t)1 << (len - i)) - 1) << firstbit; in xfs_rtfind_back()
400 i += XFS_NBWORD - 1 - xfs_highbit32(wdiff); in xfs_rtfind_back()
401 *rtx = start - i + 1; in xfs_rtfind_back()
409 *rtx = start - i + 1; in xfs_rtfind_back()
414 * Searching forward from start to limit, find the first block whose
424 struct xfs_mount *mp = args->mp; in xfs_rtfind_forw()
425 int bit; /* bit number in the word */ in xfs_rtfind_forw()
426 xfs_fileoff_t block; /* bitmap block number */ in xfs_rtfind_forw() local
428 xfs_rtxnum_t i; /* current bit number rel. to start */ in xfs_rtfind_forw()
435 unsigned int word; /* word number in the buffer */ in xfs_rtfind_forw()
440 * Compute and read in starting bitmap block for starting block. in xfs_rtfind_forw()
442 block = xfs_rtx_to_rbmblock(mp, start); in xfs_rtfind_forw()
443 error = xfs_rtbitmap_read_buf(args, block); in xfs_rtfind_forw()
451 bit = (int)(start & (XFS_NBWORD - 1)); in xfs_rtfind_forw()
452 len = limit - start + 1; in xfs_rtfind_forw()
455 * then all-ones, else all-zeroes. in xfs_rtfind_forw()
458 want = (incore & ((xfs_rtword_t)1 << bit)) ? -1 : 0; in xfs_rtfind_forw()
460 * If the starting position is not word-aligned, deal with the in xfs_rtfind_forw()
465 * Calculate last (rightmost) bit number to look at, in xfs_rtfind_forw()
469 mask = (((xfs_rtword_t)1 << (lastbit - bit)) - 1) << bit; in xfs_rtfind_forw()
478 i = xfs_lowbit32(wdiff) - bit; in xfs_rtfind_forw()
479 *rtx = start + i - 1; in xfs_rtfind_forw()
482 i = lastbit - bit; in xfs_rtfind_forw()
484 * Go on to next block if that's where the next word is in xfs_rtfind_forw()
487 if (++word == mp->m_blockwsize && i < len) { in xfs_rtfind_forw()
489 * If done with this block, get the previous one. in xfs_rtfind_forw()
491 error = xfs_rtbitmap_read_buf(args, ++block); in xfs_rtfind_forw()
507 while (len - i >= XFS_NBWORD) { in xfs_rtfind_forw()
517 *rtx = start + i - 1; in xfs_rtfind_forw()
522 * Go on to next block if that's where the next word is in xfs_rtfind_forw()
525 if (++word == mp->m_blockwsize && i < len) { in xfs_rtfind_forw()
527 * If done with this block, get the next one. in xfs_rtfind_forw()
529 error = xfs_rtbitmap_read_buf(args, ++block); in xfs_rtfind_forw()
540 if ((lastbit = len - i)) { in xfs_rtfind_forw()
544 mask = ((xfs_rtword_t)1 << lastbit) - 1; in xfs_rtfind_forw()
554 *rtx = start + i - 1; in xfs_rtfind_forw()
562 *rtx = start + i - 1; in xfs_rtfind_forw()
572 struct xfs_buf *bp = args->sumbp; in xfs_trans_log_rtsummary()
575 first = (void *)xfs_rsumblock_infoptr(args, infoword) - bp->b_addr; in xfs_trans_log_rtsummary()
576 last = first + sizeof(xfs_suminfo_t) - 1; in xfs_trans_log_rtsummary()
578 xfs_trans_log_buf(args->tp, bp, first, last); in xfs_trans_log_rtsummary()
582 * Modify the summary information for a given extent size, bitmap block
589 xfs_fileoff_t bbno, /* bitmap block number */ in xfs_rtmodify_summary()
590 int delta) /* in/out: summary block number */ in xfs_rtmodify_summary()
592 struct xfs_mount *mp = args->mp; in xfs_rtmodify_summary()
594 uint8_t *rsum_cache = args->rtg->rtg_rsum_cache; in xfs_rtmodify_summary()
618 * Read and return the summary information for a given extent size, bitmap block
625 xfs_fileoff_t bbno, /* bitmap block number */ in xfs_rtget_summary()
626 xfs_suminfo_t *sum) /* out: summary info for this block */ in xfs_rtget_summary()
628 struct xfs_mount *mp = args->mp; in xfs_rtget_summary()
638 /* Log rtbitmap block from the word @from to the byte before @next. */
645 struct xfs_buf *bp = args->rbmbp; in xfs_trans_log_rtbitmap()
648 first = (void *)xfs_rbmblock_wordptr(args, from) - bp->b_addr; in xfs_trans_log_rtbitmap()
649 last = ((void *)xfs_rbmblock_wordptr(args, next) - 1) - bp->b_addr; in xfs_trans_log_rtbitmap()
651 xfs_trans_log_buf(args->tp, bp, first, last); in xfs_trans_log_rtbitmap()
665 struct xfs_mount *mp = args->mp; in xfs_rtmodify_range()
666 int bit; /* bit number in the word */ in xfs_rtmodify_range()
667 xfs_fileoff_t block; /* bitmap block number */ in xfs_rtmodify_range() local
669 int i; /* current bit number rel. to start */ in xfs_rtmodify_range()
674 unsigned int word; /* word number in the buffer */ in xfs_rtmodify_range()
677 * Compute starting bitmap block number. in xfs_rtmodify_range()
679 block = xfs_rtx_to_rbmblock(mp, start); in xfs_rtmodify_range()
681 * Read the bitmap block, and point to its data. in xfs_rtmodify_range()
683 error = xfs_rtbitmap_read_buf(args, block); in xfs_rtmodify_range()
691 bit = (int)(start & (XFS_NBWORD - 1)); in xfs_rtmodify_range()
695 val = -val; in xfs_rtmodify_range()
705 mask = (((xfs_rtword_t)1 << (lastbit - bit)) - 1) << bit; in xfs_rtmodify_range()
715 i = lastbit - bit; in xfs_rtmodify_range()
717 * Go on to the next block if that's where the next word is in xfs_rtmodify_range()
720 if (++word == mp->m_blockwsize && i < len) { in xfs_rtmodify_range()
722 * Log the changed part of this block. in xfs_rtmodify_range()
726 error = xfs_rtbitmap_read_buf(args, ++block); in xfs_rtmodify_range()
742 while (len - i >= XFS_NBWORD) { in xfs_rtmodify_range()
749 * Go on to the next block if that's where the next word is in xfs_rtmodify_range()
752 if (++word == mp->m_blockwsize && i < len) { in xfs_rtmodify_range()
754 * Log the changed part of this block. in xfs_rtmodify_range()
758 error = xfs_rtbitmap_read_buf(args, ++block); in xfs_rtmodify_range()
769 if ((lastbit = len - i)) { in xfs_rtmodify_range()
773 mask = ((xfs_rtword_t)1 << lastbit) - 1; in xfs_rtmodify_range()
801 xfs_rtxlen_t len) /* in/out: summary block number */ in xfs_rtfree_range()
803 struct xfs_mount *mp = args->mp; in xfs_rtfree_range()
809 end = start + len - 1; in xfs_rtfree_range()
827 * Find the next allocated block (end of allocated extent). in xfs_rtfree_range()
829 error = xfs_rtfind_forw(args, end, args->rtg->rtg_extents - 1, in xfs_rtfree_range()
839 xfs_highbit64(start - preblock), in xfs_rtfree_range()
840 xfs_rtx_to_rbmblock(mp, preblock), -1); in xfs_rtfree_range()
851 xfs_highbit64(postblock - end), in xfs_rtfree_range()
852 xfs_rtx_to_rbmblock(mp, end + 1), -1); in xfs_rtfree_range()
862 xfs_highbit64(postblock + 1 - preblock), in xfs_rtfree_range()
873 xfs_rtxnum_t start, /* starting rtext number of extent */ in xfs_rtcheck_range()
879 struct xfs_mount *mp = args->mp; in xfs_rtcheck_range()
880 int bit; /* bit number in the word */ in xfs_rtcheck_range()
881 xfs_fileoff_t block; /* bitmap block number */ in xfs_rtcheck_range() local
883 xfs_rtxnum_t i; /* current bit number rel. to start */ in xfs_rtcheck_range()
888 unsigned int word; /* word number in the buffer */ in xfs_rtcheck_range()
891 * Compute starting bitmap block number in xfs_rtcheck_range()
893 block = xfs_rtx_to_rbmblock(mp, start); in xfs_rtcheck_range()
895 * Read the bitmap block. in xfs_rtcheck_range()
897 error = xfs_rtbitmap_read_buf(args, block); in xfs_rtcheck_range()
905 bit = (int)(start & (XFS_NBWORD - 1)); in xfs_rtcheck_range()
909 val = -val; in xfs_rtcheck_range()
922 mask = (((xfs_rtword_t)1 << (lastbit - bit)) - 1) << bit; in xfs_rtcheck_range()
931 i = xfs_lowbit32(wdiff) - bit; in xfs_rtcheck_range()
936 i = lastbit - bit; in xfs_rtcheck_range()
938 * Go on to next block if that's where the next word is in xfs_rtcheck_range()
941 if (++word == mp->m_blockwsize && i < len) { in xfs_rtcheck_range()
943 * If done with this block, get the next one. in xfs_rtcheck_range()
945 error = xfs_rtbitmap_read_buf(args, ++block); in xfs_rtcheck_range()
961 while (len - i >= XFS_NBWORD) { in xfs_rtcheck_range()
977 * Go on to next block if that's where the next word is in xfs_rtcheck_range()
980 if (++word == mp->m_blockwsize && i < len) { in xfs_rtcheck_range()
982 * If done with this block, get the next one. in xfs_rtcheck_range()
984 error = xfs_rtbitmap_read_buf(args, ++block); in xfs_rtcheck_range()
995 if ((lastbit = len - i)) { in xfs_rtcheck_range()
999 mask = ((xfs_rtword_t)1 << lastbit) - 1; in xfs_rtcheck_range()
1025 * Check that the given extent (block range) is allocated already.
1030 xfs_rtxnum_t start, /* starting rtext number of extent */ in xfs_rtcheck_alloc_range()
1048 * realtime extents, as is the block number.
1054 xfs_rtxnum_t start, /* starting rtext number to free */ in xfs_rtfree_extent()
1057 struct xfs_mount *mp = tp->t_mountp; in xfs_rtfree_extent()
1067 ASSERT(rbmip->i_itemp != NULL); in xfs_rtfree_extent()
1071 return -EIO; in xfs_rtfree_extent()
1091 * number to 0 for pre-RTG file systems. in xfs_rtfree_extent()
1094 tp->t_frextents_delta + mp->m_sb.sb_frextents == in xfs_rtfree_extent()
1095 mp->m_sb.sb_rextents) { in xfs_rtfree_extent()
1096 if (!(rbmip->i_diflags & XFS_DIFLAG_NEWRTBM)) in xfs_rtfree_extent()
1097 rbmip->i_diflags |= XFS_DIFLAG_NEWRTBM; in xfs_rtfree_extent()
1122 struct xfs_mount *mp = tp->t_mountp; in xfs_rtfree_blocks()
1131 return -EIO; in xfs_rtfree_blocks()
1137 return -EIO; in xfs_rtfree_blocks()
1171 return -EINVAL; in xfs_rtalloc_query_range()
1172 if (start == end || start >= rtg->rtg_extents) in xfs_rtalloc_query_range()
1175 end = min(end, rtg->rtg_extents - 1); in xfs_rtalloc_query_range()
1183 /* Is the first block free? */ in xfs_rtalloc_query_range()
1196 rec.ar_extcount = rtend - start + 1; in xfs_rtalloc_query_range()
1218 return xfs_rtalloc_query_range(rtg, tp, 0, rtg->rtg_extents - 1, fn, in xfs_rtalloc_query_all()
1249 /* Compute the number of rt extents tracked by a single bitmap block. */
1254 unsigned int rbmblock_bytes = mp->m_sb.sb_blocksize; in xfs_rtbitmap_rtx_per_rbmblock()
1257 rbmblock_bytes -= sizeof(struct xfs_rtbuf_blkinfo); in xfs_rtbitmap_rtx_per_rbmblock()
1263 * Compute the number of rtbitmap blocks needed to track the given number of rt
1279 if (!mp->m_sb.sb_rextents) in xfs_rtbitmap_bitcount()
1284 return mp->m_sb.sb_rgextents; in xfs_rtbitmap_bitcount()
1286 return mp->m_sb.sb_rextents; in xfs_rtbitmap_bitcount()
1290 * Compute the number of rtbitmap blocks used for a given file system.
1313 return howmany_64(rsumwords, mp->m_blockwsize); in xfs_rtsummary_blockcount()
1323 struct xfs_mount *mp = ip->i_mount; in xfs_rtfile_alloc_blocks()
1328 error = xfs_trans_alloc(mp, &M_RES(mp)->tr_growrtalloc, in xfs_rtfile_alloc_blocks()
1353 /* Get a buffer for the block. */
1362 struct xfs_inode *ip = rtg->rtg_inodes[type]; in xfs_rtfile_initialize_block()
1366 const size_t copylen = mp->m_blockwsize << XFS_WORDLOG; in xfs_rtfile_initialize_block()
1375 return -EINVAL; in xfs_rtfile_initialize_block()
1377 error = xfs_trans_alloc(mp, &M_RES(mp)->tr_growrtzero, 0, 0, 0, &tp); in xfs_rtfile_initialize_block()
1383 error = xfs_trans_get_buf(tp, mp->m_ddev_targp, in xfs_rtfile_initialize_block()
1384 XFS_FSB_TO_DADDR(mp, fsbno), mp->m_bsize, 0, &bp); in xfs_rtfile_initialize_block()
1389 bufdata = bp->b_addr; in xfs_rtfile_initialize_block()
1392 bp->b_ops = xfs_rtblock_ops(mp, type); in xfs_rtfile_initialize_block()
1395 struct xfs_rtbuf_blkinfo *hdr = bp->b_addr; in xfs_rtfile_initialize_block()
1398 hdr->rt_magic = cpu_to_be32(XFS_RTBITMAP_MAGIC); in xfs_rtfile_initialize_block()
1400 hdr->rt_magic = cpu_to_be32(XFS_RTSUMMARY_MAGIC); in xfs_rtfile_initialize_block()
1401 hdr->rt_owner = cpu_to_be64(ip->i_ino); in xfs_rtfile_initialize_block()
1402 hdr->rt_blkno = cpu_to_be64(XFS_FSB_TO_DADDR(mp, fsbno)); in xfs_rtfile_initialize_block()
1403 hdr->rt_lsn = 0; in xfs_rtfile_initialize_block()
1404 uuid_copy(&hdr->rt_uuid, &mp->m_sb.sb_meta_uuid); in xfs_rtfile_initialize_block()
1413 xfs_trans_log_buf(tp, bp, 0, mp->m_sb.sb_blocksize - 1); in xfs_rtfile_initialize_block()
1431 const size_t copylen = mp->m_blockwsize << XFS_WORDLOG; in xfs_rtfile_initialize_blocks()
1438 error = xfs_rtfile_alloc_blocks(rtg->rtg_inodes[type], in xfs_rtfile_initialize_blocks()
1439 offset_fsb, end_fsb - offset_fsb, &map); in xfs_rtfile_initialize_blocks()
1446 * Do this one block per transaction, to keep it simple. in xfs_rtfile_initialize_blocks()
1472 ip->i_disk_size = mp->m_sb.sb_rbmblocks * mp->m_sb.sb_blocksize; in xfs_rtbitmap_create()
1474 ip->i_diflags |= XFS_DIFLAG_NEWRTBM; in xfs_rtbitmap_create()
1490 ip->i_disk_size = mp->m_rsumblocks * mp->m_sb.sb_blocksize; in xfs_rtsummary_create()