Skip to content

Commit

Permalink
Changed skip flags when calling _ltfs_search_index_wp (#493)
Browse files Browse the repository at this point in the history
  • Loading branch information
amissael95 authored and piste-jp committed Feb 27, 2025
1 parent 29b6f34 commit 2c0cd5a
Showing 1 changed file with 10 additions and 4 deletions.
14 changes: 10 additions & 4 deletions src/libltfs/ltfs.c
Original file line number Diff line number Diff line change
Expand Up @@ -1673,7 +1673,8 @@ int ltfs_mount(bool force_full, bool deep_recovery, bool recover_extra, bool rec
(unsigned long long)vol->dp_coh.volume_change_ref,
(unsigned long long)volume_change_ref);

ret = _ltfs_search_index_wp(recover_symlink, false, &seekpos, vol);
/* Index of IP could be corrupted. So set skip flag to true */
ret = _ltfs_search_index_wp(recover_symlink, true, &seekpos, vol);
if (ret < 0)
goto out_unlock;

Expand All @@ -1683,7 +1684,7 @@ int ltfs_mount(bool force_full, bool deep_recovery, bool recover_extra, bool rec
seekpos.block = vol->dp_coh.set_id;
}
} else {
if (vollock != PWE_MAM_DP && vollock != PWE_MAM) {
if (vol->ip_coh.count > vol->dp_coh.count && vollock != PWE_MAM_DP && vollock != PWE_MAM) {
/*
* The index on IP is newer but MAM shows write perm doesn't happen in DP.
* LTFS already have written an index on DP when it is writing an index on IP,
Expand All @@ -1702,8 +1703,13 @@ int ltfs_mount(bool force_full, bool deep_recovery, bool recover_extra, bool rec
(unsigned long long)vol->dp_coh.volume_change_ref,
(unsigned long long)volume_change_ref);

/* Index of IP could be corrupted. So set skip flag */
ret = _ltfs_search_index_wp(recover_symlink, true, &seekpos, vol);
if (vollock == PWE_MAM_BOTH) {
/* Index of IP could be corrupted (because of double write perm). So set skip flag to true */
ret = _ltfs_search_index_wp(recover_symlink, true, &seekpos, vol);
} else {
/* Index of DP could be corrupted. So set skip flag to false */
ret = _ltfs_search_index_wp(recover_symlink, false, &seekpos, vol);
}
if (ret < 0)
goto out_unlock;

Expand Down

0 comments on commit 2c0cd5a

Please sign in to comment.