bitsperblock = mp->m_sb.sb_blocksize * NBBY;
bit = extno = prevbit = start_bmbno = start_bit = 0;
bmbno = NULLFILEOFF;
- while ((bmbno = blkmap_next_off(blkmap, bmbno, &t)) !=
- NULLFILEOFF) {
+ while ((bmbno = blkmap_next_off(blkmap, bmbno, &t)) != NULLFILEOFF) {
+ struct xfs_rtalloc_args args = {
+ .mp = mp,
+ };
+
bno = blkmap_get(blkmap, bmbno);
if (bno == NULLFSBLOCK) {
if (!sflag)
push_cur();
set_cur(&typtab[TYP_RTBITMAP], XFS_FSB_TO_DADDR(mp, bno), blkbb,
DB_RING_IGN, NULL);
- if ((words = iocur_top->data) == NULL) {
+ if (!iocur_top->bp) {
if (!sflag)
dbprintf(_("can't read block %lld for rtbitmap "
"inode\n"),
pop_cur();
continue;
}
+
+ args.rbmbp = iocur_top->bp;
+ words = (xfs_rtword_t *)xfs_rbmblock_wordptr(&args, 0);
for (bit = 0;
bit < bitsperblock && extno < mp->m_sb.sb_rextents;
bit++, extno++) {