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! Edward.
Thanks, Mike [1] Sporadic failure of test case My/SupportedFileSystemsTest.CreateAndReadUUID/reiser4 https://gitlab.gnome.org/GNOME/gparted/-/issues/145