Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package btrfsprogs for openSUSE:Factory 
checked in at 2023-09-14 16:25:03
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/btrfsprogs (Old)
 and      /work/SRC/openSUSE:Factory/.btrfsprogs.new.1766 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "btrfsprogs"

Thu Sep 14 16:25:03 2023 rev:151 rq:1110944 version:6.5.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/btrfsprogs/btrfsprogs.changes    2023-09-10 
13:10:05.118243702 +0200
+++ /work/SRC/openSUSE:Factory/.btrfsprogs.new.1766/btrfsprogs.changes  
2023-09-14 16:26:54.465244477 +0200
@@ -1,0 +2,12 @@
+Wed Sep 13 00:00:00 CEST 2023 - [email protected]
+
+- update to 6.5.1:
+  * build fixes:
+    * crc32c if PIE or relro is enabled
+    * detect if PCLMUL feature is recognized by compiler and also detect that
+      at runtime
+  * check: verify metadata item level when skinny-metadata is enabled
+  * other: minor build and docs updates
+  * spec: remove xmlto dependency, docs built by sphinx
+
+-------------------------------------------------------------------

Old:
----
  btrfs-progs-v6.5.tar.gz
  btrfs-progs-v6.5.tar.sign

New:
----
  btrfs-progs-v6.5.1.tar.gz
  btrfs-progs-v6.5.1.tar.sign

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ btrfsprogs.spec ++++++
--- /var/tmp/diff_new_pack.QOx0TA/_old  2023-09-14 16:26:55.985298779 +0200
+++ /var/tmp/diff_new_pack.QOx0TA/_new  2023-09-14 16:26:55.985298779 +0200
@@ -34,7 +34,7 @@
 %define _dracutmodulesdir %(pkg-config --variable dracutmodulesdir dracut)
 
 Name:           btrfsprogs
-Version:        6.5
+Version:        6.5.1
 Release:        0
 Summary:        Utilities for the Btrfs filesystem
 License:        GPL-2.0-only
@@ -79,12 +79,9 @@
 BuildRequires:  suse-module-tools
 %endif
 BuildRequires:  libudev-devel
-BuildRequires:  pkgconfig(udev)
-%if %build_docs
-BuildRequires:  xmlto
-%endif
 BuildRequires:  python-rpm-macros
 BuildRequires:  zlib-devel
+BuildRequires:  pkgconfig(udev)
 %if 0%{?suse_version} >= 1310
 Requires(post): coreutils
 Requires(postun):coreutils

++++++ btrfs-progs-v6.5.tar.gz -> btrfs-progs-v6.5.1.tar.gz ++++++
++++ 1620 lines of diff (skipped)
++++    retrying with extended exclude list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/btrfs-progs-v6.5/.github/workflows/artifacts-static-build.yml 
new/btrfs-progs-v6.5.1/.github/workflows/artifacts-static-build.yml
--- old/btrfs-progs-v6.5/.github/workflows/artifacts-static-build.yml   
2023-09-01 14:41:37.000000000 +0200
+++ new/btrfs-progs-v6.5.1/.github/workflows/artifacts-static-build.yml 
2023-09-13 19:47:53.000000000 +0200
@@ -7,7 +7,6 @@
 on:
   push:
     branches:
-      - release-test
       - master
 jobs:
   build:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/btrfs-progs-v6.5/.github/workflows/devel.yml 
new/btrfs-progs-v6.5.1/.github/workflows/devel.yml
--- old/btrfs-progs-v6.5/.github/workflows/devel.yml    2023-09-01 
14:41:37.000000000 +0200
+++ new/btrfs-progs-v6.5.1/.github/workflows/devel.yml  2023-09-13 
19:47:53.000000000 +0200
@@ -22,6 +22,10 @@
         run: make V=1
       - name: Musl build
         run: sudo docker run kdave/ci-musl-x86_64 ./test-build 
$GITHUB_REF_NAME --disable-documentation --disable-backtrace --disable-libudev
+      - name: Make static
+        run: make V=1 EXTRA_CFLAGS='-march=x86-64' static
+      - name: Make box.static
+        run: make V=1 EXTRA_CFLAGS='-march=x86-64' btrfs.box.static
       - name: Tests cli
         run: sudo make TEST_LOG=dump test-cli
       - name: Tests mkfs
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/btrfs-progs-v6.5/.github/workflows/pull-request.yml 
new/btrfs-progs-v6.5.1/.github/workflows/pull-request.yml
--- old/btrfs-progs-v6.5/.github/workflows/pull-request.yml     2023-09-01 
14:41:37.000000000 +0200
+++ new/btrfs-progs-v6.5.1/.github/workflows/pull-request.yml   2023-09-13 
19:47:53.000000000 +0200
@@ -25,6 +25,10 @@
         run: make V=1
 #      - name: Musl build
 #        run: sudo docker run kdave/ci-musl-x86_64 ./test-build 
$GITHUB_REF_NAME --disable-documentation --disable-backtrace --disable-libudev
+      - name: Make static
+        run: make V=1 EXTRA_CFLAGS='-march=x86-64' static
+      - name: Make box.static
+        run: make V=1 EXTRA_CFLAGS='-march=x86-64' btrfs.box.static
       - name: Tests cli
         run: sudo make TEST_LOG=dump test-cli
       - name: Tests mkfs
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/btrfs-progs-v6.5/CHANGES new/btrfs-progs-v6.5.1/CHANGES
--- old/btrfs-progs-v6.5/CHANGES        2023-09-01 14:41:37.000000000 +0200
+++ new/btrfs-progs-v6.5.1/CHANGES      2023-09-13 19:47:53.000000000 +0200
@@ -17,6 +17,15 @@
       * code refactoring
       * remove btrfs-fragments
 
+btrfs-progs-6.5.1 (2023-09-13)
+""""""""""""""""""""""""""""""
+   * build fixes:
+      * crc32c if PIE or relro is enabled
+      * detect if PCLMUL feature is recognized by compiler and also detect that
+        at runtime
+   * check: verify metadata item level when skinny-metadata is enabled
+   * other: minor build and docs updates
+
 btrfs-progs-6.4 (skipped)
 -------------------------
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/btrfs-progs-v6.5/Documentation/Status.rst 
new/btrfs-progs-v6.5.1/Documentation/Status.rst
--- old/btrfs-progs-v6.5/Documentation/Status.rst       2023-09-01 
14:41:37.000000000 +0200
+++ new/btrfs-progs-v6.5.1/Documentation/Status.rst     2023-09-13 
19:47:53.000000000 +0200
@@ -13,7 +13,7 @@
 Combination of features can vary in performance, the table does not
 cover all possibilities.
 
-**The table is based on the latest released linux kernel: 6.4**
+**The table is based on the latest released linux kernel: 6.5**
 
 The columns for each feature reflect the status of the implementation
 in following ways:
@@ -43,26 +43,34 @@
      - Stability
      - Performance
      - Notes
-   * - :doc:`discard (synchronous)<Trim>`
+   * - :doc:`Subvolumes, snapshots<Subvolumes>`
      - :statusok:`OK`
+     - OK
      -
-     - mounted with `-o discard` (has performance implications), also see 
`fstrim`
-   * - :doc:`discard (asynchronous)<Trim>`
+   * - :doc:`Compression<Compression>`
      - :statusok:`OK`
      -
-     - mounted with `-o discard=async` (improved performance)
-   * - Autodefrag
-     - :statusok:`OK`
      -
+   * - :doc:`Checksumming algorithms<Checksumming>`
+     - :statusok:`OK`
+     - OK
      -
-   * - :doc:`Defrag<Defragmentation>`
+   * - :doc:`Defragmentation<Defragmentation>`
      - :statusmok:`mostly OK`
      -
      - extents get unshared (see below)
-   * - :doc:`Compression<Compression>`
+   * - :ref:`Autodefrag<mount-option-autodefrag>`
+     - :statusok:`OK`
+     -
+     -
+   * - :doc:`Discard (synchronous)<Trim>`
      - :statusok:`OK`
      -
+     - mounted with `-o discard` (has performance implications), also see 
`fstrim`
+   * - :doc:`Discard (asynchronous)<Trim>`
+     - :statusok:`OK`
      -
+     - mounted with `-o discard=async` (improved performance)
    * - :doc:`Out-of-band dedupe<Deduplication>`
      - :statusok:`OK`
      - :statusmok:`mostly OK`
@@ -71,10 +79,14 @@
      - :statusok:`OK`
      - :statusmok:`mostly OK`
      - (reflink), heavily referenced extents have a noticeable performance hit 
(see below)
-   * - :doc:`More checksumming algorithms<Checksumming>`
+   * - :doc:`Filesystem resize<Resize>`
      - :statusok:`OK`
      - OK
-     -
+     - shrink, grow
+   * - :doc:`Device replace<Volume-management>`
+     - :statusmok:`mostly OK`
+     - mostly OK
+     - (see below)
    * - :doc:`Auto-repair<Auto-repair>`
      - :statusok:`OK`
      - OK
@@ -87,18 +99,66 @@
      - :statusmok:`mostly OK`
      - mostly OK
      -
-   * - nodatacow
+   * - :ref:`Degraded mount<mount-option-degraded>`
+     - :statusok:`OK`
+     - n/a
+     -
+   * - :doc:`Balance<Balance>`
+     - :statusok:`OK`
+     - OK
+     - balance + qgroups can be slow when there are many snapshots
+   * - :doc:`Send<Send-receive>`
      - :statusok:`OK`
      - OK
      -
-   * - :doc:`Device replace<Volume-management>`
+   * - :doc:`Receive<Send-receive>`
+     - :statusok:`OK`
+     - OK
+     -
+   * - Offline UUID change
+     - :statusok:`OK`
+     - OK
+     -
+   * - Metadata UUID change
+     - :statusok:`OK`
+     - OK
+     -
+   * - :doc:`Seeding<Seeding-device>`
+     - :statusok:`OK`
+     - OK
+     -
+   * - :doc:`Quotas, qgroups<Qgroups>`
      - :statusmok:`mostly OK`
      - mostly OK
-     - (see below)
-   * - Degraded mount
+     - qgroups with many snapshots slows down balance
+   * - :doc:`Swapfile<Swapfile>`
      - :statusok:`OK`
      - n/a
+     - with some limitations
+   * - nodatacow
+     - :statusok:`OK`
+     - OK
      -
+   * - :doc:`Subpage block size<Subpage>`
+     - :statusmok:`mostly OK`
+     - mostly OK
+     - Also see table below for more detailed compatibility.
+   * - :doc:`Zoned mode<Zoned-mode>`
+     - :statusmok:`mostly OK`
+     - mostly OK
+     - Not yet feature complete but moderately stable, also see table below
+       for more detailed compatibility.
+
+Block group profiles
+^^^^^^^^^^^^^^^^^^^^
+
+.. list-table::
+   :header-rows: 1
+
+   * - Feature
+     - Stability
+     - Performance
+     - Notes
    * - :ref:`Single (block group profile)<mkfs-section-profiles>`
      - :statusok:`OK`
      - OK
@@ -131,50 +191,59 @@
      - :statusunstable:`unstable`
      - n/a
      - (see below)
-   * - Mixed block groups
+   * - :ref:`Mixed block groups<mkfs-feature-mixed-bg>`
      - :statusok:`OK`
      - OK
      -
-   * - :doc:`Filesystem resize<Resize>`
-     - :statusok:`OK`
-     - OK
-     - shrink, grow
-   * - :doc:`Balance<Balance>`
-     - :statusok:`OK`
-     - OK
-     - balance + qgroups can be slow when there are many snapshots
-   * - Offline UUID change
-     - :statusok:`OK`
-     - OK
-     -
-   * - Metadata UUID change
+
+
+On-disk format
+^^^^^^^^^^^^^^
+
+Features that are typically set at *mkfs* time (sometimes can be changed or
+converted later).
+
+.. list-table::
+   :header-rows: 1
+
+   * - Feature
+     - Stability
+     - Performance
+     - Notes
+   * - :ref:`extended-refs<mkfs-feature-extended-refs>`
      - :statusok:`OK`
      - OK
      -
-   * - :doc:`Subvolumes, snapshots<Subvolumes>`
+   * - :ref:`skinny-metadata<mkfs-feature-skinny-metadata>`
      - :statusok:`OK`
      - OK
      -
-   * - :doc:`Send<Send-receive>`
+   * - :ref:`no-holes<mkfs-feature-no-holes>`
      - :statusok:`OK`
      - OK
      -
-   * - :doc:`Receive<Send-receive>`
+   * - :ref:`Free space tree<mkfs-feature-free-space-tree>`
      - :statusok:`OK`
      - OK
      -
-   * - :doc:`Seeding<Seeding-device>`
+   * - :ref:`Block group tree`<mkfs-feature-block-group-tree>`
      - :statusok:`OK`
      - OK
      -
-   * - :doc:`Quotas, qgroups<Qgroups>`
-     - :statusmok:`mostly OK`
-     - mostly OK
-     - qgroups with many snapshots slows down balance
-   * - :doc:`Swapfile<Swapfile>`
-     - :statusok:`OK`
-     - n/a
-     - with some limitations
+
+Interoperability
+^^^^^^^^^^^^^^^^
+
+Integration with other Linux features or external systems.
+:doc:`See also<Interoperability>`.
+
+.. list-table::
+   :header-rows: 1
+
+   * - Feature
+     - Stability
+     - Performance
+     - Notes
    * - :ref:`NFS<interop-nfs>`
      - :statusok:`OK`
      - OK
@@ -183,10 +252,6 @@
      - :statusok:`OK`
      - OK
      - IO controller
-   * - :ref:`Samba<interop-samba>`
-     - :statusok:`OK`
-     - OK
-     - compression, server-side copies, snapshots
    * - :ref:`io_uring<interop-io-uring>`
      - :statusok:`OK`
      - OK
@@ -199,35 +264,10 @@
      - :statusok:`OK`
      - OK
      -
-   * - :ref:`Free space tree<mkfs-feature-free-space-tree>`
-     - :statusok:`OK`
-     -
-     -
-   * - Block group tree
-     - :statusok:`OK`
-     -
-     -
-   * - :ref:`no-holes<mkfs-feature-no-holes>`
-     - :statusok:`OK`
-     - OK
-     -
-   * - :ref:`skinny-metadata<mkfs-feature-skinny-metadata>`
-     - :statusok:`OK`
-     - OK
-     -
-   * - :ref:`extended-refs<mkfs-feature-extended-refs>`
+   * - :ref:`Samba<interop-samba>`
      - :statusok:`OK`
      - OK
-     -
-   * - :doc:`Subpage block size<Subpage>`
-     - :statusmok:`mostly OK`
-     - mostly OK
-     - Also see table below for more detailed compatibility.
-   * - :doc:`Zoned mode<Zoned-mode>`
-     - :statusmok:`mostly OK`
-     - mostly OK
-     - Not yet feature complete but moderately stable, also see table below
-       for more detailed compatibility.
+     - compression, server-side copies, snapshots
 
 Please open an issue if:
 
@@ -256,7 +296,7 @@
      - The max_inline mount option value is ignored, as if mounted with 
max_inline=0
    * - Free space cache v1
      - :statusunsupp:`unsupported`
-     - Free space tree is mandatory, v1 has some assumptions about page size
+     - Free space tree is mandatory, v1 makes some assumptions about page size
    * - Compression
      - :statusok:`partial support`
      - Only page-aligned ranges can be compressed
@@ -303,12 +343,6 @@
    * - Free space tree
      - :statusok:`supported`
      -
-   * - single profile
-     - :statusok:`supported`
-     - Both data and metadata
-   * - DUP profile
-     - :statusok:`partial support`
-     - Only for metadata
    * - Filesystem resize
      - :statusok:`supported`
      -
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/btrfs-progs-v6.5/Documentation/btrfs-balance.8 
new/btrfs-progs-v6.5.1/Documentation/btrfs-balance.8
--- old/btrfs-progs-v6.5/Documentation/btrfs-balance.8  2023-09-01 
14:42:18.000000000 +0200
+++ new/btrfs-progs-v6.5.1/Documentation/btrfs-balance.8        2023-09-13 
19:48:29.000000000 +0200
@@ -27,7 +27,7 @@
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
-.TH "BTRFS-BALANCE" "8" "Sep 01, 2023" "6.5" "BTRFS"
+.TH "BTRFS-BALANCE" "8" "Sep 13, 2023" "6.5.1" "BTRFS"
 .SH NAME
 btrfs-balance \- balance block groups on a btrfs filesystem
 .SH SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/btrfs-progs-v6.5/Documentation/btrfs-check.8 
new/btrfs-progs-v6.5.1/Documentation/btrfs-check.8
--- old/btrfs-progs-v6.5/Documentation/btrfs-check.8    2023-09-01 
14:42:18.000000000 +0200
+++ new/btrfs-progs-v6.5.1/Documentation/btrfs-check.8  2023-09-13 
19:48:29.000000000 +0200
@@ -27,7 +27,7 @@
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
-.TH "BTRFS-CHECK" "8" "Sep 01, 2023" "6.5" "BTRFS"
+.TH "BTRFS-CHECK" "8" "Sep 13, 2023" "6.5.1" "BTRFS"
 .SH NAME
 btrfs-check \- check or repair a btrfs filesystem
 .SH SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/btrfs-progs-v6.5/Documentation/btrfs-convert.8 
new/btrfs-progs-v6.5.1/Documentation/btrfs-convert.8
--- old/btrfs-progs-v6.5/Documentation/btrfs-convert.8  2023-09-01 
14:42:18.000000000 +0200
+++ new/btrfs-progs-v6.5.1/Documentation/btrfs-convert.8        2023-09-13 
19:48:29.000000000 +0200
@@ -27,7 +27,7 @@
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
-.TH "BTRFS-CONVERT" "8" "Sep 01, 2023" "6.5" "BTRFS"
+.TH "BTRFS-CONVERT" "8" "Sep 13, 2023" "6.5.1" "BTRFS"
 .SH NAME
 btrfs-convert \- convert from ext2/3/4 or reiserfs filesystem to btrfs in-place
 .SH SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/btrfs-progs-v6.5/Documentation/btrfs-device.8 
new/btrfs-progs-v6.5.1/Documentation/btrfs-device.8
--- old/btrfs-progs-v6.5/Documentation/btrfs-device.8   2023-09-01 
14:42:18.000000000 +0200
+++ new/btrfs-progs-v6.5.1/Documentation/btrfs-device.8 2023-09-13 
19:48:29.000000000 +0200
@@ -27,7 +27,7 @@
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
-.TH "BTRFS-DEVICE" "8" "Sep 01, 2023" "6.5" "BTRFS"
+.TH "BTRFS-DEVICE" "8" "Sep 13, 2023" "6.5.1" "BTRFS"
 .SH NAME
 btrfs-device \- manage devices of btrfs filesystems
 .SH SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/btrfs-progs-v6.5/Documentation/btrfs-filesystem.8 
new/btrfs-progs-v6.5.1/Documentation/btrfs-filesystem.8
--- old/btrfs-progs-v6.5/Documentation/btrfs-filesystem.8       2023-09-01 
14:42:18.000000000 +0200
+++ new/btrfs-progs-v6.5.1/Documentation/btrfs-filesystem.8     2023-09-13 
19:48:29.000000000 +0200
@@ -27,7 +27,7 @@
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
-.TH "BTRFS-FILESYSTEM" "8" "Sep 01, 2023" "6.5" "BTRFS"
+.TH "BTRFS-FILESYSTEM" "8" "Sep 13, 2023" "6.5.1" "BTRFS"
 .SH NAME
 btrfs-filesystem \- command group that primarily does work on the whole 
filesystems
 .SH SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/btrfs-progs-v6.5/Documentation/btrfs-find-root.8 
new/btrfs-progs-v6.5.1/Documentation/btrfs-find-root.8
--- old/btrfs-progs-v6.5/Documentation/btrfs-find-root.8        2023-09-01 
14:42:18.000000000 +0200
+++ new/btrfs-progs-v6.5.1/Documentation/btrfs-find-root.8      2023-09-13 
19:48:29.000000000 +0200
@@ -27,7 +27,7 @@
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
-.TH "BTRFS-FIND-ROOT" "8" "Sep 01, 2023" "6.5" "BTRFS"
+.TH "BTRFS-FIND-ROOT" "8" "Sep 13, 2023" "6.5.1" "BTRFS"
 .SH NAME
 btrfs-find-root \- filter to find btrfs root
 .SH SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/btrfs-progs-v6.5/Documentation/btrfs-image.8 
new/btrfs-progs-v6.5.1/Documentation/btrfs-image.8
--- old/btrfs-progs-v6.5/Documentation/btrfs-image.8    2023-09-01 
14:42:18.000000000 +0200
+++ new/btrfs-progs-v6.5.1/Documentation/btrfs-image.8  2023-09-13 
19:48:29.000000000 +0200
@@ -27,7 +27,7 @@
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
-.TH "BTRFS-IMAGE" "8" "Sep 01, 2023" "6.5" "BTRFS"
+.TH "BTRFS-IMAGE" "8" "Sep 13, 2023" "6.5.1" "BTRFS"
 .SH NAME
 btrfs-image \- create/restore an image of the filesystem
 .SH SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/btrfs-progs-v6.5/Documentation/btrfs-inspect-internal.8 
new/btrfs-progs-v6.5.1/Documentation/btrfs-inspect-internal.8
--- old/btrfs-progs-v6.5/Documentation/btrfs-inspect-internal.8 2023-09-01 
14:42:18.000000000 +0200
+++ new/btrfs-progs-v6.5.1/Documentation/btrfs-inspect-internal.8       
2023-09-13 19:48:29.000000000 +0200
@@ -27,7 +27,7 @@
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
-.TH "BTRFS-INSPECT-INTERNAL" "8" "Sep 01, 2023" "6.5" "BTRFS"
+.TH "BTRFS-INSPECT-INTERNAL" "8" "Sep 13, 2023" "6.5.1" "BTRFS"
 .SH NAME
 btrfs-inspect-internal \- query various internal information
 .SH SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/btrfs-progs-v6.5/Documentation/btrfs-ioctl.rst 
new/btrfs-progs-v6.5.1/Documentation/btrfs-ioctl.rst
--- old/btrfs-progs-v6.5/Documentation/btrfs-ioctl.rst  2023-09-01 
14:41:37.000000000 +0200
+++ new/btrfs-progs-v6.5.1/Documentation/btrfs-ioctl.rst        2023-09-13 
19:47:53.000000000 +0200
@@ -150,6 +150,33 @@
                __u64 rsv_excl;
        };
 
+.. _struct_btrfs_ioctl_fs_info_args:
+
+.. code-block:: c
+
+        /* Request information about checksum type and size */
+        #define BTRFS_FS_INFO_FLAG_CSUM_INFO                   (1 << 0)
+        /* Request information about filesystem generation */
+        #define BTRFS_FS_INFO_FLAG_GENERATION                  (1 << 1)
+        /* Request information about filesystem metadata UUID */
+        #define BTRFS_FS_INFO_FLAG_METADATA_UUID               (1 << 2)
+
+        struct btrfs_ioctl_fs_info_args {
+                __u64 max_id;                          /* out */
+                __u64 num_devices;                     /* out */
+                __u8 fsid[BTRFS_FSID_SIZE];            /* out */
+                __u32 nodesize;                                /* out */
+                __u32 sectorsize;                      /* out */
+                __u32 clone_alignment;                 /* out */
+                /* See BTRFS_FS_INFO_FLAG_* */
+                __u16 csum_type;                       /* out */
+                __u16 csum_size;                       /* out */
+                __u64 flags;                           /* in/out */
+                __u64 generation;                      /* out */
+                __u8 metadata_uuid[BTRFS_FSID_SIZE];   /* out */
+                __u8 reserved[944];                    /* pad to 1k */
+        };
+
 .. list-table::
    :header-rows: 1
 
@@ -157,10 +184,14 @@
      - Value
    * - BTRFS_UUID_SIZE
      - 16
+   * - BTRFS_FSID_SIZE
+     - 16
    * - BTRFS_SUBVOL_NAME_MAX
      - 4039
    * - BTRFS_PATH_NAME_MAX
      - 4087
+   * - BTRFS_VOL_NAME_MAX
+     - 255
 
 OVERVIEW
 --------
@@ -296,9 +327,9 @@
    * - BTRFS_IOC_DEV_INFO
      -
      -
-   * - BTRFS_IOC_FS_INFO
-     -
-     -
+   * - :ref:`BTRFS_IOC_FS_INFO<BTRFS_IOC_FS_INFO>`
+     - get information about filesystem (device count, fsid, ...)
+     - :ref:`struct btrfs_ioctl_fs_info_args<struct_btrfs_ioctl_fs_info_args>`
    * - BTRFS_IOC_BALANCE_V2
      -
      -
@@ -555,6 +586,26 @@
    * - ioctl args
      - uint64_t, either 0 or `BTRFS_SUBVOL_RDONLY`
 
+.. _BTRFS_IOC_FS_INFO:
+
+BTRFS_IOC_FS_INFO
+~~~~~~~~~~~~~~~~~
+
+Read internal information about the filesystem. The data can be exchanged
+both ways and part of the structure could be optionally filled. The reserved
+bytes can be used to get new kind of information in the future, always
+depending on the flags set.
+
+.. list-table::
+   :header-rows: 1
+
+   * - Field
+     - Description
+   * - ioctl fd
+     - file descriptor of any file/directory in the filesystem
+   * - ioctl args
+     - :ref:`struct btrfs_ioctl_fs_info_args<struct_btrfs_ioctl_fs_info_args>`
+
 .. _BTRFS_IOC_GET_SUBVOL_INFO:
 
 BTRFS_IOC_GET_SUBVOL_INFO
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/btrfs-progs-v6.5/Documentation/btrfs-map-logical.8 
new/btrfs-progs-v6.5.1/Documentation/btrfs-map-logical.8
--- old/btrfs-progs-v6.5/Documentation/btrfs-map-logical.8      2023-09-01 
14:42:18.000000000 +0200
+++ new/btrfs-progs-v6.5.1/Documentation/btrfs-map-logical.8    2023-09-13 
19:48:29.000000000 +0200
@@ -27,7 +27,7 @@
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
-.TH "BTRFS-MAP-LOGICAL" "8" "Sep 01, 2023" "6.5" "BTRFS"
+.TH "BTRFS-MAP-LOGICAL" "8" "Sep 13, 2023" "6.5.1" "BTRFS"
 .SH NAME
 btrfs-map-logical \- map btrfs logical extent to physical extent
 .SH SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/btrfs-progs-v6.5/Documentation/btrfs-property.8 
new/btrfs-progs-v6.5.1/Documentation/btrfs-property.8
--- old/btrfs-progs-v6.5/Documentation/btrfs-property.8 2023-09-01 
14:42:18.000000000 +0200
+++ new/btrfs-progs-v6.5.1/Documentation/btrfs-property.8       2023-09-13 
19:48:29.000000000 +0200
@@ -27,7 +27,7 @@
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
-.TH "BTRFS-PROPERTY" "8" "Sep 01, 2023" "6.5" "BTRFS"
+.TH "BTRFS-PROPERTY" "8" "Sep 13, 2023" "6.5.1" "BTRFS"
 .SH NAME
 btrfs-property \- get/set/list properties for given filesystem object
 .SH SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/btrfs-progs-v6.5/Documentation/btrfs-qgroup.8 
new/btrfs-progs-v6.5.1/Documentation/btrfs-qgroup.8
--- old/btrfs-progs-v6.5/Documentation/btrfs-qgroup.8   2023-09-01 
14:42:18.000000000 +0200
+++ new/btrfs-progs-v6.5.1/Documentation/btrfs-qgroup.8 2023-09-13 
19:48:29.000000000 +0200
@@ -27,7 +27,7 @@
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
-.TH "BTRFS-QGROUP" "8" "Sep 01, 2023" "6.5" "BTRFS"
+.TH "BTRFS-QGROUP" "8" "Sep 13, 2023" "6.5.1" "BTRFS"
 .SH NAME
 btrfs-qgroup \- control the quota group of a btrfs filesystem
 .SH SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/btrfs-progs-v6.5/Documentation/btrfs-quota.8 
new/btrfs-progs-v6.5.1/Documentation/btrfs-quota.8
--- old/btrfs-progs-v6.5/Documentation/btrfs-quota.8    2023-09-01 
14:42:18.000000000 +0200
+++ new/btrfs-progs-v6.5.1/Documentation/btrfs-quota.8  2023-09-13 
19:48:29.000000000 +0200
@@ -27,7 +27,7 @@
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
-.TH "BTRFS-QUOTA" "8" "Sep 01, 2023" "6.5" "BTRFS"
+.TH "BTRFS-QUOTA" "8" "Sep 13, 2023" "6.5.1" "BTRFS"
 .SH NAME
 btrfs-quota \- control the global quota status of a btrfs filesystem
 .SH SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/btrfs-progs-v6.5/Documentation/btrfs-receive.8 
new/btrfs-progs-v6.5.1/Documentation/btrfs-receive.8
--- old/btrfs-progs-v6.5/Documentation/btrfs-receive.8  2023-09-01 
14:42:18.000000000 +0200
+++ new/btrfs-progs-v6.5.1/Documentation/btrfs-receive.8        2023-09-13 
19:48:29.000000000 +0200
@@ -27,7 +27,7 @@
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
-.TH "BTRFS-RECEIVE" "8" "Sep 01, 2023" "6.5" "BTRFS"
+.TH "BTRFS-RECEIVE" "8" "Sep 13, 2023" "6.5.1" "BTRFS"
 .SH NAME
 btrfs-receive \- receive subvolumes from send stream
 .SH SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/btrfs-progs-v6.5/Documentation/btrfs-replace.8 
new/btrfs-progs-v6.5.1/Documentation/btrfs-replace.8
--- old/btrfs-progs-v6.5/Documentation/btrfs-replace.8  2023-09-01 
14:42:18.000000000 +0200
+++ new/btrfs-progs-v6.5.1/Documentation/btrfs-replace.8        2023-09-13 
19:48:29.000000000 +0200
@@ -27,7 +27,7 @@
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
-.TH "BTRFS-REPLACE" "8" "Sep 01, 2023" "6.5" "BTRFS"
+.TH "BTRFS-REPLACE" "8" "Sep 13, 2023" "6.5.1" "BTRFS"
 .SH NAME
 btrfs-replace \- replace devices managed by btrfs with other device
 .SH SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/btrfs-progs-v6.5/Documentation/btrfs-rescue.8 
new/btrfs-progs-v6.5.1/Documentation/btrfs-rescue.8
--- old/btrfs-progs-v6.5/Documentation/btrfs-rescue.8   2023-09-01 
14:42:18.000000000 +0200
+++ new/btrfs-progs-v6.5.1/Documentation/btrfs-rescue.8 2023-09-13 
19:48:29.000000000 +0200
@@ -27,7 +27,7 @@
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
-.TH "BTRFS-RESCUE" "8" "Sep 01, 2023" "6.5" "BTRFS"
+.TH "BTRFS-RESCUE" "8" "Sep 13, 2023" "6.5.1" "BTRFS"
 .SH NAME
 btrfs-rescue \- recover a damaged btrfs filesystem
 .SH SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/btrfs-progs-v6.5/Documentation/btrfs-restore.8 
new/btrfs-progs-v6.5.1/Documentation/btrfs-restore.8
--- old/btrfs-progs-v6.5/Documentation/btrfs-restore.8  2023-09-01 
14:42:18.000000000 +0200
+++ new/btrfs-progs-v6.5.1/Documentation/btrfs-restore.8        2023-09-13 
19:48:29.000000000 +0200
@@ -27,7 +27,7 @@
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
-.TH "BTRFS-RESTORE" "8" "Sep 01, 2023" "6.5" "BTRFS"
+.TH "BTRFS-RESTORE" "8" "Sep 13, 2023" "6.5.1" "BTRFS"
 .SH NAME
 btrfs-restore \- try to restore files from a damaged filesystem image
 .SH SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/btrfs-progs-v6.5/Documentation/btrfs-scrub.8 
new/btrfs-progs-v6.5.1/Documentation/btrfs-scrub.8
--- old/btrfs-progs-v6.5/Documentation/btrfs-scrub.8    2023-09-01 
14:42:18.000000000 +0200
+++ new/btrfs-progs-v6.5.1/Documentation/btrfs-scrub.8  2023-09-13 
19:48:29.000000000 +0200
@@ -27,7 +27,7 @@
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
-.TH "BTRFS-SCRUB" "8" "Sep 01, 2023" "6.5" "BTRFS"
+.TH "BTRFS-SCRUB" "8" "Sep 13, 2023" "6.5.1" "BTRFS"
 .SH NAME
 btrfs-scrub \- scrub btrfs filesystem, verify block checksums
 .SH SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/btrfs-progs-v6.5/Documentation/btrfs-select-super.8 
new/btrfs-progs-v6.5.1/Documentation/btrfs-select-super.8
--- old/btrfs-progs-v6.5/Documentation/btrfs-select-super.8     2023-09-01 
14:42:18.000000000 +0200
+++ new/btrfs-progs-v6.5.1/Documentation/btrfs-select-super.8   2023-09-13 
19:48:29.000000000 +0200
@@ -27,7 +27,7 @@
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
-.TH "BTRFS-SELECT-SUPER" "8" "Sep 01, 2023" "6.5" "BTRFS"
+.TH "BTRFS-SELECT-SUPER" "8" "Sep 13, 2023" "6.5.1" "BTRFS"
 .SH NAME
 btrfs-select-super \- overwrite primary superblock with a backup copy
 .SH SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/btrfs-progs-v6.5/Documentation/btrfs-send.8 
new/btrfs-progs-v6.5.1/Documentation/btrfs-send.8
--- old/btrfs-progs-v6.5/Documentation/btrfs-send.8     2023-09-01 
14:42:18.000000000 +0200
+++ new/btrfs-progs-v6.5.1/Documentation/btrfs-send.8   2023-09-13 
19:48:29.000000000 +0200
@@ -27,7 +27,7 @@
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
-.TH "BTRFS-SEND" "8" "Sep 01, 2023" "6.5" "BTRFS"
+.TH "BTRFS-SEND" "8" "Sep 13, 2023" "6.5.1" "BTRFS"
 .SH NAME
 btrfs-send \- generate a stream of changes between two subvolume snapshots
 .SH SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/btrfs-progs-v6.5/Documentation/btrfs-subvolume.8 
new/btrfs-progs-v6.5.1/Documentation/btrfs-subvolume.8
--- old/btrfs-progs-v6.5/Documentation/btrfs-subvolume.8        2023-09-01 
14:42:18.000000000 +0200
+++ new/btrfs-progs-v6.5.1/Documentation/btrfs-subvolume.8      2023-09-13 
19:48:29.000000000 +0200
@@ -27,7 +27,7 @@
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
-.TH "BTRFS-SUBVOLUME" "8" "Sep 01, 2023" "6.5" "BTRFS"
+.TH "BTRFS-SUBVOLUME" "8" "Sep 13, 2023" "6.5.1" "BTRFS"
 .SH NAME
 btrfs-subvolume \- manage btrfs subvolumes
 .SH SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/btrfs-progs-v6.5/Documentation/btrfs.5 
new/btrfs-progs-v6.5.1/Documentation/btrfs.5
--- old/btrfs-progs-v6.5/Documentation/btrfs.5  2023-09-01 14:42:18.000000000 
+0200
+++ new/btrfs-progs-v6.5.1/Documentation/btrfs.5        2023-09-13 
19:48:29.000000000 +0200
@@ -27,7 +27,7 @@
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
-.TH "BTRFS" "5" "Sep 01, 2023" "6.5" "BTRFS"
+.TH "BTRFS" "5" "Sep 13, 2023" "6.5.1" "BTRFS"
 .SH NAME
 btrfs \- topics about the BTRFS filesystem (mount options, supported file 
attributes and other)
 .SH DESCRIPTION
@@ -99,6 +99,8 @@
 .sp
 The support for ACL is build\-time configurable (BTRFS_FS_POSIX_ACL) and
 mount fails if \fIacl\fP is requested but the feature is not compiled in.
+.UNINDENT
+.INDENT 0.0
 .TP
 .B autodefrag, noautodefrag
 (since: 3.0, default: off)
@@ -106,7 +108,7 @@
 Enable automatic file defragmentation.
 When enabled, small random writes into files (in a range of tens of kilobytes,
 currently it\(aqs 64KiB) are detected and queued up for the defragmentation 
process.
-Not well suited for large database workloads.
+May not be well suited for large database workloads.
 .sp
 The read latency may increase due to reading the adjacent blocks that make up 
the
 range for defragmentation, successive write will merge the blocks in the new
@@ -258,11 +260,13 @@
 corresponding metadata blocks holding the checksums do not need to updated.
 The cost of checksumming of the blocks in memory is much lower than the IO,
 modern CPUs feature hardware support of the checksumming algorithm.
+.UNINDENT
+.INDENT 0.0
 .TP
 .B degraded
 (default: off)
 .sp
-Allow mounts with less devices than the RAID profile constraints
+Allow mounts with fewer devices than the RAID profile constraints
 require.  A read\-write mount (or remount) may fail when there are too many 
devices
 missing, for example if a stripe member is completely missing from RAID0.
 .sp
@@ -357,12 +361,12 @@
 one transaction commit.
 .TP
 .B fragment=<type>
-(depends on compile\-time option BTRFS_DEBUG, since: 4.4, default: off)
+(depends on compile\-time option CONFIG_BTRFS_DEBUG, since: 4.4, default: off)
 .sp
 A debugging helper to intentionally fragment given \fItype\fP of block groups. 
The
 type can be \fIdata\fP, \fImetadata\fP or \fIall\fP\&. This mount option 
should not be used
 outside of debugging environments and is not recognized if the kernel config
-option \fIBTRFS_DEBUG\fP is not enabled.
+option \fICONFIG_BTRFS_DEBUG\fP is not enabled.
 .TP
 .B nologreplay
 (default: off, even read\-only)
@@ -387,8 +391,8 @@
 with a K suffix (case insensitive).  In practice, this value
 is limited by the filesystem block size (named \fIsectorsize\fP at mkfs time),
 and memory page size of the system. In case of sectorsize limit, there\(aqs
-some space unavailable due to leaf headers.  For example, a 4KiB sectorsize,
-maximum size of inline data is about 3900 bytes.
+some space unavailable due to b\-tree leaf headers.  For example, a 4KiB
+sectorsize, maximum size of inline data is about 3900 bytes.
 .sp
 Inlining can be completely turned off by specifying 0. This will increase data
 block slack if file sizes are much smaller than block size but will reduce
@@ -1939,7 +1943,7 @@
 \fBchattr(1)\fP manual page.
 .SS XFLAGS
 .sp
-There\(aqs overlap of letters assigned to the bits with the attributes, this 
list
+There\(aqs an overlap of letters assigned to the bits with the attributes, 
this list
 refers to what \fBxfs_io(8)\fP provides:
 .INDENT 0.0
 .TP
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/btrfs-progs-v6.5/Documentation/btrfs.8 
new/btrfs-progs-v6.5.1/Documentation/btrfs.8
--- old/btrfs-progs-v6.5/Documentation/btrfs.8  2023-09-01 14:42:18.000000000 
+0200
+++ new/btrfs-progs-v6.5.1/Documentation/btrfs.8        2023-09-13 
19:48:29.000000000 +0200
@@ -27,7 +27,7 @@
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
-.TH "BTRFS" "8" "Sep 01, 2023" "6.5" "BTRFS"
+.TH "BTRFS" "8" "Sep 13, 2023" "6.5.1" "BTRFS"
 .SH NAME
 btrfs \- a toolbox to manage btrfs filesystems
 .SH SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/btrfs-progs-v6.5/Documentation/btrfstune.8 
new/btrfs-progs-v6.5.1/Documentation/btrfstune.8
--- old/btrfs-progs-v6.5/Documentation/btrfstune.8      2023-09-01 
14:42:18.000000000 +0200
+++ new/btrfs-progs-v6.5.1/Documentation/btrfstune.8    2023-09-13 
19:48:29.000000000 +0200
@@ -27,7 +27,7 @@
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
-.TH "BTRFSTUNE" "8" "Sep 01, 2023" "6.5" "BTRFS"
+.TH "BTRFSTUNE" "8" "Sep 13, 2023" "6.5.1" "BTRFS"
 .SH NAME
 btrfstune \- tune various filesystem parameters
 .SH SYNOPSIS
@@ -76,6 +76,8 @@
 .sp
 change fsid stored as \fImetadata_uuid\fP to a randomly generated UUID,
 see also \fI\-U\fP
+.UNINDENT
+.INDENT 0.0
 .TP
 .BI \-M \ <UUID>
 (since kernel: 5.0)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/btrfs-progs-v6.5/Documentation/btrfstune.rst 
new/btrfs-progs-v6.5.1/Documentation/btrfstune.rst
--- old/btrfs-progs-v6.5/Documentation/btrfstune.rst    2023-09-01 
14:41:37.000000000 +0200
+++ new/btrfs-progs-v6.5.1/Documentation/btrfstune.rst  2023-09-13 
19:47:53.000000000 +0200
@@ -52,6 +52,8 @@
         change fsid stored as *metadata_uuid* to a randomly generated UUID,
         see also *-U*
 
+.. _btrfstune-feature-metadata-uuid:
+
 -M <UUID>
         (since kernel: 5.0)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/btrfs-progs-v6.5/Documentation/ch-file-attributes.rst 
new/btrfs-progs-v6.5.1/Documentation/ch-file-attributes.rst
--- old/btrfs-progs-v6.5/Documentation/ch-file-attributes.rst   2023-09-01 
14:41:37.000000000 +0200
+++ new/btrfs-progs-v6.5.1/Documentation/ch-file-attributes.rst 2023-09-13 
19:47:53.000000000 +0200
@@ -68,7 +68,7 @@
 XFLAGS
 ^^^^^^
 
-There's overlap of letters assigned to the bits with the attributes, this list
+There's an overlap of letters assigned to the bits with the attributes, this 
list
 refers to what ``xfs_io(8)`` provides:
 
 i
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/btrfs-progs-v6.5/Documentation/ch-mount-options.rst 
new/btrfs-progs-v6.5.1/Documentation/ch-mount-options.rst
--- old/btrfs-progs-v6.5/Documentation/ch-mount-options.rst     2023-09-01 
14:41:37.000000000 +0200
+++ new/btrfs-progs-v6.5.1/Documentation/ch-mount-options.rst   2023-09-13 
19:47:53.000000000 +0200
@@ -27,13 +27,15 @@
         The support for ACL is build-time configurable (BTRFS_FS_POSIX_ACL) and
         mount fails if *acl* is requested but the feature is not compiled in.
 
+.. _mount-option-autodefrag:
+
 autodefrag, noautodefrag
         (since: 3.0, default: off)
 
         Enable automatic file defragmentation.
         When enabled, small random writes into files (in a range of tens of 
kilobytes,
         currently it's 64KiB) are detected and queued up for the 
defragmentation process.
-        Not well suited for large database workloads.
+        May not be well suited for large database workloads.
 
         The read latency may increase due to reading the adjacent blocks that 
make up the
         range for defragmentation, successive write will merge the blocks in 
the new
@@ -170,10 +172,12 @@
         The cost of checksumming of the blocks in memory is much lower than 
the IO,
         modern CPUs feature hardware support of the checksumming algorithm.
 
+.. _mount-option-degraded:
+
 degraded
         (default: off)
 
-        Allow mounts with less devices than the RAID profile constraints
+        Allow mounts with fewer devices than the RAID profile constraints
         require.  A read-write mount (or remount) may fail when there are too 
many devices
         missing, for example if a stripe member is completely missing from 
RAID0.
 
@@ -261,12 +265,12 @@
         one transaction commit.
 
 fragment=<type>
-        (depends on compile-time option BTRFS_DEBUG, since: 4.4, default: off)
+        (depends on compile-time option CONFIG_BTRFS_DEBUG, since: 4.4, 
default: off)
 
         A debugging helper to intentionally fragment given *type* of block 
groups. The
         type can be *data*, *metadata* or *all*. This mount option should not 
be used
         outside of debugging environments and is not recognized if the kernel 
config
-        option *BTRFS_DEBUG* is not enabled.
+        option *CONFIG_BTRFS_DEBUG* is not enabled.
 
 nologreplay
         (default: off, even read-only)
@@ -287,8 +291,8 @@
         with a K suffix (case insensitive).  In practice, this value
         is limited by the filesystem block size (named *sectorsize* at mkfs 
time),
         and memory page size of the system. In case of sectorsize limit, 
there's
-        some space unavailable due to leaf headers.  For example, a 4KiB 
sectorsize,
-        maximum size of inline data is about 3900 bytes.
+        some space unavailable due to b-tree leaf headers.  For example, a 4KiB
+        sectorsize, maximum size of inline data is about 3900 bytes.
 
         Inlining can be completely turned off by specifying 0. This will 
increase data
         block slack if file sizes are much smaller than block size but will 
reduce
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/btrfs-progs-v6.5/Documentation/dev/On-disk-format.rst 
new/btrfs-progs-v6.5.1/Documentation/dev/On-disk-format.rst
--- old/btrfs-progs-v6.5/Documentation/dev/On-disk-format.rst   2023-09-01 
14:41:37.000000000 +0200
+++ new/btrfs-progs-v6.5.1/Documentation/dev/On-disk-format.rst 2023-09-13 
19:47:53.000000000 +0200
@@ -3,6 +3,11 @@
 
 This document describes the Btrfs on‐disk format.
 
+.. note::
+
+   This document contains outdated and incomplete information and has been
+   copied from the original btrfs.wiki.kernel.org with little review.
+
 Overview
 ~~~~~~~~
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/btrfs-progs-v6.5/Documentation/dev/dev-internal-apis.rst 
new/btrfs-progs-v6.5.1/Documentation/dev/dev-internal-apis.rst
--- old/btrfs-progs-v6.5/Documentation/dev/dev-internal-apis.rst        
2023-09-01 14:41:37.000000000 +0200
+++ new/btrfs-progs-v6.5.1/Documentation/dev/dev-internal-apis.rst      
2023-09-13 19:47:53.000000000 +0200
@@ -5,12 +5,13 @@
 values, sorting, extensible arrays, etc. Not all places are unified and use old
 code implementing it manually. Below is list of usable APIs that should be 
spread
 and updated where it's still not. A need for new API might emerge from
-cleanups, then it should appear here.
+cleanups, then it should appear here. The text below gives pointers and is not
+extensive, search the definitions and actual use in other code too.
 
 Option parsing
 --------------
 
-Files: common/help.h, common/parse-utils.h
+Files: :file:`common/help.h`, :file:`common/parse-utils.h`
 
 Global options need to be processed and consumed by `clean_args_no_options`,
 argument count by `check_argc_*`, `usage_*` for handling usage.
@@ -18,6 +19,21 @@
 Options are parsed by `getopt` or `getopt_long`. Individual values from options
 are recognized by `parse_*`, basic types and custom types are supported.
 
+Size unit pretty printing
+-------------------------
+
+Files: :file:`common/units.h`
+
+Many commands print byte sizes with suffixes and the output format can be
+affected by command line options. In the help text the options are specified by
+either `HELPINFO_UNITS_SHORT_LONG` (both long and short options) or just
+`HELPINFO_UNITS_LONG` in case the short option letters would conflict.
+
+Automatic parsing of the options from *argv* is done by 
`get_unit_mode_from_arg`.
+Printing options is done by `pretty_size_mode` which takes the value and option
+mode. Default mode is human readable, the macros defining the modes are from
+`UNITS_*` namespace.
+
 TODO
 ----
 
@@ -33,4 +49,3 @@
 * common/string-table.h
 * common/string-table.h
 * common/task-utils.h
-* common/units.h
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/btrfs-progs-v6.5/Documentation/dev/dev-send-stream.rst 
new/btrfs-progs-v6.5.1/Documentation/dev/dev-send-stream.rst
--- old/btrfs-progs-v6.5/Documentation/dev/dev-send-stream.rst  2023-09-01 
14:41:37.000000000 +0200
+++ new/btrfs-progs-v6.5.1/Documentation/dev/dev-send-stream.rst        
2023-09-13 19:47:53.000000000 +0200
@@ -19,14 +19,36 @@
 
 Raw data types. Integer values are stored in little endian byte order.
 
-- unsigned int 8bit (u8)
-- unsigned int 16bit (u16)
-- unsigned int 32bit (u32)
-- unsigned int 64bit (u64)
-- variable length binary data (data)
-- variable length string (string)
-- UUID, 16 bytes (uuid)
-- time specification, 64bit seconds, 32bit nanoseconds (timespec)
+.. list-table::
+   :header-rows: 1
+
+   * - Meaning
+     - Size
+     - Name
+   * - unsigned int
+     - 8 bit
+     - u8
+   * - unsigned int
+     - 16 bit
+     - u16
+   * - unsigned int
+     - 32 bit
+     - u32
+   * - unsigned int
+     - 64 bit
+     - u64
+   * - variable length binary data
+     - variable
+     - data
+   * - variable length string
+     - variable
+     - string
+   * - UUID
+     - 16 bytes
+     - uuid
+   * - time specification
+     - 64bit seconds, 32bit nanoseconds
+     - timespec
 
 Stream structure
 ----------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/btrfs-progs-v6.5/Documentation/fsck.btrfs.8 
new/btrfs-progs-v6.5.1/Documentation/fsck.btrfs.8
--- old/btrfs-progs-v6.5/Documentation/fsck.btrfs.8     2023-09-01 
14:42:18.000000000 +0200
+++ new/btrfs-progs-v6.5.1/Documentation/fsck.btrfs.8   2023-09-13 
19:48:29.000000000 +0200
@@ -27,7 +27,7 @@
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
-.TH "FSCK.BTRFS" "8" "Sep 01, 2023" "6.5" "BTRFS"
+.TH "FSCK.BTRFS" "8" "Sep 13, 2023" "6.5.1" "BTRFS"
 .SH NAME
 fsck.btrfs \- do nothing, successfully
 .SH SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/btrfs-progs-v6.5/Documentation/mkfs.btrfs.8 
new/btrfs-progs-v6.5.1/Documentation/mkfs.btrfs.8
--- old/btrfs-progs-v6.5/Documentation/mkfs.btrfs.8     2023-09-01 
14:42:18.000000000 +0200
+++ new/btrfs-progs-v6.5.1/Documentation/mkfs.btrfs.8   2023-09-13 
19:48:29.000000000 +0200
@@ -27,7 +27,7 @@
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
-.TH "MKFS.BTRFS" "8" "Sep 01, 2023" "6.5" "BTRFS"
+.TH "MKFS.BTRFS" "8" "Sep 13, 2023" "6.5.1" "BTRFS"
 .SH NAME
 mkfs.btrfs \- create a btrfs filesystem
 .SH SYNOPSIS
@@ -111,6 +111,8 @@
 .UNINDENT
 .sp
 On multiple devices the default is \fIraid1\fP\&.
+.UNINDENT
+.INDENT 0.0
 .TP
 .B \-M|\-\-mixed
 Normally the data and metadata block groups are isolated. The \fImixed\fP mode
@@ -369,12 +371,29 @@
 (default since btrfs\-progs 5.15, kernel support since 4.5)
 .sp
 Enable the free space tree (mount option \fIspace_cache=v2\fP) for persisting 
the
-free space cache.
+free space cache in a b\-tree. This is built on top of the COW mechanism
+and has better performance than v1.
+.sp
+Offline conversion from filesystems that don\(aqt have this feature
+enabled at \fImkfs\fP time is possible, see \fI\%btrfstune(8)\fP\&.
+.sp
+Online conversion can be done by mounting with \fBspace_cache=v2\fP, this
+is sufficient to be done one time.
+.UNINDENT
+.INDENT 0.0
 .TP
 .B block\-group\-tree
 (kernel support since 6.1)
 .sp
-Enable the block group tree to greatly reduce mount time for large filesystems.
+Enable a dedicated b\-tree for block group items, this greatly reduces
+mount time for large filesystems due to better data locality that
+avoids seeking. On rotational devices the \fIlarge\fP size is considered
+starting from the 2\-4TiB. Can be used on other types of devices (SSD,
+NVMe, ...) as well.
+.sp
+Offline conversion from filesystems that don\(aqt have this feature
+enabled at \fImkfs\fP time is possible, see \fI\%btrfstune(8)\fP\&. Online
+conversion is not possible.
 .UNINDENT
 .SH BLOCK GROUPS, CHUNKS, RAID
 .sp
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/btrfs-progs-v6.5/Documentation/mkfs.btrfs.rst 
new/btrfs-progs-v6.5.1/Documentation/mkfs.btrfs.rst
--- old/btrfs-progs-v6.5/Documentation/mkfs.btrfs.rst   2023-09-01 
14:41:37.000000000 +0200
+++ new/btrfs-progs-v6.5.1/Documentation/mkfs.btrfs.rst 2023-09-13 
19:47:53.000000000 +0200
@@ -79,6 +79,8 @@
 
         On multiple devices the default is *raid1*.
 
+.. _mkfs-feature-mixed-bg:
+
 -M|--mixed
         Normally the data and metadata block groups are isolated. The *mixed* 
mode
         will remove the isolation and store both types in the same block group 
type.
@@ -300,12 +302,29 @@
         (default since btrfs-progs 5.15, kernel support since 4.5)
 
         Enable the free space tree (mount option *space_cache=v2*) for 
persisting the
-        free space cache.
+        free space cache in a b-tree. This is built on top of the COW mechanism
+        and has better performance than v1.
+
+        Offline conversion from filesystems that don't have this feature
+        enabled at *mkfs* time is possible, see :doc:`btrfstune`.
+
+        Online conversion can be done by mounting with ``space_cache=v2``, this
+        is sufficient to be done one time.
+
+.. _mkfs-feature-block-group-tree:
 
 block-group-tree
         (kernel support since 6.1)
 
-        Enable the block group tree to greatly reduce mount time for large 
filesystems.
+        Enable a dedicated b-tree for block group items, this greatly reduces
+        mount time for large filesystems due to better data locality that
+        avoids seeking. On rotational devices the *large* size is considered
+        starting from the 2-4TiB. Can be used on other types of devices (SSD,
+        NVMe, ...) as well.
+
+        Offline conversion from filesystems that don't have this feature
+        enabled at *mkfs* time is possible, see :doc:`btrfstune`. Online
+        conversion is not possible.
 
 .. _mkfs-section-profiles:
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/btrfs-progs-v6.5/VERSION new/btrfs-progs-v6.5.1/VERSION
--- old/btrfs-progs-v6.5/VERSION        2023-09-01 14:41:37.000000000 +0200
+++ new/btrfs-progs-v6.5.1/VERSION      2023-09-13 19:47:53.000000000 +0200
@@ -1 +1 @@
-v6.5
+v6.5.1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/btrfs-progs-v6.5/check/main.c new/btrfs-progs-v6.5.1/check/main.c
--- old/btrfs-progs-v6.5/check/main.c   2023-09-01 14:41:37.000000000 +0200
+++ new/btrfs-progs-v6.5.1/check/main.c 2023-09-13 19:47:53.000000000 +0200
@@ -4195,7 +4195,8 @@
            rec->num_duplicates == 0 && !all_backpointers_checked(rec, 0) &&
            !rec->bad_full_backref && !rec->crossing_stripes &&
            rec->generation <= super_gen + 1 &&
-           !rec->wrong_chunk_type) {
+           !rec->wrong_chunk_type &&
+           (!rec->metadata || rec->info_level == rec->level)) {
                remove_cache_extent(extent_cache, &rec->cache);
                free_all_extent_backrefs(rec);
                list_del_init(&rec->list);
@@ -4767,6 +4768,7 @@
        rec->extent_item_refs = tmpl->extent_item_refs;
        rec->parent_generation = tmpl->parent_generation;
        rec->generation = tmpl->generation;
+       rec->level = tmpl->level;
        INIT_LIST_HEAD(&rec->backrefs);
        INIT_LIST_HEAD(&rec->dups);
        INIT_LIST_HEAD(&rec->list);
@@ -4848,6 +4850,7 @@
                                rec->num_duplicates++;
                        } else {
                                rec->nr = tmpl->nr;
+                               rec->level = tmpl->level;
                                rec->found_rec = 1;
                        }
                }
@@ -5592,6 +5595,8 @@
        if (metadata)
                btrfs_check_subpage_eb_alignment(gfs_info, key.objectid, 
num_bytes);
 
+       memset(&tmpl, 0, sizeof(tmpl));
+
        ptr = (unsigned long)(ei + 1);
        if (metadata) {
                u64 level;
@@ -5610,8 +5615,10 @@
                              key.objectid, level, BTRFS_MAX_LEVEL - 1);
                        return -EUCLEAN;
                }
+
+               tmpl.level = (u8)level;
        }
-       memset(&tmpl, 0, sizeof(tmpl));
+
        tmpl.start = key.objectid;
        tmpl.nr = num_bytes;
        tmpl.extent_item_refs = refs;
@@ -8144,6 +8151,14 @@
                                cur_err = 1;
                        }
                }
+
+               if (rec->metadata && rec->level != rec->info_level) {
+                       fprintf(stderr,
+                               "metadata level mismatch on [%llu, %llu]\n",
+                               rec->start, rec->nr);
+                       cur_err = 1;
+               }
+
                if (rec->refs != rec->extent_item_refs) {
                        fprintf(stderr, "ref mismatch on [%llu %llu] ",
                                (unsigned long long)rec->start,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/btrfs-progs-v6.5/check/mode-original.h 
new/btrfs-progs-v6.5.1/check/mode-original.h
--- old/btrfs-progs-v6.5/check/mode-original.h  2023-09-01 14:41:37.000000000 
+0200
+++ new/btrfs-progs-v6.5.1/check/mode-original.h        2023-09-13 
19:47:53.000000000 +0200
@@ -90,6 +90,7 @@
        u64 info_objectid;
        u32 num_duplicates;
        u8 info_level;
+       u8 level;
        unsigned int flag_block_full_backref:2;
        unsigned int found_rec:1;
        unsigned int content_checked:1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/btrfs-progs-v6.5/common/cpu-utils.c 
new/btrfs-progs-v6.5.1/common/cpu-utils.c
--- old/btrfs-progs-v6.5/common/cpu-utils.c     2023-09-01 14:41:37.000000000 
+0200
+++ new/btrfs-progs-v6.5.1/common/cpu-utils.c   2023-09-13 19:47:53.000000000 
+0200
@@ -54,6 +54,7 @@
        FLAG(SSE2);
        FLAG(SSSE3);
        FLAG(SSE41);
+       FLAG(PCLMUL);
        FLAG(SSE42);
        FLAG(SHA);
        FLAG(AVX);
@@ -76,6 +77,10 @@
                __cpu_flags |= CPU_FLAG_SSSE3;
        if (__builtin_cpu_supports("sse4.1"))
                __cpu_flags |= CPU_FLAG_SSE41;
+#if HAVE___BUILTIN_CPU_SUPPORTS__PCLMUL
+       if (__builtin_cpu_supports("pclmul"))
+               __cpu_flags |= CPU_FLAG_PCLMUL;
+#endif
        if (__builtin_cpu_supports("sse4.2"))
                __cpu_flags |= CPU_FLAG_SSE42;
        if (__builtin_cpu_supports("avx"))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/btrfs-progs-v6.5/common/cpu-utils.h 
new/btrfs-progs-v6.5.1/common/cpu-utils.h
--- old/btrfs-progs-v6.5/common/cpu-utils.h     2023-09-01 14:41:37.000000000 
+0200
+++ new/btrfs-progs-v6.5.1/common/cpu-utils.h   2023-09-13 19:47:53.000000000 
+0200
@@ -33,6 +33,7 @@
        ENUM_CPU_BIT(CPU_FLAG_SSE2),
        ENUM_CPU_BIT(CPU_FLAG_SSSE3),
        ENUM_CPU_BIT(CPU_FLAG_SSE41),
+       ENUM_CPU_BIT(CPU_FLAG_PCLMUL),
        ENUM_CPU_BIT(CPU_FLAG_SSE42),
        ENUM_CPU_BIT(CPU_FLAG_SHA),
        ENUM_CPU_BIT(CPU_FLAG_AVX),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/btrfs-progs-v6.5/config/ax_gcc_builtin.m4 
new/btrfs-progs-v6.5.1/config/ax_gcc_builtin.m4
--- old/btrfs-progs-v6.5/config/ax_gcc_builtin.m4       2023-07-13 
16:27:16.000000000 +0200
+++ new/btrfs-progs-v6.5.1/config/ax_gcc_builtin.m4     2023-09-13 
00:52:42.000000000 +0200
@@ -124,6 +124,7 @@
                 [__builtin_cpu_init], [$1()],
                 [__builtin_cpu_is], [$1("intel")],
                 [__builtin_cpu_supports], [$1("sse")],
+                [__builtin_cpu_supports__pclmul], 
[__builtin_cpu_supports("pclmul")],
                 [__builtin_ctz], [$1(0)],
                 [__builtin_ctzl], [$1(0)],
                 [__builtin_ctzll], [$1(0)],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/btrfs-progs-v6.5/configure.ac new/btrfs-progs-v6.5.1/configure.ac
--- old/btrfs-progs-v6.5/configure.ac   2023-09-01 14:41:37.000000000 +0200
+++ new/btrfs-progs-v6.5.1/configure.ac 2023-09-13 19:47:53.000000000 +0200
@@ -86,6 +86,7 @@
 AX_GCC_BUILTIN([__builtin_add_overflow])
 AX_GCC_BUILTIN([__builtin_sub_overflow])
 AX_GCC_BUILTIN([__builtin_mul_overflow])
+AX_GCC_BUILTIN([__builtin_cpu_supports__pclmul])
 
 AC_CHECK_HEADERS([linux/perf_event.h])
 AC_CHECK_HEADERS([linux/hw_breakpoint.h])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/btrfs-progs-v6.5/crypto/crc32c-pcl-intel-asm_64.S 
new/btrfs-progs-v6.5.1/crypto/crc32c-pcl-intel-asm_64.S
--- old/btrfs-progs-v6.5/crypto/crc32c-pcl-intel-asm_64.S       2023-09-01 
14:41:37.000000000 +0200
+++ new/btrfs-progs-v6.5.1/crypto/crc32c-pcl-intel-asm_64.S     2023-09-13 
19:47:53.000000000 +0200
@@ -321,10 +321,10 @@
 .size crc_pcl, .-crc_pcl
 ###SYM_FUNC_END(crc_pcl)
 
-.section       .rodata, "a", @progbits
         ################################################################
         ## jump table        Table is 129 entries x 2 bytes each
         ################################################################
+.data
 .align 4
 jump_table:
        i=0
@@ -340,6 +340,7 @@
        ## PCLMULQDQ tables
        ## Table is 128 entries x 2 words (8 bytes) each
        ################################################################
+.section       .rodata, "a", @progbits
 .align 8
 K_table:
        .long 0x493c7d27, 0x00000001
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/btrfs-progs-v6.5/crypto/crc32c.c new/btrfs-progs-v6.5.1/crypto/crc32c.c
--- old/btrfs-progs-v6.5/crypto/crc32c.c        2023-09-01 14:41:37.000000000 
+0200
+++ new/btrfs-progs-v6.5.1/crypto/crc32c.c      2023-09-13 19:47:53.000000000 
+0200
@@ -25,7 +25,7 @@
        return crc_pcl(data, len, crc);
 }
 
-#else
+#endif
 
 /*
  * Based on a posting to lkml by Austin Zhang <[email protected]>
@@ -86,8 +86,6 @@
        return crc;
 }
 
-#endif
-
 void crc32c_init_accel(void)
 {
        /*
@@ -96,14 +94,13 @@
         */
        if (0) {
 #ifdef __GLIBC__
-       } else if (cpu_has_feature(CPU_FLAG_SSE42)) {
+       } else if (cpu_has_feature(CPU_FLAG_PCLMUL)) {
                /* printf("CRC32C: pcl\n"); */
                crc_function = crc32c_pcl;
-#else
+#endif
        } else if (cpu_has_feature(CPU_FLAG_SSE42)) {
                /* printf("CRC32c: intel\n"); */
                crc_function = crc32c_intel;
-#endif
        } else {
                /* printf("CRC32c: fallback\n"); */
                crc_function = __crc32c_le;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/btrfs-progs-v6.5/crypto/hash-speedtest.c 
new/btrfs-progs-v6.5.1/crypto/hash-speedtest.c
--- old/btrfs-progs-v6.5/crypto/hash-speedtest.c        2023-09-01 
14:41:37.000000000 +0200
+++ new/btrfs-progs-v6.5.1/crypto/hash-speedtest.c      2023-09-13 
19:47:53.000000000 +0200
@@ -190,7 +190,7 @@
                { .name = "CRC32C-ref", .digest = hash_crc32c, .digest_size = 4,
                  .cpu_flag = CPU_FLAG_NONE },
                { .name = "CRC32C-NI", .digest = hash_crc32c, .digest_size = 4,
-                 .cpu_flag = CPU_FLAG_SSE42 },
+                 .cpu_flag = CPU_FLAG_PCLMUL },
                { .name = "XXHASH", .digest = hash_xxhash, .digest_size = 8 },
                { .name = "SHA256-ref", .digest = hash_sha256, .digest_size = 
32,
                  .cpu_flag = CPU_FLAG_NONE, .backend = CRYPTOPROVIDER_BUILTIN 
+ 1 },
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/btrfs-progs-v6.5/crypto/hash-vectest.c 
new/btrfs-progs-v6.5.1/crypto/hash-vectest.c
--- old/btrfs-progs-v6.5/crypto/hash-vectest.c  2023-09-01 14:41:37.000000000 
+0200
+++ new/btrfs-progs-v6.5.1/crypto/hash-vectest.c        2023-09-13 
19:47:53.000000000 +0200
@@ -442,7 +442,7 @@
                .digest_size = 4,
                .testvec = crc32c_tv,
                .count = ARRAY_SIZE(crc32c_tv),
-               .cpu_flag = CPU_FLAG_SSE42,
+               .cpu_flag = CPU_FLAG_PCLMUL,
                .hash = hash_crc32c
        }, {
                .name = "XXHASH",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/btrfs-progs-v6.5/include/config.h.in 
new/btrfs-progs-v6.5.1/include/config.h.in
--- old/btrfs-progs-v6.5/include/config.h.in    2023-05-17 13:17:08.000000000 
+0200
+++ new/btrfs-progs-v6.5.1/include/config.h.in  2023-09-13 00:28:16.000000000 
+0200
@@ -127,6 +127,10 @@
    function */
 #undef HAVE___BUILTIN_ADD_OVERFLOW
 
+/* Define to 1 if the system has the `__builtin_cpu_supports__pclmul' built-in
+   function */
+#undef HAVE___BUILTIN_CPU_SUPPORTS__PCLMUL
+
 /* Define to 1 if the system has the `__builtin_mul_overflow' built-in
    function */
 #undef HAVE___BUILTIN_MUL_OVERFLOW
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/btrfs-progs-v6.5/tests/cli-tests.sh 
new/btrfs-progs-v6.5.1/tests/cli-tests.sh
--- old/btrfs-progs-v6.5/tests/cli-tests.sh     2023-09-01 14:41:37.000000000 
+0200
+++ new/btrfs-progs-v6.5.1/tests/cli-tests.sh   2023-09-13 19:47:53.000000000 
+0200
@@ -77,3 +77,5 @@
        fi
        cd "$TEST_TOP"
 done
+
+"$TEST_TOP/scan-results.sh" "$RESULTS"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/btrfs-progs-v6.5/tests/convert-tests.sh 
new/btrfs-progs-v6.5.1/tests/convert-tests.sh
--- old/btrfs-progs-v6.5/tests/convert-tests.sh 2023-09-01 14:41:37.000000000 
+0200
+++ new/btrfs-progs-v6.5.1/tests/convert-tests.sh       2023-09-13 
19:47:53.000000000 +0200
@@ -95,3 +95,5 @@
 do
        run_one_test "$i"
 done
+
+"$TEST_TOP/scan-results.sh" "$RESULTS"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/btrfs-progs-v6.5/tests/fsck-tests.sh 
new/btrfs-progs-v6.5.1/tests/fsck-tests.sh
--- old/btrfs-progs-v6.5/tests/fsck-tests.sh    2023-09-01 14:41:37.000000000 
+0200
+++ new/btrfs-progs-v6.5.1/tests/fsck-tests.sh  2023-09-13 19:47:53.000000000 
+0200
@@ -112,3 +112,5 @@
 do
        run_one_test "$i"
 done
+
+"$TEST_TOP/scan-results.sh" "$RESULTS"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/btrfs-progs-v6.5/tests/fuzz-tests.sh 
new/btrfs-progs-v6.5.1/tests/fuzz-tests.sh
--- old/btrfs-progs-v6.5/tests/fuzz-tests.sh    2023-09-01 14:41:37.000000000 
+0200
+++ new/btrfs-progs-v6.5.1/tests/fuzz-tests.sh  2023-09-13 19:47:53.000000000 
+0200
@@ -76,3 +76,5 @@
        fi
        cd "$TEST_TOP"
 done
+
+"$TEST_TOP/scan-results.sh" "$RESULTS"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/btrfs-progs-v6.5/tests/ioctl-test.c 
new/btrfs-progs-v6.5.1/tests/ioctl-test.c
--- old/btrfs-progs-v6.5/tests/ioctl-test.c     2023-09-01 14:41:37.000000000 
+0200
+++ new/btrfs-progs-v6.5.1/tests/ioctl-test.c   2023-09-13 19:47:53.000000000 
+0200
@@ -192,7 +192,7 @@
 static struct btrfs_ioctl_same_args used_same_args __attribute__((used));
 static struct btrfs_ioctl_feature_flags used_feature_flags 
__attribute__((used));
 
-const char* value_to_string(unsigned long num)
+static const char* value_to_string(unsigned long num)
 {
 #define ONE(x) case x: return #x;
        switch (num) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/btrfs-progs-v6.5/tests/misc-tests.sh 
new/btrfs-progs-v6.5.1/tests/misc-tests.sh
--- old/btrfs-progs-v6.5/tests/misc-tests.sh    2023-09-01 14:41:37.000000000 
+0200
+++ new/btrfs-progs-v6.5.1/tests/misc-tests.sh  2023-09-13 19:47:53.000000000 
+0200
@@ -84,3 +84,5 @@
        fi
        cd "$TEST_TOP"
 done
+
+"$TEST_TOP/scan-results.sh" "$RESULTS"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/btrfs-progs-v6.5/tests/mkfs-tests.sh 
new/btrfs-progs-v6.5.1/tests/mkfs-tests.sh
--- old/btrfs-progs-v6.5/tests/mkfs-tests.sh    2023-09-01 14:41:37.000000000 
+0200
+++ new/btrfs-progs-v6.5.1/tests/mkfs-tests.sh  2023-09-13 19:47:53.000000000 
+0200
@@ -79,3 +79,5 @@
        fi
        cd "$TEST_TOP"
 done
+
+"$TEST_TOP/scan-results.sh" "$RESULTS"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/btrfs-progs-v6.5/tests/scan-results.sh 
new/btrfs-progs-v6.5.1/tests/scan-results.sh
--- old/btrfs-progs-v6.5/tests/scan-results.sh  2023-09-01 14:41:37.000000000 
+0200
+++ new/btrfs-progs-v6.5.1/tests/scan-results.sh        2023-09-13 
19:47:53.000000000 +0200
@@ -1,21 +1,39 @@
 #!/bin/sh
+# Look for some frequent error message templates in test logs
+#
+# Usage: $0 [test-log.txt]
 
-# look for some error messages in all test logs
+ret=0
 
-for i in *.txt; do
-       echo "Scanning $i"
+scan_log() {
+       local file="$1"
+
+       echo "Scanning $file"
        last=
        while read line; do
                case "$line" in
-                       ===\ Entering*) last="$line" ;;
-                       *Assertion*failed*) echo "ASSERTION FAILED: $last" ;;
-                       *runtime\ error*) echo "RUNTIME ERROR (sanitizer): 
$last" ;;
-                       *AddressSanitizer*heap-use-after-free*) echo "RUNTIME 
ERROR (use after free): $last" ;;
-                       *LeakSanitizer:*leak*) echo "SANITIZER REPORT: memory 
leak: $last" ;;
-                       *Warning:\ assertion*failed*) echo "ASSERTION WARNING: 
$last" ;;
-                       *command\ not\ found*) echo "COMMAND NOT FOUND: $last" 
;;
-                       *extent\ buffer\ leak*) echo "EXTENT BUFFER LEAK: 
$last" ;;
+                       ===\ START\ TEST*)      last="$line" ;;
+                       *Assertion*failed*)     ret=1; echo "ASSERTION FAILED: 
$last" ;;
+                       *runtime\ error*)       ret=1; echo "RUNTIME ERROR 
(sanitizer): $last" ;;
+                       *AddressSanitizer*heap-use-after-free*) ret=1; echo 
"RUNTIME ERROR (use after free): $last" ;;
+                       *LeakSanitizer:*leak*)  ret=1; echo "SANITIZER REPORT: 
memory leak: $last" ;;
+                       *Warning:\ assertion*failed*) ret=1; echo "ASSERTION 
WARNING: $last" ;;
+                       *command\ not\ found*)  ret=1; echo "COMMAND NOT FOUND: 
$last" ;;
+                       *extent\ buffer\ leak*) ret=1; echo "EXTENT BUFFER 
LEAK: $last" ;;
                        *) : ;;
                esac
-       done < "$i"
+       done < "$file"
+}
+
+# Scan only the given file
+if [ -n "$1" ]; then
+       scan_log "$1"
+       exit "$ret"
+fi
+
+# Scan all existing test logs
+for file in *.txt; do
+       scan_log "$file"
 done
+
+exit "$ret"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/btrfs-progs-v6.5/tests/string-table-test.c 
new/btrfs-progs-v6.5.1/tests/string-table-test.c
--- old/btrfs-progs-v6.5/tests/string-table-test.c      2023-09-01 
14:41:37.000000000 +0200
+++ new/btrfs-progs-v6.5.1/tests/string-table-test.c    2023-09-13 
19:47:53.000000000 +0200
@@ -19,7 +19,7 @@
 #include "common/utils.h"
 #include "common/string-table.h"
 
-void test_simple_create_free()
+static void test_simple_create_free()
 {
        struct string_table *tab;
 
@@ -38,7 +38,7 @@
        table_free(tab);
 }
 
-void test_simple_header()
+static void test_simple_header()
 {
        struct string_table *tab;
        int i;
@@ -68,7 +68,7 @@
        table_free(tab);
 }
 
-void test_simple_paginate()
+static void test_simple_paginate()
 {
        struct string_table *tab;
        unsigned int page_size = 4;

Reply via email to