diff --git a/src/box/log_io.cc b/src/box/log_io.cc index 9ab203782b429a1ee5d2180ac65f7839c20b0c2e..86c282165738bd9575fa82546a58e60be17b9295 100644 --- a/src/box/log_io.cc +++ b/src/box/log_io.cc @@ -236,21 +236,22 @@ log_dir_scan(struct log_dir *dir) signs[signs_size++] = sign; } -#if !defined(SNAPSHOT_SETLSN_META) - /* Snapshots don't have correct SETLSN command, ignore */ - if (dir == &recovery_state->snap_dir) { - dir->greatest = signs_size > 0 ? signs[signs_size - 1] : INT64_MAX; - return 0; - } -#endif if (signs_size == 0) { /* Empty directory */ vclockset_clean(&dir->index); + dir->greatest = INT64_MAX; return 0; } qsort(signs, signs_size, sizeof(*signs), cmp_i64); +#if !defined(SNAPSHOT_SETLSN_META) + /* Snapshots don't have correct SETLSN command, ignore */ + if (dir == &recovery_state->snap_dir) { + dir->greatest = signs[signs_size - 1]; + return 0; + } +#endif struct vclock *cur = vclockset_first(&dir->index); for (size_t i = 0; i < signs_size; i++) { while (cur != NULL) {