@@ -3700,7 +3700,6 @@ static void btrfs_qgroup_rescan_worker(struct btrfs_work *work)
3700
3700
qgroup_rescan_work );
3701
3701
struct btrfs_path * path ;
3702
3702
struct btrfs_trans_handle * trans = NULL ;
3703
- int err = - ENOMEM ;
3704
3703
int ret = 0 ;
3705
3704
bool stopped = false;
3706
3705
bool did_leaf_rescans = false;
@@ -3709,27 +3708,28 @@ static void btrfs_qgroup_rescan_worker(struct btrfs_work *work)
3709
3708
return ;
3710
3709
3711
3710
path = btrfs_alloc_path ();
3712
- if (!path )
3711
+ if (!path ) {
3712
+ ret = - ENOMEM ;
3713
3713
goto out ;
3714
+ }
3714
3715
/*
3715
3716
* Rescan should only search for commit root, and any later difference
3716
3717
* should be recorded by qgroup
3717
3718
*/
3718
3719
path -> search_commit_root = 1 ;
3719
3720
path -> skip_locking = 1 ;
3720
3721
3721
- err = 0 ;
3722
- while (!err && !(stopped = rescan_should_stop (fs_info ))) {
3722
+ while (!ret && !(stopped = rescan_should_stop (fs_info ))) {
3723
3723
trans = btrfs_start_transaction (fs_info -> fs_root , 0 );
3724
3724
if (IS_ERR (trans )) {
3725
- err = PTR_ERR (trans );
3725
+ ret = PTR_ERR (trans );
3726
3726
break ;
3727
3727
}
3728
3728
3729
- err = qgroup_rescan_leaf (trans , path );
3729
+ ret = qgroup_rescan_leaf (trans , path );
3730
3730
did_leaf_rescans = true;
3731
3731
3732
- if (err > 0 )
3732
+ if (ret > 0 )
3733
3733
btrfs_commit_transaction (trans );
3734
3734
else
3735
3735
btrfs_end_transaction (trans );
@@ -3739,10 +3739,10 @@ static void btrfs_qgroup_rescan_worker(struct btrfs_work *work)
3739
3739
btrfs_free_path (path );
3740
3740
3741
3741
mutex_lock (& fs_info -> qgroup_rescan_lock );
3742
- if (err > 0 &&
3742
+ if (ret > 0 &&
3743
3743
fs_info -> qgroup_flags & BTRFS_QGROUP_STATUS_FLAG_INCONSISTENT ) {
3744
3744
fs_info -> qgroup_flags &= ~BTRFS_QGROUP_STATUS_FLAG_INCONSISTENT ;
3745
- } else if (err < 0 || stopped ) {
3745
+ } else if (ret < 0 || stopped ) {
3746
3746
fs_info -> qgroup_flags |= BTRFS_QGROUP_STATUS_FLAG_INCONSISTENT ;
3747
3747
}
3748
3748
mutex_unlock (& fs_info -> qgroup_rescan_lock );
@@ -3757,11 +3757,11 @@ static void btrfs_qgroup_rescan_worker(struct btrfs_work *work)
3757
3757
if (did_leaf_rescans ) {
3758
3758
trans = btrfs_start_transaction (fs_info -> quota_root , 1 );
3759
3759
if (IS_ERR (trans )) {
3760
- err = PTR_ERR (trans );
3760
+ ret = PTR_ERR (trans );
3761
3761
trans = NULL ;
3762
3762
btrfs_err (fs_info ,
3763
3763
"fail to start transaction for status update: %d" ,
3764
- err );
3764
+ ret );
3765
3765
}
3766
3766
} else {
3767
3767
trans = NULL ;
@@ -3772,11 +3772,11 @@ static void btrfs_qgroup_rescan_worker(struct btrfs_work *work)
3772
3772
fs_info -> qgroup_flags & BTRFS_QGROUP_RUNTIME_FLAG_CANCEL_RESCAN )
3773
3773
fs_info -> qgroup_flags &= ~BTRFS_QGROUP_STATUS_FLAG_RESCAN ;
3774
3774
if (trans ) {
3775
- ret = update_qgroup_status_item (trans );
3776
- if ( ret < 0 ) {
3777
- err = ret ;
3778
- btrfs_err ( fs_info , "fail to update qgroup status: %d" ,
3779
- err );
3775
+ int ret2 = update_qgroup_status_item (trans );
3776
+
3777
+ if ( ret2 < 0 ) {
3778
+ ret = ret2 ;
3779
+ btrfs_err ( fs_info , "fail to update qgroup status: %d" , ret );
3780
3780
}
3781
3781
}
3782
3782
fs_info -> qgroup_rescan_running = false;
@@ -3793,11 +3793,11 @@ static void btrfs_qgroup_rescan_worker(struct btrfs_work *work)
3793
3793
btrfs_info (fs_info , "qgroup scan paused" );
3794
3794
} else if (fs_info -> qgroup_flags & BTRFS_QGROUP_RUNTIME_FLAG_CANCEL_RESCAN ) {
3795
3795
btrfs_info (fs_info , "qgroup scan cancelled" );
3796
- } else if (err >= 0 ) {
3796
+ } else if (ret >= 0 ) {
3797
3797
btrfs_info (fs_info , "qgroup scan completed%s" ,
3798
- err > 0 ? " (inconsistency flag cleared)" : "" );
3798
+ ret > 0 ? " (inconsistency flag cleared)" : "" );
3799
3799
} else {
3800
- btrfs_err (fs_info , "qgroup scan failed with %d" , err );
3800
+ btrfs_err (fs_info , "qgroup scan failed with %d" , ret );
3801
3801
}
3802
3802
}
3803
3803
0 commit comments