@@ -773,9 +773,8 @@ static int __add_keyed_refs(struct btrfs_fs_info *fs_info,
773
773
*/
774
774
static int find_parent_nodes (struct btrfs_trans_handle * trans ,
775
775
struct btrfs_fs_info * fs_info , u64 bytenr ,
776
- u64 delayed_ref_seq , u64 time_seq ,
777
- struct ulist * refs , struct ulist * roots ,
778
- const u64 * extent_item_pos )
776
+ u64 time_seq , struct ulist * refs ,
777
+ struct ulist * roots , const u64 * extent_item_pos )
779
778
{
780
779
struct btrfs_key key ;
781
780
struct btrfs_path * path ;
@@ -837,7 +836,7 @@ static int find_parent_nodes(struct btrfs_trans_handle *trans,
837
836
btrfs_put_delayed_ref (& head -> node );
838
837
goto again ;
839
838
}
840
- ret = __add_delayed_refs (head , delayed_ref_seq ,
839
+ ret = __add_delayed_refs (head , time_seq ,
841
840
& prefs_delayed );
842
841
mutex_unlock (& head -> mutex );
843
842
if (ret ) {
@@ -981,8 +980,7 @@ static void free_leaf_list(struct ulist *blocks)
981
980
*/
982
981
static int btrfs_find_all_leafs (struct btrfs_trans_handle * trans ,
983
982
struct btrfs_fs_info * fs_info , u64 bytenr ,
984
- u64 delayed_ref_seq , u64 time_seq ,
985
- struct ulist * * leafs ,
983
+ u64 time_seq , struct ulist * * leafs ,
986
984
const u64 * extent_item_pos )
987
985
{
988
986
struct ulist * tmp ;
@@ -997,7 +995,7 @@ static int btrfs_find_all_leafs(struct btrfs_trans_handle *trans,
997
995
return - ENOMEM ;
998
996
}
999
997
1000
- ret = find_parent_nodes (trans , fs_info , bytenr , delayed_ref_seq ,
998
+ ret = find_parent_nodes (trans , fs_info , bytenr ,
1001
999
time_seq , * leafs , tmp , extent_item_pos );
1002
1000
ulist_free (tmp );
1003
1001
@@ -1024,8 +1022,7 @@ static int btrfs_find_all_leafs(struct btrfs_trans_handle *trans,
1024
1022
*/
1025
1023
int btrfs_find_all_roots (struct btrfs_trans_handle * trans ,
1026
1024
struct btrfs_fs_info * fs_info , u64 bytenr ,
1027
- u64 delayed_ref_seq , u64 time_seq ,
1028
- struct ulist * * roots )
1025
+ u64 time_seq , struct ulist * * roots )
1029
1026
{
1030
1027
struct ulist * tmp ;
1031
1028
struct ulist_node * node = NULL ;
@@ -1043,7 +1040,7 @@ int btrfs_find_all_roots(struct btrfs_trans_handle *trans,
1043
1040
1044
1041
ULIST_ITER_INIT (& uiter );
1045
1042
while (1 ) {
1046
- ret = find_parent_nodes (trans , fs_info , bytenr , delayed_ref_seq ,
1043
+ ret = find_parent_nodes (trans , fs_info , bytenr ,
1047
1044
time_seq , tmp , * roots , NULL );
1048
1045
if (ret < 0 && ret != - ENOENT ) {
1049
1046
ulist_free (tmp );
@@ -1376,11 +1373,9 @@ int iterate_extent_inodes(struct btrfs_fs_info *fs_info,
1376
1373
struct ulist * roots = NULL ;
1377
1374
struct ulist_node * ref_node = NULL ;
1378
1375
struct ulist_node * root_node = NULL ;
1379
- struct seq_list seq_elem = {};
1380
1376
struct seq_list tree_mod_seq_elem = {};
1381
1377
struct ulist_iterator ref_uiter ;
1382
1378
struct ulist_iterator root_uiter ;
1383
- struct btrfs_delayed_ref_root * delayed_refs = NULL ;
1384
1379
1385
1380
pr_debug ("resolving all inodes for extent %llu\n" ,
1386
1381
extent_item_objectid );
@@ -1391,25 +1386,19 @@ int iterate_extent_inodes(struct btrfs_fs_info *fs_info,
1391
1386
trans = btrfs_join_transaction (fs_info -> extent_root );
1392
1387
if (IS_ERR (trans ))
1393
1388
return PTR_ERR (trans );
1394
-
1395
- delayed_refs = & trans -> transaction -> delayed_refs ;
1396
- spin_lock (& delayed_refs -> lock );
1397
- btrfs_get_delayed_seq (delayed_refs , & seq_elem );
1398
- spin_unlock (& delayed_refs -> lock );
1399
1389
btrfs_get_tree_mod_seq (fs_info , & tree_mod_seq_elem );
1400
1390
}
1401
1391
1402
1392
ret = btrfs_find_all_leafs (trans , fs_info , extent_item_objectid ,
1403
- seq_elem . seq , tree_mod_seq_elem .seq , & refs ,
1393
+ tree_mod_seq_elem .seq , & refs ,
1404
1394
& extent_item_pos );
1405
1395
if (ret )
1406
1396
goto out ;
1407
1397
1408
1398
ULIST_ITER_INIT (& ref_uiter );
1409
1399
while (!ret && (ref_node = ulist_next (refs , & ref_uiter ))) {
1410
1400
ret = btrfs_find_all_roots (trans , fs_info , ref_node -> val ,
1411
- seq_elem .seq ,
1412
- tree_mod_seq_elem .seq , & roots );
1401
+ tree_mod_seq_elem .seq , & roots );
1413
1402
if (ret )
1414
1403
break ;
1415
1404
ULIST_ITER_INIT (& root_uiter );
@@ -1431,7 +1420,6 @@ int iterate_extent_inodes(struct btrfs_fs_info *fs_info,
1431
1420
out :
1432
1421
if (!search_commit_root ) {
1433
1422
btrfs_put_tree_mod_seq (fs_info , & tree_mod_seq_elem );
1434
- btrfs_put_delayed_seq (delayed_refs , & seq_elem );
1435
1423
btrfs_end_transaction (trans , fs_info -> extent_root );
1436
1424
}
1437
1425
0 commit comments