Re: sparse-file archive on GFS2 corrupts Reiser4

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 09/18/2020 08:44 AM, Pierre-Philipp Braun wrote:
Hello

I am experiencing a weird and unexpected issue.  When archiving a sparse file virtual disk and file-system that is Reiser4, with the `tar -S` option accordingly, to actually keep the sparse, I get a corrupted file-system as a result.  This does not happen when the Reiser4 sparse file lives on EXT4, don't worry.  But it happens on GFS2 *1 and my guess is that it is not something that is supposed to happen.  I am not sure it's a bug, and even so, I am not sure whether it affects Reiser4 --OR-- Redhat GFS2.  I ping here at Reiser4 first, to have your advise.

Here's how to reproduce.  On a GFS2 file-system, creating a raw sparse file and a Reiser4 file-system on it.

dd if=/dev/zero of=dummy.reiser4 bs=1G count=0 seek=1
mkfs.reiser4 -fy dummy.reiser4
fsck.reiser4 -y dummy.reiser4

The result is fine, as expected.

*******************************************************************
This is an EXPERIMENTAL version of fsck.reiser4. Read README first.
*******************************************************************

Fscking the dummy.reiser4 block device.
Will check the consistency of the Reiser4 SuperBlock.
Will check the consistency of the Reiser4 FileSystem.
***** fsck.reiser4 started at Fri Sep 18 09:22:01 2020
Reiser4 fs was detected on dummy.reiser4.
Master super block (16):
magic:          ReIsEr4
blksize:        4096
format:         0x0 (format40)
uuid:           51b8c5a3-ffd3-4528-9d0b-d5be985231e4
label:          <none>

Format super block (17):
plugin:         format40
description:    Disk-format plugin.
version:        2
magic:          ReIsEr40FoRmAt
mkfs id:        0x4934ef80
flushes:        0
blocks:         262144
free blocks:    262107
root block:     23
tail policy:    0x2 (smart)
next oid:       0x10000
file count:     1
tree height:    2
key policy:     LARGE


CHECKING THE STORAGE TREE
         Read nodes 2
         Nodes left in the tree 2
                 Leaves of them 1, Twigs of them 1
         Time interval: Fri Sep 18 09:22:01 2020 - Fri Sep 18 09:22:01 2020
CHECKING EXTENT REGIONS.
         Read twigs 1
         Time interval: Fri Sep 18 09:22:01 2020 - Fri Sep 18 09:22:01 2020
CHECKING THE SEMANTIC TREE
         Found 1 objects (some could be encountered more then once).
         Time interval: Fri Sep 18 09:22:01 2020 - Fri Sep 18 09:22:01 2020
***** fsck.reiser4 finished at Fri Sep 18 09:22:01 2020
Closing fs...done

FS is consistent.

Then archiving and extracting it with `-S`.

tar czSf dummy.reiser4.tar.gz dummy.reiser4
rm -f dummy.reiser4
tar xzSf dummy.reiser4.tar.gz
fsck.reiser4 -y dummy.reiser4

and here it comes

*******************************************************************
This is an EXPERIMENTAL version of fsck.reiser4. Read README first.
*******************************************************************

Fscking the dummy.reiser4 block device.
Will check the consistency of the Reiser4 SuperBlock.
Will check the consistency of the Reiser4 FileSystem.
***** fsck.reiser4 started at Fri Sep 18 09:23:23 2020
FSCK: backup.c: 485: repair_backup_open: Only 4 of 5 backup blocks are found.
Fatal: Failed to open the reiser4 backup.
Fatal: Cannot open the FileSystem on (dummy.reiser4).

1 fatal corruptions were detected in SuperBlock. Run with --build-sb option to fix them.


What angle should I take to this problem?


Try to find out why a sequence of packing/extracting changes the content
of dummy.reiser4. In your case it was detected by fsck.reiser4, but it
also could be confirmed by some other tool (e.g. compare sha1 before and
after). There shouldn't be any questions to reiser4: its driver haven't
been even called :)

Thanks,
Edward.



[Index of Archives]     [Linux File System Development]     [Linux BTRFS]     [Linux NFS]     [Linux Filesystems]     [Ext4 Filesystem]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]     [Linux Resources]

  Powered by Linux