Skip to content
This repository has been archived by the owner on Jan 2, 2025. It is now read-only.

XFS logs aren't consistent in a snapshot from CentOS 7.8 and Amazon Linux 2 #63

Open
e-kov opened this issue Nov 16, 2020 · 1 comment
Assignees
Labels
Milestone

Comments

@e-kov
Copy link
Collaborator

e-kov commented Nov 16, 2020

It's possible to mount a snapshot after the fix of the #59. But xfs_repair -n still complains when mount backup as a loop device:

[elastio@amazon2-amd64-gpt_xfs elastio-snap]$ sudo xfs_repair -n /dev/loop0
Phase 1 - find and verify superblock...
Phase 2 - using internal log
        - zero log...
ALERT: The filesystem has valuable metadata changes in a log which is being
ignored because the -n option was used.  Expect spurious inconsistencies
which may be resolved by first mounting the filesystem to replay the log.
        - scan filesystem freespace and inode maps...
sb_fdblocks 4409714, counted 4416246
        - found root inode chunk
Phase 3 - for each AG...
        - scan (but don't clear) agi unlinked lists...
        - process known inodes and perform inode discovery...
        - agno = 0
        - agno = 1
        - agno = 2
        - agno = 3
        - process newly discovered inodes...
Phase 4 - check for duplicate blocks...
        - setting up duplicate extent list...
        - check for inodes claiming duplicate blocks...
        - agno = 0
        - agno = 1
        - agno = 2
        - agno = 3
No modify flag set, skipping phase 5
Phase 6 - check inode connectivity...
        - traversing filesystem ...
        - traversal finished ...
        - moving disconnected inodes to lost+found ...
Phase 7 - verify link counts...
No modify flag set, skipping filesystem flush and exiting.

Ideally speaking all the logs should be flashed before the snapshot device is created and xfs_repair -n shouldn't found mismatches between sb_fdblocks in logs/superblock and counted ones.

@e-kov e-kov self-assigned this Nov 16, 2020
@e-kov e-kov added this to the Sprint 003 milestone Nov 30, 2020
@anelson anelson modified the milestones: Sprint 003, Sprint 004 Dec 14, 2020
@e-kov e-kov modified the milestones: Sprint 004, Sprint 005 Dec 28, 2020
@e-kov e-kov modified the milestones: Sprint 005, Sprint 006 Jan 11, 2021
@anelson anelson modified the milestones: Sprint 006, Sprint 007 Jan 25, 2021
@anelson anelson removed this from the Sprint 007 milestone Feb 7, 2021
@e-kov e-kov added bug Something isn't working groomed labels Feb 15, 2021
@e-kov e-kov added this to the Sprint 015 milestone May 18, 2021
@anelson anelson modified the milestones: Sprint 015, Sprint 016 May 31, 2021
@e-kov e-kov modified the milestones: Sprint 016, Sprint 17 Jun 15, 2021
@e-kov e-kov modified the milestones: Sprint 17, Sprint 19 Jul 13, 2021
@e-kov e-kov removed this from the Sprint 19 milestone Jul 20, 2021
@anelson
Copy link

anelson commented Aug 10, 2021

Because of this defect XFS tests are commented out. When fixing this issue, ensure you re-enable those tests as well.

https://github.com/elastio/elastio/pull/3064/

@e-kov e-kov added this to the Sprint 21 milestone Aug 10, 2021
@e-kov e-kov modified the milestones: Sprint 21, Sprint 22 Aug 25, 2021
@e-kov e-kov modified the milestones: Sprint 22, Sprint 23 Sep 6, 2021
@e-kov e-kov modified the milestones: Sprint 23, Sprint 24 Sep 20, 2021
@e-kov e-kov modified the milestones: Sprint 24, Sprint 26 Oct 19, 2021
e-kov pushed a commit that referenced this issue Jun 14, 2022
This modification for the tests was done long time ago in scope of draft for #63
It allows to run `tests/elio-test.sh` with the file system specified as an argument.
Now tests can be executed like this
```bash
sudo ./elio-test.sh

sudo ./elio-test.sh -f ext3

sudo ./elio-test.sh -d /dev/vdb1 -f xfs
```

The test `test_track_writes` is disabled for XFS due to #63.
And all the tests for XFS were disabled on Debian 8 due to some mount issue
which is a part of issue #63 too.
e-kov pushed a commit that referenced this issue Jun 15, 2022
This modification for the tests was done long time ago in scope of draft for #63
It allows to run `tests/elio-test.sh` with the file system specified as an argument.
Now tests can be executed like this
```bash
# Run tests, as usually, on the loop device and ext4 filesystem
sudo ./elio-test.sh

# Run tests on the loop device and ext3 filesystem
sudo ./elio-test.sh -f ext3

# Run tests on the /dev/vdb1 device and XFS filesystem
sudo ./elio-test.sh -d /dev/vdb1 -f xfs
```

The test `test_track_writes` is disabled for XFS due to #63.
And all the tests for XFS were disabled on Debian 8 due to the mount issue
(created new bug #139) and on Ubuntu 22.04 due to the issue with destroy
of unverified snapshot and incremental (see new bug #138).
@e-kov e-kov added the xfs label Aug 8, 2022
@vsazhenyuk-softheme vsazhenyuk-softheme modified the milestones: Sprint 26, Sprint 004 Jan 23, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

4 participants