[File] [PATCH] Use unsigned datatypes for filesystem UUIDs
Richard W.M. Jones
rjones at redhat.com
Sun Apr 4 17:21:24 UTC 2021
On Sun, Apr 04, 2021 at 06:02:15PM +0200, Thomas Weißschuh wrote:
> Fixes a regression introduced in 0478d9251abafd0876cdb3121ef2c07af6c99513
>
> Reported-By: Richard W.M. Jones <rjones at redhat.com>
> Reporated-At: https://bugs.astron.com/view.php?id=253
> Reporated-At: https://bugzilla.redhat.com/show_bug.cgi?id=1945122
Tested here and it works for me, so:
Tested-by: Richard W.M. Jones <rjones at redhat.com>
Rich.
> ---
> magic/Magdir/filesystems | 52 +++++++++++++++++++--------------------
> magic/Magdir/linux | 28 ++++++++++-----------
> tests/ext4.result | 1 +
> tests/ext4.testfile | Bin 0 -> 2048 bytes
> 4 files changed, 41 insertions(+), 40 deletions(-)
> create mode 100644 tests/ext4.result
> create mode 100644 tests/ext4.testfile
>
> diff --git a/magic/Magdir/filesystems b/magic/Magdir/filesystems
> index 0cb45cbf..14ee70f3 100644
> --- a/magic/Magdir/filesystems
> +++ b/magic/Magdir/filesystems
> @@ -1739,12 +1739,12 @@
> >>>0x464 lelong >0x0000007 ext4 filesystem data
> # else large INCOMPAT?
> >>0x460 lelong >0x000003f ext4 filesystem data
> ->0x468 belong x \b, UUID=%08x
> ->0x46c beshort x \b-%04x
> ->0x46e beshort x \b-%04x
> ->0x470 beshort x \b-%04x
> ->0x472 belong x \b-%08x
> ->0x476 beshort x \b%04x
> +>0x468 ubelong x \b, UUID=%08x
> +>0x46c ubeshort x \b-%04x
> +>0x46e ubeshort x \b-%04x
> +>0x470 ubeshort x \b-%04x
> +>0x472 ubelong x \b-%08x
> +>0x476 ubeshort x \b%04x
> >0x478 string >0 \b, volume name "%s"
> # General flags for any ext* fs
> >0x460 lelong &0x0000004 (needs journal recovery)
> @@ -1767,12 +1767,12 @@
>
> # f2fs filesystem - Tuomas Tynkkynen <tuomas.tynkkynen at iki.fi>
> 0x400 lelong 0xF2F52010 F2FS filesystem
> ->0x46c belong x \b, UUID=%08x
> ->0x470 beshort x \b-%04x
> ->0x472 beshort x \b-%04x
> ->0x474 beshort x \b-%04x
> ->0x476 belong x \b-%08x
> ->0x47a beshort x \b%04x
> +>0x46c ubelong x \b, UUID=%08x
> +>0x470 ubeshort x \b-%04x
> +>0x472 ubeshort x \b-%04x
> +>0x474 ubeshort x \b-%04x
> +>0x476 ubelong x \b-%08x
> +>0x47a ubeshort x \b%04x
> >0x147c lestring16 x \b, volume name "%s"
>
> # Minix filesystems - Juan Cespedes <cespedes at debian.org>
> @@ -2296,20 +2296,20 @@
> >>0x10060 string >\0 lockproto %s)
>
> # Russell Coker <russell at coker.com.au>
> -0x10040 string _BHRfS_M BTRFS Filesystem
> ->0x1012b string >\0 label "%s",
> ->0x10090 lelong x sectorsize %d,
> ->0x10094 lelong x nodesize %d,
> ->0x10098 lelong x leafsize %d,
> ->0x10020 belong x UUID=%08x-
> ->0x10024 beshort x \b%04x-
> ->0x10026 beshort x \b%04x-
> ->0x10028 beshort x \b%04x-
> ->0x1002a beshort x \b%04x
> ->0x1002c belong x \b%08x,
> ->0x10078 lequad x %lld/
> ->0x10070 lequad x \b%lld bytes used,
> ->0x10088 lequad x %lld devices
> +0x10040 string _BHRfS_M BTRFS Filesystem
> +>0x1012b string >\0 label "%s",
> +>0x10090 lelong x sectorsize %d,
> +>0x10094 lelong x nodesize %d,
> +>0x10098 lelong x leafsize %d,
> +>0x10020 ubelong x UUID=%08x-
> +>0x10024 ubeshort x \b%04x-
> +>0x10026 ubeshort x \b%04x-
> +>0x10028 ubeshort x \b%04x-
> +>0x1002a ubeshort x \b%04x
> +>0x1002c ubelong x \b%08x,
> +>0x10078 lequad x %lld/
> +>0x10070 lequad x \b%lld bytes used,
> +>0x10088 lequad x %lld devices
>
> # dvdisaster's .ecc
> # From: "Nelson A. de Oliveira" <naoliv at gmail.com>
> diff --git a/magic/Magdir/linux b/magic/Magdir/linux
> index 693cef6f..3203fce8 100644
> --- a/magic/Magdir/linux
> +++ b/magic/Magdir/linux
> @@ -83,20 +83,20 @@
>
> # format v1, supported since 1998
> 0 name linux-swap
> ->0x400 lelong 1 little endian, version %u,
> ->>0x404 lelong x size %u pages,
> ->>0x408 lelong x %u bad pages,
> ->0x400 belong 1 big endian, version %u,
> ->>0x404 belong x size %u pages,
> ->>0x408 belong x %u bad pages,
> ->0x41c string \0 no label,
> ->0x41c string >\0 LABEL=%s,
> ->0x40c belong x UUID=%08x
> ->0x410 beshort x \b-%04x
> ->0x412 beshort x \b-%04x
> ->0x414 beshort x \b-%04x
> ->0x416 belong x \b-%08x
> ->0x41a beshort x \b%04x
> +>0x400 lelong 1 little endian, version %u,
> +>>0x404 lelong x size %u pages,
> +>>0x408 lelong x %u bad pages,
> +>0x400 belong 1 big endian, version %u,
> +>>0x404 belong x size %u pages,
> +>>0x408 belong x %u bad pages,
> +>0x41c string \0 no label,
> +>0x41c string >\0 LABEL=%s,
> +>0x40c ubelong x UUID=%08x
> +>0x410 ubeshort x \b-%04x
> +>0x412 ubeshort x \b-%04x
> +>0x414 ubeshort x \b-%04x
> +>0x416 ubelong x \b-%08x
> +>0x41a ubeshort x \b%04x
>
> 0xff6 string SWAPSPACE2 Linux swap file, 4k page size,
> >0 use linux-swap
> diff --git a/tests/ext4.result b/tests/ext4.result
> new file mode 100644
> index 00000000..e48ac193
> --- /dev/null
> +++ b/tests/ext4.result
> @@ -0,0 +1 @@
> +Linux rev 1.0 ext4 filesystem data, UUID=d32bbb08-3a76-4510-a064-3045f887dbdf (extents) (64bit) (large files) (huge files)
> \ No newline at end of file
> diff --git a/tests/ext4.testfile b/tests/ext4.testfile
> new file mode 100644
> index 0000000000000000000000000000000000000000..6add6b92a62f6cdda64f07adaa860d5102963b17
> GIT binary patch
> literal 2048
> zcmZQz7zLvtFd70QH3S4e9_L_SNCQ%Lm>C#YfixpX3<eZ{3?K%p12T25WhO8%{Qn>P
> zo)N4L!UswK0Zbn^klg^pHb8uciGd-Tg at NI+_HGWVGFO2GDF&`T+Hc<nO3?uDW0(o_
> z8XT;9zbXHrk*Cc>jvYxt=jI(^WOQKQfy#pX!S$J$0q9gX0QpA|h(R>SWMv=*g~JD6
> pIGF%xOaKcdgbXZ95F!i=EI>h!S;Gm4AqU)W^4Ku;i*I5x7XVZUAejIF
>
> literal 0
> HcmV?d00001
>
>
> base-commit: 2f62d5544d13ca32dc09504ec70358db581e9e65
> --
> 2.31.1
--
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
libguestfs lets you edit virtual machines. Supports shell scripting,
bindings from many languages. http://libguestfs.org
More information about the File
mailing list