Re: Occasionally mkfs.reiser4 creates a file system without a UUID

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

 





On 03/15/2021 11:20 PM, Mike Fleetwood wrote:
On Sat, 13 Mar 2021 at 14:28, Edward Shishkin <edward.shishkin@xxxxxxxxx> wrote:

On 03/13/2021 12:37 PM, Edward Shishkin wrote:
On 03/12/2021 08:36 PM, Mike Fleetwood wrote:
Hi,

Occasionally mkfs.reiser4 creates a file system without a UUID,
debugfs.reiser4 reports UUID as '<none>'.  This is being detected in
GParted's file system interface CI tests [1] which exercises the resier4
commands.

In a Ubuntu 20.04 LTS VM with both resier4progs-1.2.1-1 package and
current code from GIT, the fault can easily be replicated like this:

truncate -s 256M test.img
i=1
while :
do
    mkfs.reiser4 --force --yes --label '' test.img
    line=`debugfs.reiser4 test.img 2> /dev/null | egrep '^uuid:'`
    echo "[$i] $line"
    ((i++))
    echo "$line" | grep -q '<none>' && break
done

Output fragment:
[1] uuid:        17073919-e41d-4892-9b22-4294d1544c4a
[2] uuid:        af2821de-ea85-4f20-9621-4fbd128b3fb8
[3] uuid:        c0fb805b-e224-4695-a504-d87460d158ae
...
[35] uuid:        d604794d-097f-4810-bbb3-01a1518f3ef1
[36] uuid:        9634100c-1f98-42b3-a684-c9df77ab54e2
[37] uuid:        <none>

Performing the same test with resierfs and ext4 runs for many hours
doing 100,000s of iterations without issue.



It seems that debugfs.reiser4 prints uuid incorrectly: it assumes that
binary uuid can't contain '\0' symbols, which apparently is wrong.
Thus, if the first uuid's symbol is '\0', debugfs thinks that uuid is
not set and prints "none" ;)

I'll try to prepare a fixup a bit later.
Special thanks for the nice testing script!



Here is the fixup:
https://github.com/edward6/reiser4progs/commit/4802cdb18ae03031d0e51a58b6655f3b99021ec2

Your fix to debugfs.reiser4 allows for printing of UUIDs correctly.
Here's my pull request to fix mkfs.reiser4 for not writing UUIDs
correctly in the first place.
https://github.com/edward6/reiser4progs/pull/1


Mike, thanks a lot!

For me personally, this is the worst kind of bugs (hardly fishable by
code reviews plus not always reproducible).

I cherry pick-ed your commit also for the parallel branch "format41":
https://github.com/edward6/reiser4progs/commit/01a5e0e41ec8d5147091d44e902d60f61c336f30

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