@@ -513,8 +513,8 @@ static int update_free_space_extent_count(struct btrfs_trans_handle *trans,
513
513
}
514
514
515
515
EXPORT_FOR_TESTS
516
- int free_space_test_bit (struct btrfs_block_group * block_group ,
517
- struct btrfs_path * path , u64 offset )
516
+ bool free_space_test_bit (struct btrfs_block_group * block_group ,
517
+ struct btrfs_path * path , u64 offset )
518
518
{
519
519
struct extent_buffer * leaf ;
520
520
struct btrfs_key key ;
@@ -612,7 +612,8 @@ static int modify_free_space_bitmap(struct btrfs_trans_handle *trans,
612
612
struct btrfs_key key ;
613
613
u64 end = start + size ;
614
614
u64 cur_start , cur_size ;
615
- int prev_bit , next_bit ;
615
+ bool prev_bit_set = false;
616
+ bool next_bit_set = false;
616
617
int new_extents ;
617
618
int ret ;
618
619
@@ -631,7 +632,7 @@ static int modify_free_space_bitmap(struct btrfs_trans_handle *trans,
631
632
if (ret )
632
633
goto out ;
633
634
634
- prev_bit = free_space_test_bit (block_group , path , prev_block );
635
+ prev_bit_set = free_space_test_bit (block_group , path , prev_block );
635
636
636
637
/* The previous block may have been in the previous bitmap. */
637
638
btrfs_item_key_to_cpu (path -> nodes [0 ], & key , path -> slots [0 ]);
@@ -648,8 +649,6 @@ static int modify_free_space_bitmap(struct btrfs_trans_handle *trans,
648
649
ret = btrfs_search_prev_slot (trans , root , & key , path , 0 , 1 );
649
650
if (ret )
650
651
goto out ;
651
-
652
- prev_bit = -1 ;
653
652
}
654
653
655
654
/*
@@ -681,28 +680,26 @@ static int modify_free_space_bitmap(struct btrfs_trans_handle *trans,
681
680
goto out ;
682
681
}
683
682
684
- next_bit = free_space_test_bit (block_group , path , end );
685
- } else {
686
- next_bit = -1 ;
683
+ next_bit_set = free_space_test_bit (block_group , path , end );
687
684
}
688
685
689
686
if (remove ) {
690
687
new_extents = -1 ;
691
- if (prev_bit == 1 ) {
688
+ if (prev_bit_set ) {
692
689
/* Leftover on the left. */
693
690
new_extents ++ ;
694
691
}
695
- if (next_bit == 1 ) {
692
+ if (next_bit_set ) {
696
693
/* Leftover on the right. */
697
694
new_extents ++ ;
698
695
}
699
696
} else {
700
697
new_extents = 1 ;
701
- if (prev_bit == 1 ) {
698
+ if (prev_bit_set ) {
702
699
/* Merging with neighbor on the left. */
703
700
new_extents -- ;
704
701
}
705
- if (next_bit == 1 ) {
702
+ if (next_bit_set ) {
706
703
/* Merging with neighbor on the right. */
707
704
new_extents -- ;
708
705
}
@@ -1552,7 +1549,7 @@ static int load_free_space_bitmaps(struct btrfs_caching_control *caching_ctl,
1552
1549
struct btrfs_fs_info * fs_info ;
1553
1550
struct btrfs_root * root ;
1554
1551
struct btrfs_key key ;
1555
- int prev_bit = 0 , bit ;
1552
+ bool prev_bit_set = false ;
1556
1553
/* Initialize to silence GCC. */
1557
1554
u64 extent_start = 0 ;
1558
1555
u64 end , offset ;
@@ -1583,10 +1580,12 @@ static int load_free_space_bitmaps(struct btrfs_caching_control *caching_ctl,
1583
1580
1584
1581
offset = key .objectid ;
1585
1582
while (offset < key .objectid + key .offset ) {
1586
- bit = free_space_test_bit (block_group , path , offset );
1587
- if (prev_bit == 0 && bit == 1 ) {
1583
+ bool bit_set ;
1584
+
1585
+ bit_set = free_space_test_bit (block_group , path , offset );
1586
+ if (!prev_bit_set && bit_set ) {
1588
1587
extent_start = offset ;
1589
- } else if (prev_bit == 1 && bit == 0 ) {
1588
+ } else if (prev_bit_set && ! bit_set ) {
1590
1589
u64 space_added ;
1591
1590
1592
1591
ret = btrfs_add_new_free_space (block_group ,
@@ -1602,11 +1601,11 @@ static int load_free_space_bitmaps(struct btrfs_caching_control *caching_ctl,
1602
1601
}
1603
1602
extent_count ++ ;
1604
1603
}
1605
- prev_bit = bit ;
1604
+ prev_bit_set = bit_set ;
1606
1605
offset += fs_info -> sectorsize ;
1607
1606
}
1608
1607
}
1609
- if (prev_bit == 1 ) {
1608
+ if (prev_bit_set ) {
1610
1609
ret = btrfs_add_new_free_space (block_group , extent_start , end , NULL );
1611
1610
if (ret )
1612
1611
goto out ;
0 commit comments