btrfs-progs (6.6.3-1.2) [PTS] [DDPO]
OLD: VCS is behind the version in the archive: 6.6.3-1 < 6.6.3-1.2.Hint: This git repository uses http. You might need to run git update-server-info to update the auxiliary info files.
- Git: https://git.sr.ht/~kilobyte/btrfs-progs -b debian
- Branch: debian
- Path: debian/changelog
- Repo size: 187858944
- Browser: https://git.sr.ht/~kilobyte/btrfs-progs
- Last scan: 2024-12-13 00:16:05+00
- Next scan: 2024-12-14 02:40:00+00
- Debian changelog in Git:
btrfs-progs (6.6.3-1) unstable; urgency=medium * New upstream release (closes: #1055372). * Add B-Dep on python3-sphinx-rtd-theme, required for building docs. * Fix failure to build twice in a row (closes: #1044007). * Query udevdir via pkg-config, fixing FTBFS (closes: #1057231). * Build with support for converting from reiserfs (closes: #1030950). * Temporarily move the VCS to sr.ht * Slightly improve description. * Standardize debian/rules somewhat. -- Adam Borowski <kilobyte@angband.pl> Fri, 29 Dec 2023 19:03:32 +0100
- This branch is 1740 commits ahead of tag v6.6.3
- Git log:
commit 4ddda2544a5ec4f77bf096e417600d9fda951d0f Author: Adam Borowski <kilobyte@angband.pl> Date: Fri Dec 29 19:13:55 2023 +0100 Debian release 6.6.3-1 commit 6e8916b4c2b6e5329047502b50df832da8944045 Author: Adam Borowski <kilobyte@angband.pl> Date: Fri Dec 29 19:04:55 2023 +0100 Temporarily move the VCS to sr.ht commit 1ee1c06c66a80f467b9dfef7cef72b8cb35a890c Author: Adam Borowski <kilobyte@angband.pl> Date: Fri Dec 29 19:04:24 2023 +0100 Build against libreiserfs so you can convert from reiserfs to btrfs. commit 67a17b4e2d739269c52ab55a6e83c4a7f762f252 Author: Adam Borowski <kilobyte@angband.pl> Date: Fri Dec 29 18:37:29 2023 +0100 Clean generated files and other build artifacts. commit 8e8f4b9a90d9af1ce622ad013b81f9074393a799 Author: Adam Borowski <kilobyte@angband.pl> Date: Fri Dec 29 18:01:57 2023 +0100 Simplify $CFLAGS logic. commit b7a2a97189988b2df9015e10a3f09d726df2e0ed Author: Adam Borowski <kilobyte@angband.pl> Date: Fri Dec 29 17:57:49 2023 +0100 Don't reinvent $CC logic. commit 9fe87e64893eb58ced77f0bbd5de40d3cf62661f Author: Adam Borowski <kilobyte@angband.pl> Date: Fri Dec 29 17:50:55 2023 +0100 Drop a "new" claim from long desc. 93d446a56 was incomplete. commit 7a9aa076a177e98540ce17c3214c75134be000d0 Author: Adam Borowski <kilobyte@angband.pl> Date: Fri Dec 29 14:41:11 2023 +0100 Query the udevdir via pkg-config. commit 33de9c560ed51c48734b1160337a77b8fd90a876 Author: Adam Borowski <kilobyte@angband.pl> Date: Fri Dec 29 14:34:44 2023 +0100 Add B-Dep on python3-sphinx-rtd-theme. commit a0106bfbef5d511c7436f3017652d7e1e48e2328 Merge: a823dd07ab 92e18dbce5 Author: Adam Borowski <kilobyte@angband.pl> Date: Fri Dec 29 14:16:39 2023 +0100 Merge tag 'v6.6.3' into debian commit a823dd07abd9ca261665583ce68c6de40b1361de Author: Adam Borowski <kilobyte@angband.pl> Date: Sat Jun 24 22:18:09 2023 +0200 Debian release 6.3.2-1 commit d63ed980427d468e089c434f03130b3072b93fca Merge: b41b02d636 d1d8fb4b59 Author: Adam Borowski <kilobyte@angband.pl> Date: Sat Jun 24 22:10:35 2023 +0200 Merge tag 'v6.3.2' into debian commit d1d8fb4b599e76a3d6bc355df9e5787955104a72 Author: David Sterba <dsterba@suse.com> Date: Thu Jun 15 13:37:06 2023 +0200 Btrfs progs v6.3.2 Signed-off-by: David Sterba <dsterba@suse.com> commit 77988fef38d49df06d5771f818fceb009b4364c1 Author: David Sterba <dsterba@suse.com> Date: Thu Jun 15 11:38:25 2023 +0200 btrfs-progs: update CHANGES for 6.3.2 Signed-off-by: David Sterba <dsterba@suse.com> commit c88ac0170b35f35e4d29811e2f1e45c9ffea04a8 Author: Qu Wenruo <wqu@suse.com> Date: Mon Jun 5 08:29:21 2023 +0800 btrfs-progs: scrub: unify the output numbers for "Total to scrub" [BUG] Command `btrfs scrub start -B` and `btrfs scrub status` are reporting very different results for "Total to scrub": $ sudo btrfs scrub start -B /mnt/btrfs/ scrub done for c107ef62-0a5d-4fd7-a119-b88f38b8e084 Scrub started: Mon Jun 5 07:54:07 2023 Status: finished Duration: 0:00:00 Total to scrub: 1.52GiB Rate: 0.00B/s Error summary: no errors found $ sudo btrfs scrub status /mnt/btrfs/ UUID: c107ef62-0a5d-4fd7-a119-b88f38b8e084 Scrub started: Mon Jun 5 07:54:07 2023 Status: finished Duration: 0:00:00 Total to scrub: 12.00MiB Rate: 0.00B/s Error summary: no errors found This can be very confusing for end users. [CAUSE] It's the function print_fs_stat() handling the "Total to scrub" output. For `btrfs scrub start` command, we use the used bytes (aka, the total used dev extents of a device) for output. This is not really accurate, as the chunks may be mostly empty just like the following: $ btrfs fi df /mnt/btrfs/ Data, single: total=1.01GiB, used=9.06MiB System, DUP: total=40.00MiB, used=64.00KiB Metadata, DUP: total=256.00MiB, used=1.38MiB GlobalReserve, single: total=22.00MiB, used=0.00B Thus we're reporting 1.5GiB to scrub (1.01GiB + 40MiB * 2 + 256MiB * 2). But in reality, we only scrubbed 12MiB (9.06MiB + 64KiB * 2 + 1.38MiB * 2). [FIX] Instead of using the used dev-extent bytes of a device, go with proper scrubbed bytes for each device. This involves print_fs_stat() and print_scrub_dev() called inside scrub_start(). Now the output should match each other. Issue: #636 Signed-off-by: Qu Wenruo <wqu@suse.com> Signed-off-by: David Sterba <dsterba@suse.com> commit af6f3018346f589c047fab68fc141555088293c7 Author: Qu Wenruo <wqu@suse.com> Date: Wed Jun 14 18:23:43 2023 +0800 btrfs-progs: fix accessors for big endian systems [BUG] There is a bug report that on s390x big endian systems, mkfs.btrfs just fails: $ mkfs.btrfs -f ~/test.img btrfs-progs v6.3.1 Invalid mapping for 1081344-1097728, got 17592186044416-17592190238720 Couldn't map the block 1081344 ERROR: cannot read chunk root ERROR: open ctree failed [CAUSE] The error is caused by wrong endian conversion. The s390x is a big endian architecture: $ lscpu Byte Order: Big Endian While checking the offending @disk_key and @key inside btrfs_read_sys_array(), we got: 2301 while (cur_offset < array_size) { (gdb) 2304 if (cur_offset + len > array_size) (gdb) 2307 btrfs_disk_key_to_cpu(&key, disk_key); (gdb) 2310 sb_array_offset += len; (gdb) print *disk_key $2 = {objectid = 281474976710656, type = 228 '\344', offset = 17592186044416} (gdb) print key $3 = {objectid = 281474976710656, type = 228 '\344', offset = 17592186044416} (gdb) Now we can see, @disk_key is indeed in the little endian, but @key is not converted to the CPU native endian. Furthermore, if we step into the help btrfs_disk_key_to_cpu(), it shows we're using little endian version: (gdb) step btrfs_disk_key_to_cpu (disk_key=0x109fcdb, cpu_key=0x3ffffff847f) at ./kernel-shared/accessors.h:592 592 memcpy(cpu_key, disk_key, sizeof(struct btrfs_key)); [FIX] The kernel accessors.h checks if __LITTLE_ENDIAN is defined or not, but that only works inside kernel. In user space, __LITTLE_ENDIAN and __BIG_ENDIAN are both provided by kerncompat.h that should have been included already. Instead we should check __BYTE_ORDER against __LITTLE_ENDIAN to determine our endianness. With this change, s390x build works as expected now. Issue: #639 Signed-off-by: Qu Wenruo <wqu@suse.com> Signed-off-by: David Sterba <dsterba@suse.com> commit b41b02d63680abc7f517536d885bf00b51468d82 Author: Adam Borowski <kilobyte@angband.pl> Date: Sun Jun 11 21:15:16 2023 +0200 Debian release 6.3.1-1 commit 0c36cc4d805c80205d992ad2258c23adfa7ddd1f Author: Adam Borowski <kilobyte@angband.pl> Date: Sun Jun 11 21:09:56 2023 +0200 Remove pre-buster Breaks. commit 82474f732979fed1575ef3feb16df2b10b6aa8aa Merge: 152c73a6e7 9d2c8c364a Author: Adam Borowski <kilobyte@angband.pl> Date: Sun Jun 11 21:00:36 2023 +0200 Merge tag 'v6.3.1' into debian commit aa49b7cfbbe55f9f7fd7f240bdaf960f722f0148 Author: Boris Burkov <boris@bur.io> Date: Thu Apr 14 10:30:30 2022 -0700 btrfs-progs: docs: discourage seeding remount workflow The remount workflow could cause some problems so make a note about it. Recommend the umount/mount step by default. A seeding device used for e.g. a root filesystem that gets updated and has snapshots is a real world example where the space consumed by unreclaimed deleted snapshots would hurt. Pull-request: #462 Author: Boris Burkov <boris@bur.io> Signed-off-by: David Sterba <dsterba@suse.com> commit 1e187502882a1794a84cc660daaac5af188da793 Author: Eideen <1884894+Eideen@users.noreply.github.com> Date: Sun Jun 26 21:00:22 2022 +0200 btrfs-progs: docs: add balance filter examples Add more examples and explanations how the filters can be used. Pull-request: #486 Author: Eideen Signed-off-by: David Sterba <dsterba@suse.com> commit 93628035393c88d03d15fbb899b96654dc6484aa Author: Dominique Martinet <dominique.martinet@atmark-techno.com> Date: Mon May 29 16:45:42 2023 +0900 btrfs-progs: mkfs: make --quiet silence the 5.15 default change NOTE mkfs.btrfs help message for --quiet is 'no message except errors' so we probably ought to silence this as well in the quiet case. Author: Dominique Martinet <dominique.martinet@atmark-techno.com> Signed-off-by: David Sterba <dsterba@suse.com> commit 055f215525d51b2e6c45f03071b027720d040c05 Author: Jonathan Liu <net147@gmail.com> Date: Sun Jun 4 00:08:57 2023 +1000 btrfs-progs: docs: fix 'group' typo in btrfsrune page Pull-request: #634 Signed-off-by: Jonathan Liu <net147@gmail.com> Signed-off-by: David Sterba <dsterba@suse.com> commit 3ce3c8638c91f3c03498e9e8f67fe40580c0630b Author: Sam James <sam@gentoo.org> Date: Sat Jun 3 22:16:43 2023 +0100 btrfs-progs: check: add a specific warning in --help for repair Make it more explicit for the argument. Pull-request: #635 Signed-off-by: Sam James <sam@gentoo.org> Signed-off-by: David Sterba <dsterba@suse.com> commit ed9339b403c0109360609f452d059589ece8961c Author: David Sterba <dsterba@suse.com> Date: Thu Jun 8 00:08:35 2023 +0200 btrfs-progs: image: convert int to bool in a few helpers Signed-off-by: David Sterba <dsterba@suse.com> commit d8172c2fbc5a6db3ec8d6981f6b3069bb20bc699 Author: David Sterba <dsterba@suse.com> Date: Thu Jun 1 20:46:06 2023 +0200 btrfs-progs: docs: fixups, references Signed-off-by: David Sterba <dsterba@suse.com> commit 7887e978ba5cc5f1b715354c0775adc3a05b090f Author: David Sterba <dsterba@suse.com> Date: Thu Jun 1 19:17:02 2023 +0200 btrfs-progs: docs: reorder versions in Features-by-version Other pages list the latest version first, do that here as well. Also reorder index so the features are first before version changelogs. Signed-off-by: David Sterba <dsterba@suse.com> commit 972ea8c8b378a065f4dee48f4c0a8f3c08c4d0a5 Author: David Sterba <dsterba@suse.com> Date: Thu Jun 1 01:14:47 2023 +0200 btrfs-progs: docs: updates, formatting, status page - formatting, typo fixes, corrections - cross references - enhancements - revised and colored status page - ioctl updates Signed-off-by: David Sterba <dsterba@suse.com> commit 99ed2a64d8c3acc06d1538b455cb602b3318df08 Author: Qu Wenruo <wqu@suse.com> Date: Mon May 29 15:10:10 2023 +0800 btrfs-progs: convert: follow the default free space tree setting [BUG] We got some test failures related to btrfs-convert with subpage, e.g. btrfs/012, the failure would cause the following dmesg: BTRFS warning (device nvme0n1p7): v1 space cache is not supported for page size 16384 with sectorsize 4096 BTRFS error (device nvme0n1p7): open_ctree failed [CAUSE] v1 space cache has tons of hard coded PAGE_SIZE usage, and considering v2 space cache is going to replace it (which is already the new default since v5.15 btrfs-progs), thus for btrfs subpage support, we just simply reject the v1 space cache, and utilize v2 space cache when possible. But there is special catch in btrfs-convert, although we're specifying v2 space cache as the new default for btrfs-convert, it doesn't really follow the specification at all. Thus the converted filesystem will still go v1 space cache. [FIX] It can be a huge change to btrfs-convert to make the initial btrfs image to support v2 cache. Thus this patch would change the fs at the final stage, just before we finalize the btrfs. This patch would drop all the v1 cache created, then call btrfs_create_free_space_tree() to populate the free space tree and commit the superblock with needed compat_ro flags. Reviewed-by: Anand Jain <anand.jain@oracle.com> Signed-off-by: Qu Wenruo <wqu@suse.com> Signed-off-by: David Sterba <dsterba@suse.com> commit a79cf3b65c398567c814ed76dd32cad72b51a50d Author: Anand Jain <anand.jain@oracle.com> Date: Tue May 30 18:15:11 2023 +0800 btrfs-progs: add CHANGING_FSID_V2 to print-tree Add the DEF_SUPER_FLAG_ENTRY for CHANGING_FSID_V2 to our btrfs-progs' print-tree.c, as it is currently missing in the dump-super output, which was too confusing. Before: flags 0x1000000001 ( WRITTEN ) After: flags 0x1000000001 ( WRITTEN | CHANGING_FSID_V2 ) Reviewed-by: Qu Wenruo <wqu@suse.com> Signed-off-by: Anand Jain <anand.jain@oracle.com> Signed-off-by: David Sterba <dsterba@suse.com> commit 9d2c8c364a6b8df4b1a47ad384cd75fd4ba53e12 Author: David Sterba <dsterba@suse.com> Date: Mon May 29 16:53:31 2023 +0200 Btrfs progs v6.3.1 Signed-off-by: David Sterba <dsterba@suse.com> commit 5bc1c1f4674f931b8abb5c23138b34d2de54658a Author: David Sterba <dsterba@suse.com> Date: Mon May 29 16:51:29 2023 +0200 btrfs-progs: update CHANGES for 6.3.1 Signed-off-by: David Sterba <dsterba@suse.com> commit ae73e89f28ac5114ffc17d8b45cb432d685cc2bf Author: David Sterba <dsterba@suse.com> Date: Fri May 26 21:52:27 2023 +0200 btrfs-progs: mkfs: more verbose output for --rootdir Print the source directory for --rootdir and if --shrink is used. With -vv then print the individual files as added: $ mkfs.btrfs --rootdir dir --shrink -vv img ... Rootdir from: Documentation ADD: /btrfs-progs/Documentation/btrfs-check.rst ... ADD: /btrfs-progs/Documentation/btrfs-send.rst Shrink: yes Label: (null) UUID: 40d3a16f-02d8-40d7-824b-239cee528093 ... The 'Rootdir from' is printed before the files are added so there's now message before the files are added which could take some time. Issue: #627 Signed-off-by: David Sterba <dsterba@suse.com> commit 95c1fa187145d1e63c647edf832b1baac4076c82 Author: David Sterba <dsterba@suse.com> Date: Fri May 26 21:13:06 2023 +0200 btrfs-progs: mkfs: remove redundant variable for source dir Validity of source dir can be determined by the variable itself, no need to track it separately. Signed-off-by: David Sterba <dsterba@suse.com> commit e1eddbeb4c017e95c1738ea9f104035dbc22a03d Author: David Sterba <dsterba@suse.com> Date: Fri May 26 21:03:19 2023 +0200 btrfs-progs: build: reuse config/ directory for m4 macros Move files from m4/ to config that is also used for build and we can reduce the number of toplevel directories. Signed-off-by: David Sterba <dsterba@suse.com> commit 3c1b96bff7096fbeb265cdf2f4e2afc0951b0413 Author: Nathan Mills <38995150+Quipyowert2@users.noreply.github.com> Date: Fri May 26 20:36:09 2023 +0200 btrfs-progs: build: fix undefined macro AC_DEFINE If I run autoreconf -fi in btrfs-progs repo in VirtualBox, it fails with possibly undefined macro AC_DEFINE. To fix this, I added m4 as the macro directory in configure.ac as follows. Adding that line fixes the error when running autoreconf. Versions: autoreconf 2.69 automake 1.15.1 btrfs-progs v6.3-fba31d63 openSUSE 15.5 VirtualBox 6.1.40 configure.ac:7: error: possibly undefined macro: AC_DEFINE If this token and others are legitimate, please use m4_pattern_allow. See the Autoconf documentation. configure.ac:63: error: possibly undefined macro: AC_MSG_ERROR configure.ac:276: error: possibly undefined macro: AC_MSG_WARN autoreconf: /usr/bin/autoconf failed with exit status: 1 Issue: #632 Signed-off-by: David Sterba <dsterba@suse.com> commit adfc8a943a811d1eef05648159c611c036cdd337 Author: David Sterba <dsterba@suse.com> Date: Fri May 26 19:12:31 2023 +0200 btrfs-progs: ci: enable more tests for devel workflow More complete test coverage: - json an string table formatters - fuzz tests (no mount) - libbtrfs build test - libbtrfsutil python test - ioctl build test - hash tests Signed-off-by: David Sterba <dsterba@suse.com> commit d64d62cce86384a13a0407df8688a5adc3d2b09d Author: David Sterba <dsterba@suse.com> Date: Fri May 26 19:03:04 2023 +0200 btrfs-progs: docs: fix links and update Developer's FAQ Issue: #628 Signed-off-by: David Sterba <dsterba@suse.com> commit 3acd74559ecc1ce61e11cd3308345e373d41aae1 Author: David Sterba <dsterba@suse.com> Date: Fri May 26 18:20:29 2023 +0200 btrfs-progs: docs: move legend to the latest release in Contributors Signed-off-by: David Sterba <dsterba@suse.com> commit 849ac1b0ec266ae0362af02b3a3458cbd9555458 Author: David Sterba <dsterba@suse.com> Date: Fri May 26 18:14:16 2023 +0200 btrfs-progs: docs: merge project documentation section to overview The links to repositories and contributors is hard to find as it's below the feature list. Move it up as it is for overview. Signed-off-by: David Sterba <dsterba@suse.com> commit ab32c4445d0d14632e5ae717e56d57455eb98294 Author: David Sterba <dsterba@suse.com> Date: Fri May 26 17:04:11 2023 +0200 btrfs-progs: qgroup show: fix formatting of limit values in json output There are reports that json output of 'qgroup show' crashes due to internal error when printing the limit values: INTERNAL ERROR: unknown unit base, mode 2304 btrfs(internal_error+0x10a)[0x5605c37ce48a] btrfs(pretty_size_snprintf+0x5c)[0x5605c37d105c] btrfs(fmt_print+0x44e)[0x5605c37d178e] btrfs(+0x7ed1d)[0x5605c3800d1d] btrfs(main+0x8f)[0x5605c379beff] /lib64/libc.so.6(+0x27bb0)[0x7f83924ddbb0] /lib64/libc.so.6(__libc_start_main+0x8b)[0x7f83924ddc79] btrfs(_start+0x25)[0x5605c379d405] common/units.c:82: pretty_size_snprintf: Assertion `0` failed, value 0 btrfs(+0x1d4b1)[0x5605c379f4b1] btrfs(pretty_size_snprintf+0x7b)[0x5605c37d107b] btrfs(fmt_print+0x44e)[0x5605c37d178e] btrfs(+0x7ed1d)[0x5605c3800d1d] btrfs(main+0x8f)[0x5605c379beff] /lib64/libc.so.6(+0x27bb0)[0x7f83924ddbb0] /lib64/libc.so.6(__libc_start_main+0x8b)[0x7f83924ddc79] btrfs(_start+0x25)[0x5605c379d405] This is caused by "size" format that requires the unit mode, but it was not specified and some stack value used. As json prints the raw values, use the plain %llu format. Link: https://bugzilla.opensuse.org/show_bug.cgi?id=1206960 Link: https://bugzilla.opensuse.org/show_bug.cgi?id=1209136#c15 Signed-off-by: David Sterba <dsterba@suse.com> commit 4d5711f4dd43858a3b464af54e435818654ea665 Author: Qu Wenruo <wqu@suse.com> Date: Wed May 24 15:41:30 2023 +0800 btrfs-progs: tune: reject csum change if the fs is already using the target csum type Currently "btrfstune --csum" allows us to change the csum to the same one, this is good for testing but not good for end users, as if the end user interrupts it, they have to resume the change (even it's to the same csum type) until it finished, or kernel would reject such fs. Furthermore, we never change the super block csum type until we completely changed the csum type, thus for resume cases, the fs would still show up as using the old csum type thus won't cause any problem resuming. So here we just reject the csum conversion if the target csum type is the same as the existing csum type. Signed-off-by: Qu Wenruo <wqu@suse.com> Signed-off-by: David Sterba <dsterba@suse.com> commit 03b495297165e3e3204d2fa6f75426ade57db16a Author: Qu Wenruo <wqu@suse.com> Date: Wed May 24 15:41:29 2023 +0800 btrfs-progs: tune: implement resume support for data csum objectid change When the csum conversion is interrupted when changing data csum objectid, we should just resume the objectid conversion. This situation can be detected by comparing the old and new csum items. They should both exist but doesn't intersect (interrupted halfway), or only new csum items exist (interrupted after we have deleted old csums). Signed-off-by: Qu Wenruo <wqu@suse.com> Signed-off-by: David Sterba <dsterba@suse.com> commit 1aa4a9c609496fd16d11d93c0c7c92ab1f958e4b Author: Qu Wenruo <wqu@suse.com> Date: Wed May 24 15:41:28 2023 +0800 btrfs-progs: tune: implement resume support for half deleted old csums If the csum conversion is interrupted when old csums are being deleted, we should resume by continue deleting the old csums. The function delete_old_data_csums() can handle half deleted cases already. Signed-off-by: Qu Wenruo <wqu@suse.com> Signed-off-by: David Sterba <dsterba@suse.com> commit 7f077e3173dfc19ac9622e6fe8f7a468a403c656 Author: Qu Wenruo <wqu@suse.com> Date: Wed May 24 15:41:27 2023 +0800 btrfs-progs: tune: implement resume support for empty csum tree We have a very rare chance to hit a fs with empty csum tree but still has CHANGING_DATA_CSUM flag. The window is very small, but it's still possible, so handle it by jumping directly to metadata csum change. Signed-off-by: Qu Wenruo <wqu@suse.com> Signed-off-by: David Sterba <dsterba@suse.com> commit 8f23ca0dd15e4b0f8dc7521015945180229b9d2d Author: Qu Wenruo <wqu@suse.com> Date: Wed May 24 15:41:26 2023 +0800 btrfs-progs: tune: implement resume support for csum tree without any new csum item There are two possible situations where there is no new csum items at all: - We just inserted csum change item This means all csums are really old csum type, and we can start the conversion from the beginning, only need to skip the csum change item insert. - We finished data csum conversion but not yet started metadata conversion This means all csums are already new csum type, and we can resume by starting changing metadata csums. To distinguish the two cases, we need to read the first sector, and verify the data content against both csum types. If the csum matches with old csum type, we resume from generating new data csum. If the csum matches with new csum type, we resume from rewriting metadata csum. If the csum doesn't match either csum type, we have some big problems then. Signed-off-by: Qu Wenruo <wqu@suse.com> Signed-off-by: David Sterba <dsterba@suse.com> commit ba965712b6440847eeb586a900a383a0f178ff59 Author: Qu Wenruo <wqu@suse.com> Date: Wed May 24 15:41:25 2023 +0800 btrfs-progs: tune: implement resume support for generating new data csum If a csum change is interrupted at new data csum generation stage, we can detect such situation by checking the old and new csum items. At the new data csum generation stage, old csums are untouched, and only new csums items (with different objectid) are inserted into the csum tree. Thus the old csum items should cover a larger range, while the new csum items should be a subset of the old csums. The resume part would start by re-generating the remaining part, then go through the conversion stages. Signed-off-by: Qu Wenruo <wqu@suse.com> Signed-off-by: David Sterba <dsterba@suse.com> commit 9ff505e738abae7c2edf705b4a4a56aa2cd4957b Author: Qu Wenruo <wqu@suse.com> Date: Wed May 24 15:41:24 2023 +0800 btrfs-progs: tune: implement resume support for metadata checksum For interrupted metadata checksum change, we only need to call the same change_meta_csums(). Since we don't have any record on the last converted metadata, thus we have to go through all metadata anyway. And the existing change_meta_csums() has already implemented the needed checks to skip converted metadata. Since we're here, also implement all the surrounding checks, like making sure the new target csum type matches the interrupted one. Signed-off-by: Qu Wenruo <wqu@suse.com> Signed-off-by: David Sterba <dsterba@suse.com> commit cd877c2d23f8b4e8e643064dec2b33ec582cf9ac Author: Qu Wenruo <wqu@suse.com> Date: Tue May 23 08:37:12 2023 +0800 btrfs-progs: tune: delete the csum change item after converting the fs [BUG] Doing the following csum change in a row, it would fail: # mkfs.btrfs -f --csum crc32c $dev # btrfstune --csum sha256 $dev # btrfstune --csum crc32c $dev # btrfstune --csum sha256 $dev WARNING: Experimental build with unstable or unfinished features WARNING: Switching checksums is experimental, do not use for valuable data! Proceed to switch checksums ERROR: failed to insert csum change item: File exists ERROR: failed to generate new data csums: File exists WARNING: reserved space leaked, flag=0x4 bytes_reserved=16384 extent buffer leak: start 30572544 len 16384 extent buffer leak: start 30441472 len 16384 WARNING: dirty eb leak (aborted trans): start 30441472 len 16384 [CAUSE] During every csum change operation, btrfstune would insert an temporaray csum change item into root tree. But unfortunately after the conversion btrfstune doesn't properly delete the csum change item, result the following items in the root tree: item 10 key (CSUM_CHANGE TEMPORARY_ITEM 0) itemoff 13423 itemsize 0 temporary item objectid CSUM_CHANGE offset 0 target csum type crc32c (0) item 11 key (CSUM_CHANGE TEMPORARY_ITEM 2) itemoff 13423 itemsize 0 temporary item objectid CSUM_CHANGE offset 2 target csum type sha256 (2) Thus at the last conversion try to go back to SHA256, we failed to insert the same item, and caused the above error. [FIX] After finishing the metadata csum conversion, do a proper removal of the csum item. Signed-off-by: Qu Wenruo <wqu@suse.com> Signed-off-by: David Sterba <dsterba@suse.com> commit 5d2aa5fa1ee479a8a9f7ce48860ec4a85b51191b Author: David Sterba <dsterba@suse.com> Date: Mon May 22 22:43:15 2023 +0200 btrfs-progs: tests: sync fsstress from fstests Source level sync: - syscall to 64 variants - removed some callbacks Signed-off-by: David Sterba <dsterba@suse.com> commit 1f66936c83dbc47376a60a94501262e4fa8d414d Author: Qu Wenruo <wqu@suse.com> Date: Tue May 16 19:28:54 2023 +0800 btrfs-progs: dump-tree: skip tree-checker when dumpping tree blocks Since commit c8593f65cbf3 ("btrfs-progs: sync tree-checker.[ch] from kernel"), btrfs-progs can do the kernel level tree block checks, which is not really sutiable for dump-tree. Under a lot of cases, we're using dump-tree tool to debug to collect the details from end users. If it's a bitflip causing a rejection, we would be unable to determine the cause. So this patch would add OPEN_CTREE_SKIP_LEAF_ITEM_CHECKS for dump-tree. Reviewed-by: Anand Jain <anand.jain@oracle.com> Signed-off-by: Qu Wenruo <wqu@suse.com> Signed-off-by: David Sterba <dsterba@suse.com> commit e7b79adf5af0fa66a2c361e052a5a87dbcb574a2 Author: Qu Wenruo <wqu@suse.com> Date: Thu May 18 10:10:45 2023 +0800 btrfs-progs: tune: add the ability to change metadata csums The csum change for metadata is like uuid-change, we go with in-place csum update without any COW. During the rewrite, we will manually check the csum (both old and new) for each tree block. And only rewrite the csum if the tree block matches its old csum. (For tree block matches its new csum, we need to do nothing). And when everything is done, just update the superblock to reflect the csum type change. Signed-off-by: Qu Wenruo <wqu@suse.com> Signed-off-by: David Sterba <dsterba@suse.com> commit 87016bffbbe80fea6c2b9b1f535e196436531d14 Author: Qu Wenruo <wqu@suse.com> Date: Thu May 18 10:10:44 2023 +0800 btrfs-progs: tune: add the ability to migrate the temporary csum items to regular csum items At this stage, the csum tree should only contain the temporary csum items (CSUM_CHANGE, EXTENT_CSUM, logical), and no more old csum items. Now we can convert those temporary csum items back to regular csum items by changing their key objectids back to EXTENT_CSUM. Signed-off-by: Qu Wenruo <wqu@suse.com> Signed-off-by: David Sterba <dsterba@suse.com> commit 4cf02fbc84a2d4750209ebba17899ce00dfc1c0e Author: Qu Wenruo <wqu@suse.com> Date: Thu May 18 10:10:43 2023 +0800 btrfs-progs: tune: add the ability to delete old data csums The new helper function, delete_old_data_csums(), would delete the old data csums while keep the new one untouched. Since the new data csums have a key objectid (-13) smaller than the old data csums (-10), we can safely delete from the tail of the btree. Signed-off-by: Qu Wenruo <wqu@suse.com> Signed-off-by: David Sterba <dsterba@suse.com> commit 08a3bd7694b6d6915530dfccb0ad7a5cd16c2765 Author: Qu Wenruo <wqu@suse.com> Date: Thu May 18 10:10:42 2023 +0800 btrfs-progs: tune: add the ability to generate new data checksums This patch would modify btrfs_csum_file_block() to handle csum type other than the one used in the current fs. The new data checksum would use a different objectid (-13) to distinguish with the existing one (-10). This needs to change tree-checker to skip the item size checks, since new csum can be larger than the original csum. After this stage, the resulted csum tree would look like this: item 0 key (CSUM_CHANGE EXTENT_CSUM 13631488) itemoff 8091 itemsize 8192 range start 13631488 end 22020096 length 8388608 item 1 key (EXTENT_CSUM EXTENT_CSUM 13631488) itemoff 7067 itemsize 1024 range start 13631488 end 14680064 length 1048576 Note the itemsize is 8 times the original one, as the original csum is CRC32, while target csum is SHA256, which is 8 times the size. Signed-off-by: Qu Wenruo <wqu@suse.com> Signed-off-by: David Sterba <dsterba@suse.com> commit 2c02b799b16fd31d00bdfe56f2c51ac084e85a3f Author: Qu Wenruo <wqu@suse.com> Date: Thu May 18 10:10:41 2023 +0800 btrfs-progs: tune: add the ability to read and verify the data before generating new checksum This patch introduces a new helper function, read_verify_one_data_sector(), to do the data read and checksum verification (against the old csum). This data would be later re-used to generate a new csum. And since we're introduce the helper function, we also build the skeleton to iterate the data extents using the old csum tree. This method is much better compared to iterating using extent tree, which has no directly indicator on whether the data extent has csum or not (nodatasum or preallocated). Signed-off-by: Qu Wenruo <wqu@suse.com> Signed-off-by: David Sterba <dsterba@suse.com> commit 7dd3cda377abd22092d7e47b3ce087bbc71edf04 Author: Qu Wenruo <wqu@suse.com> Date: Thu May 18 10:10:40 2023 +0800 btrfs-progs: tune: implement the prerequisite checks for csum change The overall idea is to make sure no running operations (balance, dev-replace, dirty log) for the fs before csum change. And also reject half converted csums for now. Signed-off-by: Qu Wenruo <wqu@suse.com> Signed-off-by: David Sterba <dsterba@suse.com> commit 33a21e7578ae737a4d53cf0068e14b59739b31a9 Author: Qu Wenruo <wqu@suse.com> Date: Thu May 18 10:10:39 2023 +0800 btrfs-progs: tune: rework the main idea of csum change The existing attempt for changing csum types is as the following: - Create a new temporary csum root - Generate new data csums into the temporary csum root - Drop the old csum tree and make the temporary one as csum root - Change the checksums for metadata in-place Unfortunately after some experiments, the csum root switch method has a big pitfall, the backref items in extent tree. Those backref items still point back to the old tree, meaning without a lot of extra tricks, the extent tree would be corrupted. Thus we have to go a new single tree variant: - Generate new data csums into the csum root The new data csums would have a different objectid to distinguish them. - Drop the old data csum items - Change the key objectids of the new csums - Change the checksums for metadata in-place This means unfortunately we have to revert most of the old code, and update the temporary item format. The new temporary item would only record the target csum type. At every stage we have a method to determine the progress, thus no need for an item, but in the future it's still open for change. Signed-off-by: Qu Wenruo <wqu@suse.com> Signed-off-by: David Sterba <dsterba@suse.com> commit 701b91f5388b4b6c13b56b809b63d5930d5cce73 Author: David Sterba <dsterba@suse.com> Date: Fri May 12 16:40:27 2023 +0200 btrfs-progs: add README to kernel-shared tracking the progress Signed-off-by: David Sterba <dsterba@suse.com> commit 1b1ce74821e0770519d113cabb7d1c90149d2ea1 Author: David Sterba <dsterba@suse.com> Date: Fri May 12 16:33:50 2023 +0200 btrfs-progs: sync ulist.[ch] from kernel Minor updates from kernel, 6.4-rc1. Signed-off-by: David Sterba <dsterba@suse.com> commit 2a6810615b0e1e252cb0cdb86f297c18b096a366 Author: David Sterba <dsterba@suse.com> Date: Fri May 12 15:37:03 2023 +0200 btrfs-progs: partial sync of transaction.h from kernel Add structures and prototypes. Leave out undefined types (time64_t, block_group_rsv) for now. Kernel 6.4-rc1. Signed-off-by: David Sterba <dsterba@suse.com> commit e4bb48dcf3684c0acb5a6193d8ebcfe7b759a8ce Author: David Sterba <dsterba@suse.com> Date: Fri May 12 13:52:45 2023 +0200 btrfs-progs: sync send.h from kernel The send.h for libbtrfs has been separated some time ago so we're now free to keep up with kernel, 6.4-rc1. Signed-off-by: David Sterba <dsterba@suse.com> commit 3dbaef7603e6d98f3b85b7704585ea02d5649275 Author: David Sterba <dsterba@suse.com> Date: Fri May 12 00:48:44 2023 +0200 btrfs-progs: sync extent-io-tree.[ch] from kernel We can sync more of the code, not all of it is used. Kernel 6.4-rc1. Signed-off-by: David Sterba <dsterba@suse.com> commit 8f33e591e9c502624d502d67d0dd49fc9fc18490 Author: David Sterba <dsterba@suse.com> Date: Fri May 12 00:35:39 2023 +0200 btrfs-progs: partial sync of ctree.c from kernel Sync checksum helpers, extent buffer helpers with kernel 6.4-rc1. Signed-off-by: David Sterba <dsterba@suse.com> commit b4916dfc142643114765be0babdbf3c039f6c5fd Author: David Sterba <dsterba@suse.com> Date: Fri May 12 00:07:16 2023 +0200 btrfs-progs: sync compression.h from kernel The header is not yet used, changes in prototypes and types. v6.4-rc1. Signed-off-by: David Sterba <dsterba@suse.com> commit 0c94a7d0055b2a0fb2eb12e5be8b77b498808969 Author: Qu Wenruo <wqu@suse.com> Date: Sun Apr 23 09:03:42 2023 +0800 btrfs-progs: receive: output the parent subvolume uuid if it cannot be found It's a known problem that a received subvolume would lose its UUID after switching to RW. Thus it can lead to later receive problems for snapshotting and cloning. In that case, we just output a simple error message like: ERROR: cannot find parent subvolume Or ERROR: clone: did not find source subvol Normally we need to use "btrfs receive --dump" to know what the missing subvolume UUID is, which would take extra work. This patch would: - Add extra subvolume UUID to the output - Unify the error messages to the same format Now the error messages would look like: ERROR: snapshot: cannot find parent subvolume 1b4e28ba-2fa1-11d2-883f-b9a761bde3fb ERROR: clone: cannot find source subvolume 1b4e28ba-2fa1-11d2-883f-b9a761bde3fb Signed-off-by: Qu Wenruo <wqu@suse.com> Signed-off-by: David Sterba <dsterba@suse.com> commit 1ea7292354eefaf704e5b2d5c9e56cad25509e9b Author: Qu Wenruo <wqu@suse.com> Date: Tue May 9 08:43:15 2023 +0800 btrfs-progs: tests: convert: add a test case to check the csum for the image file The new test case would create an empty ext4 with 64K block size, which can lead to a new data chunk which is no longer 1:1 mapped. Then convert the fs and verify it with --check-data-csum to make sure the image file is fine. Reviewed-by: Anand Jain <anand.jain@oracle.com> Signed-off-by: Qu Wenruo <wqu@suse.com> Signed-off-by: David Sterba <dsterba@suse.com> commit 416507904c65c5436c2e0bd356669a816365eaf4 Author: Qu Wenruo <wqu@suse.com> Date: Tue May 9 08:43:14 2023 +0800 btrfs-progs: convert: fix bad csum for migrated range. [BUG] There is a report that btrfs-convert leads to bad csum for the image file. The reproducer looks like this: (note the 64K block size, it's used to force a certain chunk layout) # touch test.img # truncate -s 10G test.img # mkfs.ext4 -b 64K test.img # btrfs-convert -N 64K test.img # btrfs check --check-data-csum test.img Opening filesystem to check... Checking filesystem on /home/adam/test.img UUID: 39d49537-a9f5-47f1-b6ab-7857707b9133 [1/7] checking root items [2/7] checking extents [3/7] checking free space cache [4/7] checking fs roots [5/7] checking csums against data mirror 1 bytenr 4563140608 csum 0x3f1fa0ef expected csum 0xa4c4c072 mirror 1 bytenr 4563206144 csum 0x55dcf0d3 expected csum 0xa4c4c072 mirror 1 bytenr 4563271680 csum 0x4491b00a expected csum 0xa4c4c072 mirror 1 bytenr 4563337216 csum 0x655d1f61 expected csum 0xa4c4c072 mirror 1 bytenr 4563402752 csum 0xd37114d3 expected csum 0xa4c4c072 mirror 1 bytenr 4563468288 csum 0x4c2dab30 expected csum 0xa4c4c072 mirror 1 bytenr 4563533824 csum 0xa80fceed expected csum 0xa4c4c072 mirror 1 bytenr 4563599360 csum 0xaf610db8 expected csum 0xa4c4c072 mirror 1 bytenr 4563795968 csum 0x67b3c8a0 expected csum 0xa4c4c072 ERROR: errors found in csum tree [6/7] checking root refs ... [CAUSE] Above initial failure is for logical bytenr of 4563140608, which is inside the relocated range of the image file offset [0, 1M). During convert, we migrate the original image file ranges which would later be covered by super and other reserved ranges. The migration happens as: - Read out the original data - Reserve a new file extent - Write the data back to the file extent Note that, the new file extent can be inside some new data chunks, thus it's no longer 1:1 mapped. - Generate the new csum for the new file extent The problem happens at the last stage. We should read out the data from the new file extent, but we call read_disk_extent() using the logical bytenr, however read_disk_extent() is not doing logical -> physical mapping. Thus we will read some garbage, not the newly written data, and use those garbage to generate csum. And caused the above problem. [FIX] Instead of read_disk_extent(), call read_data_from_disk(), which would do the proper logical -> physical mapping, thus would fix the bug. Signed-off-by: Qu Wenruo <wqu@suse.com> Signed-off-by: David Sterba <dsterba@suse.com> commit 46364d37660280825d96796299e71174ea008320 Author: Qu Wenruo <wqu@suse.com> Date: Tue May 9 19:48:40 2023 +0800 btrfs-progs: replace write_and_map_eb() by write_data_to_disk() The function write_and_map_eb() is quite abused as a way to write any generic buffer back to disk. But we have a more suitable function already, write_data_to_disk(). This patch would remove the abused write_data_to_disk() calls, and convert the only three valid call sites to write_data_to_disk() instead. Signed-off-by: Qu Wenruo <wqu@suse.com> Signed-off-by: David Sterba <dsterba@suse.com> commit 3ce08b2ff68e9e96835614357926fff3704a7935 Author: Qu Wenruo <wqu@suse.com> Date: Tue May 9 19:48:39 2023 +0800 btrfs-progs: constify the buffer pointer for write functions The following functions accept a buffer for write, which can be marked as const: - btrfs_pwrite() - write_data_to_disk() Signed-off-by: Qu Wenruo <wqu@suse.com> Signed-off-by: David Sterba <dsterba@suse.com> commit 2b51d006cde287ad41f581fae1750d4b4e855428 Author: Qu Wenruo <wqu@suse.com> Date: Tue May 9 19:48:38 2023 +0800 btrfs-progs: split btrfs_direct_pio() functions into read and write It's not a common practice to use the same io function for both read and write (we have pread() and pwrite(), not pio()). Furthermore the original function has the following problems: - Not returning proper error number If we had ioctl/stat errors we just return 0 with errno set. Thus caller would treat it as a short read, not a proper error. - Unnecessary @ret_rw This is not that obvious if we have different handling for read and write, but if we split them it's super obvious we can reuse @ret. - No proper copy back for short read - Unable to constify the @buf pointer for write operation All those problems would be addressed in this patch. Signed-off-by: Qu Wenruo <wqu@suse.com> Signed-off-by: David Sterba <dsterba@suse.com> commit 96de5b014f8b11e636798896e7ade1c7b8ad0f0d Author: Anand Jain <anand.jain@oracle.com> Date: Wed May 10 22:01:10 2023 +0800 btrfs-progs: inspect: fix warnings reported by -Wmissing-prototypes When compiling on a system with gcc 12.2.1, the following warning is generated. It can be fixed by adding a static storage class specifier. cmds/inspect.c:733:5: warning: no previous prototype for ‘cmp_cse_devid_start’ [-Wmissing-prototypes] 733 | int cmp_cse_devid_start(const void *va, const void *vb) | ^~~~~~~~~~~~~~~~~~~ cmds/inspect.c:754:5: warning: no previous prototype for ‘cmp_cse_devid_lstart’ [-Wmissing-prototypes] 754 | int cmp_cse_devid_lstart(const void *va, const void *vb) | ^~~~~~~~~~~~~~~~~~~~ cmds/inspect.c:775:5: warning: no previous prototype for ‘print_list_chunks’ [-Wmissing-prototypes] 775 | int print_list_chunks(struct list_chunks_ctx *ctx, unsigned sort_mode, | ^~~~~~~~~~~~~~~~~ Signed-off-by: Anand Jain <anand.jain@oracle.com> Signed-off-by: David Sterba <dsterba@suse.com> commit f16be8eeb7c6373849e66a3dcccbd312f77a0e20 Author: Anand Jain <anand.jain@oracle.com> Date: Thu May 4 22:37:08 2023 +0800 btrfs-progs: fix may be used uninitialized in __set_extent_bit Compiler is throwing out this false positive warning in the following function flow. Apparently, %parent and %p are initialized in tree_search_for_insert(). __set_extent_bit() state = tree_search_for_insert(tree, start, &p, &parent); insert_state_fast(tree, prealloc, p, parent, bits, changeset); rb_link_node(&state->rb_node, parent, node); Compile warnings: In file included from ./common/extent-cache.h:23, from kernel-shared/ctree.h:26, from kernel-shared/extent-io-tree.c:4: kernel-shared/extent-io-tree.c: In function ‘__set_extent_bit’: ./kernel-lib/rbtree.h:80:28: warning: ‘parent’ may be used uninitialized in this function [-Wmaybe-uninitialized] node->__rb_parent_color = (unsigned long)parent; ^~~~~~~~~~~~~~~~~~~~~ kernel-shared/extent-io-tree.c:996:18: note: ‘parent’ was declared here struct rb_node *parent; ^~~~~~ In file included from ./common/extent-cache.h:23, from kernel-shared/ctree.h:26, from kernel-shared/extent-io-tree.c:4: ./kernel-lib/rbtree.h:83:11: warning: ‘p’ may be used uninitialized in this function [-Wmaybe-uninitialized] *rb_link = node; ~~~~~~~~~^~~~~~ kernel-shared/extent-io-tree.c:995:19: note: ‘p’ was declared here struct rb_node **p; Fix: Initialize to NULL, as in the kernel. Signed-off-by: Anand Jain <anand.jain@oracle.com> Signed-off-by: David Sterba <dsterba@suse.com> commit 7e2b9cc38369ca552e41f8fd9c987dcfe4b33af4 Author: Qu Wenruo <wqu@suse.com> Date: Wed May 3 14:03:43 2023 +0800 btrfs-progs: build: enable -Wmissing-prototypes With all the known warnings fixed, we can enable -Wmissing-prototypes and prevent such warnings from happening. Signed-off-by: Qu Wenruo <wqu@suse.com> Signed-off-by: David Sterba <dsterba@suse.com> commit b3327119eca3354390c4d3942d80613133cad96d Author: Qu Wenruo <wqu@suse.com> Date: Wed May 3 14:03:42 2023 +0800 btrfs-progs: fix -Wmissing-prototypes warnings The fixes involve the following changes: - Unexport functions which are not utilized out of the file * print_path_column() * parse_reflink_range() * btrfs_list_setup_print_column() * device_get_partition_size_sysfs() * max_zone_append_size() - Include related headers before implementing the function * change-uuid.c * convert-bgt.c * seed.h - Add missing headers caused by the above header changes * include <uuid/uuid.h> for tune/tune.h. Signed-off-by: Qu Wenruo <wqu@suse.com> Signed-off-by: David Sterba <dsterba@suse.com> commit 8b826e1cb7177a842bd5e8ee7b48d0f976c841d8 Author: Qu Wenruo <wqu@suse.com> Date: Wed May 3 14:03:41 2023 +0800 btrfs-progs: crypto: declare SHA256 x86 optimized implementation The optimized implementation sha256_process_x86() is not declared anywhere, this can be caught by -Wmissing-prototypes option. Just declare it properly in sha.h. Signed-off-by: Qu Wenruo <wqu@suse.com> Signed-off-by: David Sterba <dsterba@suse.com> commit 903e93e814f43fb93c07fded10f05b9ccbc483a6 Author: Qu Wenruo <wqu@suse.com> Date: Wed May 3 14:03:40 2023 +0800 btrfs-progs: crypto: move optimized declarations to blake2b.h This is to avoid -Wmissing-prototypes warnings. Signed-off-by: Qu Wenruo <wqu@suse.com> Signed-off-by: David Sterba <dsterba@suse.com> commit 9c2b07e901e33a16993801ec0cedc94a37c436f7 Author: Qu Wenruo <wqu@suse.com> Date: Wed May 3 14:03:39 2023 +0800 btrfs-progs: crypto: remove unused blake2 code We don't use the simple API and the self testing code. Signed-off-by: Qu Wenruo <wqu@suse.com> Signed-off-by: David Sterba <dsterba@suse.com> commit 83ab92512e79a5f8e3d2afd06e0c28d41061fd32 Author: Qu Wenruo <wqu@suse.com> Date: Wed May 3 14:03:38 2023 +0800 libbtrfs: remove the support for fs without uuid tree Since kernel 3.12, any btrfs mounted by a kernel would have an UUID tree created, to record all the UUID of its subvolumes. Without UUID tree, libbtrfs send functionality has to go through all the subvolumes seen so far, and record those subvolumes' UUID internally so that libbtrfs send can locate a desired subvolume. Since commit 194b90aa2c5a ("btrfs-progs: libbtrfs: remove declarations without exports in send-utils") we're deprecating this old interface already, meaning deprecated users won't be able to build its own subvolume list already. And we received no error report on this so far. So let's finish the cleanup by removing the support for fs without an UUID tree. Signed-off-by: Qu Wenruo <wqu@suse.com> Signed-off-by: David Sterba <dsterba@suse.com> commit 5af786113ff901245245c747b52ac3f96b1f0823 Author: Qu Wenruo <wqu@suse.com> Date: Wed May 3 14:03:37 2023 +0800 btrfs-progs: remove function btrfs_check_allocatable_zones() This function is introduced by commit b031fe84fda8 ("btrfs-progs: zoned: implement zoned chunk allocator") but it never got called since then. Furthermore in the kernel zoned code, there is no such function from the very beginning, and everything is handled by btrfs_find_allocatable_zones(). Thus we can safely remove the function. Reviewed-by: Anand Jain <anand.jain@oracle.com> Signed-off-by: Qu Wenruo <wqu@suse.com> Signed-off-by: David Sterba <dsterba@suse.com> commit 152c73a6e77215516c537463304188fa7b67c081 Author: Adam Borowski <kilobyte@angband.pl> Date: Wed Mar 1 01:35:08 2023 +0100 Debian release 6.2-1 commit f4c72e51bcdcf606918b136b1d5a71628a5a524f Merge: 614da01f97 6439e92cba Author: Adam Borowski <kilobyte@angband.pl> Date: Wed Mar 1 00:17:03 2023 +0100 Merge tag 'v6.2' into debian commit 6439e92cba81c068afca76f8e010fb7175620176 Author: David Sterba <dsterba@suse.com> Date: Tue Feb 28 20:21:38 2023 +0100 Btrfs progs v6.2 Signed-off-by: David Sterba <dsterba@suse.com> commit 208e52382f3c86874da0fddc06edbca9b0112fb6 Author: David Sterba <dsterba@suse.com> Date: Tue Feb 28 18:40:43 2023 +0100 btrfs-progs: update CHANGES for 6.2 Signed-off-by: David Sterba <dsterba@suse.com> commit f8a9c985fefe10fa684b98ff1cab803da1de045e Author: David Sterba <dsterba@suse.com> Date: Wed Feb 22 00:39:14 2023 +0100 btrfs-progs: help: convert help text to option formatter Signed-off-by: David Sterba <dsterba@suse.com> commit 304bdfa0a5c8aaca8556e32b8b8cea634ccad71a Author: David Sterba <dsterba@suse.com> Date: Wed Feb 22 00:39:14 2023 +0100 btrfs-progs: select-super: convert help text to option formatter Signed-off-by: David Sterba <dsterba@suse.com> commit 7eefb7bab19a8e849e08f75277324a577512b089 Author: David Sterba <dsterba@suse.com> Date: Wed Feb 22 00:39:14 2023 +0100 btrfs-progs: map-logical: convert help text to option formatter Signed-off-by: David Sterba <dsterba@suse.com> commit 7ed23eca5ca9308e9d5418ce2d8c4ef33622de1a Author: David Sterba <dsterba@suse.com> Date: Wed Feb 22 00:39:14 2023 +0100 btrfs-progs: find-root: convert help text to option formatter Signed-off-by: David Sterba <dsterba@suse.com> commit 72463c23d23b1804ac0ffb195078af7f368d78b2 Author: David Sterba <dsterba@suse.com> Date: Wed Feb 22 00:39:14 2023 +0100 btrfs-progs: corrupt-block: convert help text to option formatter Signed-off-by: David Sterba <dsterba@suse.com> commit b1c159b80441c8fa81d5dc999220abddb710ba7f Author: David Sterba <dsterba@suse.com> Date: Tue Dec 13 16:14:44 2022 +0100 btrfs-progs: docs: add 6.2 development statistics Signed-off-by: David Sterba <dsterba@suse.com> commit 4996e4375c7c1992d4e9d7f5cd05c14de7c6543f Author: David Sterba <dsterba@suse.com> Date: Wed Feb 22 01:37:18 2023 +0100 btrfs-progs: convert common options to option formatter Signed-off-by: David Sterba <dsterba@suse.com> commit f7b5e6924a53b6100d448b37e735306042f8cc05 Author: David Sterba <dsterba@suse.com> Date: Wed Feb 22 01:37:18 2023 +0100 btrfs-progs: subvolume: convert help text to option formatter Signed-off-by: David Sterba <dsterba@suse.com> commit 56666f95c518bdce8d1346621c90b2f91a208cee Author: David Sterba <dsterba@suse.com> Date: Wed Feb 22 01:37:18 2023 +0100 btrfs-progs: send: convert help text to option formatter Signed-off-by: David Sterba <dsterba@suse.com> commit c75cc187a80028eb6da868b7ffaef14a2a0c8dc9 Author: David Sterba <dsterba@suse.com> Date: Wed Feb 22 01:37:18 2023 +0100 btrfs-progs: scrub: convert help text to option formatter Signed-off-by: David Sterba <dsterba@suse.com> commit 808fdcee3bf8b1bcd7dbd6202c16eddb7083f8de Author: David Sterba <dsterba@suse.com> Date: Wed Feb 22 01:37:18 2023 +0100 btrfs-progs: restore: convert help text to option formatter Signed-off-by: David Sterba <dsterba@suse.com> commit dc6a4265bf90cd1058561b41f72fcfbbaa04ca3f Author: David Sterba <dsterba@suse.com> Date: Wed Feb 22 01:37:18 2023 +0100 btrfs-progs: rescue: convert help text to option formatter Signed-off-by: David Sterba <dsterba@suse.com> commit 7b1e2e3b8814dc5ee4bc507f28d82852b42e99a6 Author: David Sterba <dsterba@suse.com> Date: Wed Feb 22 01:37:18 2023 +0100 btrfs-progs: replace: convert help text to option formatter Signed-off-by: David Sterba <dsterba@suse.com> commit e9614be78e9df6b2f79cf649b92736dd4a79745c Author: David Sterba <dsterba@suse.com> Date: Wed Feb 22 01:37:18 2023 +0100 btrfs-progs: reflink: convert help text to option formatter Signed-off-by: David Sterba <dsterba@suse.com> commit 0a09370313d3822df1030b17637a09eedb76eed6 Author: David Sterba <dsterba@suse.com> Date: Wed Feb 22 01:37:18 2023 +0100 btrfs-progs: receive: convert help text to option formatter Signed-off-by: David Sterba <dsterba@suse.com> commit a958ad85ec20201ce64d31d8973ebc88f1d49d82 Author: David Sterba <dsterba@suse.com> Date: Wed Feb 22 01:37:18 2023 +0100 btrfs-progs: quota: convert help text to option formatter Signed-off-by: David Sterba <dsterba@suse.com>