@@ -336,6 +336,22 @@ xfs_efd_from_efi(
336
336
efdp -> efd_next_extent = efip -> efi_format .efi_nextents ;
337
337
}
338
338
339
+ static void
340
+ xfs_efd_add_extent (
341
+ struct xfs_efd_log_item * efdp ,
342
+ struct xfs_extent_free_item * xefi )
343
+ {
344
+ struct xfs_extent * extp ;
345
+
346
+ ASSERT (efdp -> efd_next_extent < efdp -> efd_format .efd_nextents );
347
+
348
+ extp = & efdp -> efd_format .efd_extents [efdp -> efd_next_extent ];
349
+ extp -> ext_start = xefi -> xefi_startblock ;
350
+ extp -> ext_len = xefi -> xefi_blockcount ;
351
+
352
+ efdp -> efd_next_extent ++ ;
353
+ }
354
+
339
355
/* Sort bmap items by AG. */
340
356
static int
341
357
xfs_extent_free_diff_items (
@@ -460,8 +476,6 @@ xfs_extent_free_finish_item(
460
476
struct xfs_extent_free_item * xefi = xefi_entry (item );
461
477
struct xfs_efd_log_item * efdp = EFD_ITEM (done );
462
478
struct xfs_mount * mp = tp -> t_mountp ;
463
- struct xfs_extent * extp ;
464
- uint next_extent ;
465
479
xfs_agblock_t agbno ;
466
480
int error = 0 ;
467
481
@@ -490,14 +504,7 @@ xfs_extent_free_finish_item(
490
504
return error ;
491
505
}
492
506
493
- /* Add the work we finished to the EFD, even though nobody uses that */
494
- next_extent = efdp -> efd_next_extent ;
495
- ASSERT (next_extent < efdp -> efd_format .efd_nextents );
496
- extp = & (efdp -> efd_format .efd_extents [next_extent ]);
497
- extp -> ext_start = xefi -> xefi_startblock ;
498
- extp -> ext_len = xefi -> xefi_blockcount ;
499
- efdp -> efd_next_extent ++ ;
500
-
507
+ xfs_efd_add_extent (efdp , xefi );
501
508
xfs_extent_free_cancel_item (item );
502
509
return error ;
503
510
}
@@ -525,11 +532,9 @@ xfs_agfl_free_finish_item(
525
532
struct xfs_mount * mp = tp -> t_mountp ;
526
533
struct xfs_efd_log_item * efdp = EFD_ITEM (done );
527
534
struct xfs_extent_free_item * xefi = xefi_entry (item );
528
- struct xfs_extent * extp ;
529
535
struct xfs_buf * agbp ;
530
536
int error ;
531
537
xfs_agblock_t agbno ;
532
- uint next_extent ;
533
538
534
539
ASSERT (xefi -> xefi_blockcount == 1 );
535
540
agbno = XFS_FSB_TO_AGBNO (mp , xefi -> xefi_startblock );
@@ -542,13 +547,7 @@ xfs_agfl_free_finish_item(
542
547
error = xfs_free_ag_extent (tp , agbp , xefi -> xefi_pag -> pag_agno ,
543
548
agbno , 1 , & oinfo , XFS_AG_RESV_AGFL );
544
549
545
- next_extent = efdp -> efd_next_extent ;
546
- ASSERT (next_extent < efdp -> efd_format .efd_nextents );
547
- extp = & (efdp -> efd_format .efd_extents [next_extent ]);
548
- extp -> ext_start = xefi -> xefi_startblock ;
549
- extp -> ext_len = xefi -> xefi_blockcount ;
550
- efdp -> efd_next_extent ++ ;
551
-
550
+ xfs_efd_add_extent (efdp , xefi );
552
551
xfs_extent_free_cancel_item (& xefi -> xefi_list );
553
552
return error ;
554
553
}
0 commit comments