@@ -294,6 +294,19 @@ xfs_btree_sblock_verify_crc(
294
294
return true;
295
295
}
296
296
297
+ static int
298
+ xfs_btree_free_block (
299
+ struct xfs_btree_cur * cur ,
300
+ struct xfs_buf * bp )
301
+ {
302
+ int error ;
303
+
304
+ error = cur -> bc_ops -> free_block (cur , bp );
305
+ if (!error )
306
+ XFS_BTREE_STATS_INC (cur , free );
307
+ return error ;
308
+ }
309
+
297
310
/*
298
311
* Delete the btree cursor.
299
312
*/
@@ -3282,12 +3295,11 @@ xfs_btree_kill_iroot(
3282
3295
#endif
3283
3296
xfs_btree_copy_ptrs (cur , pp , cpp , numrecs );
3284
3297
3285
- error = cur -> bc_ops -> free_block (cur , cbp );
3298
+ error = xfs_btree_free_block (cur , cbp );
3286
3299
if (error ) {
3287
3300
XFS_BTREE_TRACE_CURSOR (cur , XBT_ERROR );
3288
3301
return error ;
3289
3302
}
3290
- XFS_BTREE_STATS_INC (cur , free );
3291
3303
3292
3304
cur -> bc_bufs [level - 1 ] = NULL ;
3293
3305
be16_add_cpu (& block -> bb_level , -1 );
@@ -3320,14 +3332,12 @@ xfs_btree_kill_root(
3320
3332
*/
3321
3333
cur -> bc_ops -> set_root (cur , newroot , -1 );
3322
3334
3323
- error = cur -> bc_ops -> free_block (cur , bp );
3335
+ error = xfs_btree_free_block (cur , bp );
3324
3336
if (error ) {
3325
3337
XFS_BTREE_TRACE_CURSOR (cur , XBT_ERROR );
3326
3338
return error ;
3327
3339
}
3328
3340
3329
- XFS_BTREE_STATS_INC (cur , free );
3330
-
3331
3341
cur -> bc_bufs [level ] = NULL ;
3332
3342
cur -> bc_ra [level ] = 0 ;
3333
3343
cur -> bc_nlevels -- ;
@@ -3833,10 +3843,9 @@ xfs_btree_delrec(
3833
3843
}
3834
3844
3835
3845
/* Free the deleted block. */
3836
- error = cur -> bc_ops -> free_block (cur , rbp );
3846
+ error = xfs_btree_free_block (cur , rbp );
3837
3847
if (error )
3838
3848
goto error0 ;
3839
- XFS_BTREE_STATS_INC (cur , free );
3840
3849
3841
3850
/*
3842
3851
* If we joined with the left neighbor, set the buffer in the
0 commit comments