struct xfs_rmap_irec highest_key = {0};
struct xfs_rmap_irec hi_key = {0};
struct bt_stat_level *lptr;
+ int numrecs;
int level = btree_curs->num_levels;
int error;
rm_rec = pop_slab_cursor(rmap_cur);
lptr = &btree_curs->level[0];
- for (i = 0; i < lptr->num_blocks && rm_rec != NULL; i++) {
+ for (i = 0; i < lptr->num_blocks; i++) {
+ numrecs = lptr->num_recs_pb + (lptr->modulo > 0);
+ ASSERT(rm_rec != NULL || numrecs == 0);
+
/*
* block initialization, lay in block header
*/
XFS_BTREE_CRC_BLOCKS);
bt_hdr->bb_u.s.bb_leftsib = cpu_to_be32(lptr->prev_agbno);
- bt_hdr->bb_numrecs = cpu_to_be16(lptr->num_recs_pb +
- (lptr->modulo > 0));
+ bt_hdr->bb_numrecs = cpu_to_be16(numrecs);
if (lptr->modulo > 0)
lptr->modulo--;
struct xfs_slab_cursor *refc_cur;
struct xfs_refcount_rec *bt_rec;
struct bt_stat_level *lptr;
+ int numrecs;
int level = btree_curs->num_levels;
int error;
refc_rec = pop_slab_cursor(refc_cur);
lptr = &btree_curs->level[0];
- for (i = 0; i < lptr->num_blocks && refc_rec != NULL; i++) {
+ for (i = 0; i < lptr->num_blocks; i++) {
+ numrecs = lptr->num_recs_pb + (lptr->modulo > 0);
+ ASSERT(refc_rec != NULL || numrecs == 0);
+
/*
* block initialization, lay in block header
*/
XFS_BTREE_CRC_BLOCKS);
bt_hdr->bb_u.s.bb_leftsib = cpu_to_be32(lptr->prev_agbno);
- bt_hdr->bb_numrecs = cpu_to_be16(lptr->num_recs_pb +
- (lptr->modulo > 0));
+ bt_hdr->bb_numrecs = cpu_to_be16(numrecs);
if (lptr->modulo > 0)
lptr->modulo--;