diff --git a/.github/workflows/codespell.yml b/.github/workflows/codespell.yml index f9a29030e0..09ab63d879 100644 --- a/.github/workflows/codespell.yml +++ b/.github/workflows/codespell.yml @@ -1,4 +1,7 @@ -# Check for typos on devel and pull rquests +# Check for typos on release and on-demand branches +# +# NOTE: this is not run on devel or pull requests +# # - codespell configuration is within .codespellrc # - the workflow can be run separately from other workflows that trigger on # ci/* branches, use codespell/* as the prefix @@ -9,13 +12,8 @@ run-name: Codespell on: push: branches: - - devel - - 'ci/**' + - release-test - 'codespell/**' - pull_request: - branches: - - devel - - 'ci/**' permissions: contents: read diff --git a/.github/workflows/devel.yml b/.github/workflows/devel.yml index ece98db252..1cb9846f2e 100644 --- a/.github/workflows/devel.yml +++ b/.github/workflows/devel.yml @@ -9,7 +9,6 @@ on: branches: - devel - 'ci/**' - - 'CI/**' jobs: build-simple: name: Simple build tests, manual page build test diff --git a/.github/workflows/ci-build-test.yml b/.github/workflows/image-build-test.yml similarity index 100% rename from .github/workflows/ci-build-test.yml rename to .github/workflows/image-build-test.yml diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml new file mode 100644 index 0000000000..a4c44b838d --- /dev/null +++ b/.github/workflows/python.yml @@ -0,0 +1,41 @@ +# Run python tests on various version +# +# NOTE: The minimum compatible version is 3.6 but the CI base image does not provide it. +# NOTE: The recent python versions (3.12 and up) fail to set up due to old python3-setuptools in the image +# NOTE: The workflow could still pass even if the individual tests fail (FIXME) + +name: Python bindings tests +run-name: Python bindings tests +on: + push: + branches: + - "ci/**" + - devel + - release-test + - master +jobs: + python-test: + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + # 3.6 not available since 22.04 + # 3.12 broken on 24.04 (no setuptools found during build despite being installed, FIXME) + # 3.13 not available on 24.04 + python-version: ["3.9", "3.10", "3.11"] + steps: + - uses: actions/checkout@v4 + - run: sudo apt-get update -qqq + - run: sudo apt-get install -y pkg-config gcc liblzo2-dev libzstd-dev libblkid-dev uuid-dev zlib1g-dev libext2fs-dev e2fsprogs libudev-dev python3-sphinx libaio-dev liburing-dev python3-setuptools + - name: Set up python + uses: actions/setup-python@v6 + with: + python-version: ${{ matrix.python-version }} + - run: python -c "import sys; print(sys.version)" + - name: Configure + run: ./autogen.sh && ./configure --disable-documentation --disable-programs --disable-static + - name: Make + # With --disable-programs most of the tools are not built, but the tests still need mkfs + run: make V=1 -j 4 all mkfs.btrfs + - name: Test python + run: sudo make test-libbtrfsutil diff --git a/.gitignore b/.gitignore index 76f73a1c32..5fa3a73a6d 100644 --- a/.gitignore +++ b/.gitignore @@ -75,6 +75,7 @@ !.github !.readthedocs.yaml !.codespellrc +!.pylintrc /ci/images/*/devel.tar.gz diff --git a/CHANGES b/CHANGES index 5edde25ba7..c589ddbbdc 100644 --- a/CHANGES +++ b/CHANGES @@ -612,8 +612,11 @@ btrfs-progs-6.0.2 (2022-11-24) * receive: fix silent data loss after fall back from encoded write * fi mkswapfile: new command to create a formatted swapfile in one go +btrfs-progs-5.x (2022-09-12) +---------------------------- + btrfs-progs-5.19 (2022-08-16) ------------------------------ +""""""""""""""""""""""""""""" * send: support protocol version 2 * fi show: print all missing devices * device stats: add tabular output @@ -633,7 +636,6 @@ btrfs-progs-5.19 (2022-08-16) * new tests btrfs-progs-5.19.1 (2022-09-12) -""""""""""""""""""""""""""""""" * fix memory leaks (extent buffer, path) * check: verify block device size vs item * rescue fix-device-size: allow to shrink device item @@ -644,7 +646,7 @@ btrfs-progs-5.19.1 (2022-09-12) * new tests btrfs-progs-5.18 (2022-05-25) ------------------------------ +""""""""""""""""""""""""""""" * fixes: * dump-tree: don't print trailing zeros in checksums * recognize paused balance as exclusive operation state, allow to start @@ -661,7 +663,6 @@ btrfs-progs-5.18 (2022-05-25) * new tests btrfs-progs-5.18.1 (2022-06-06) -""""""""""""""""""""""""""""""" * fixes: * convert: fix self reference of toplevel directory * build: make kernel lib headers compatible with C++ @@ -671,7 +672,7 @@ btrfs-progs-5.18.1 (2022-06-06) * other: documentation updates btrfs-progs-5.17 (2022-04-26) ------------------------------ +""""""""""""""""""""""""""""" * check: * repair wrong num_devices in superblock * recognize overly long xattr names @@ -697,7 +698,7 @@ btrfs-progs-5.17 (2022-04-26) * add fsstress btrfs-progs-5.16 (2022-01-12) ------------------------------ +""""""""""""""""""""""""""""" * rescue: new subcommand clear-uuid-tree to fix failed mount due to bad uuid subvolume keys, caught by tree-checker * fi du: skip inaccessible files @@ -713,7 +714,6 @@ btrfs-progs-5.16 (2022-01-12) https://btrfs.readthedocs.io btrfs-progs-5.16.1 (2022-02-04) -""""""""""""""""""""""""""""""" * mkfs: support DUP on metadata on zoned devices * subvol delete: drop warning for root when search ioctl fails * check: @@ -728,7 +728,6 @@ btrfs-progs-5.16.1 (2022-02-04) * CI targets updated btrfs-progs-5.16.2 (2022-02-16) -""""""""""""""""""""""""""""""" * mkfs: fix detection of profile type for zoned mode when creating DUP * build: * add missing stub for zoned mode helper when zoned mode not enabled @@ -740,7 +739,7 @@ btrfs-progs-5.16.2 (2022-02-16) * test updates btrfs-progs-5.15 (2021-11-05) ------------------------------ +""""""""""""""""""""""""""""" * mkfs: new defaults! * no-holes * free-space-tree @@ -762,7 +761,6 @@ btrfs-progs-5.15 (2021-11-05) * new and updated tests btrfs-progs-5.15.1 (2021-11-22) -""""""""""""""""""""""""""""""" * fixes: * fi usage: fix wrongly reported space of used or unallocated space * fix detection of block device discard capability @@ -770,7 +768,7 @@ btrfs-progs-5.15.1 (2021-11-22) * build: make sphinx optional backend for documentation btrfs-progs-5.14 (2021-09-10) ------------------------------ +""""""""""""""""""""""""""""" * convert: * new option --uuid to copy, generate or set a given uuid * improve output @@ -800,7 +798,6 @@ btrfs-progs-5.14 (2021-09-10) * new image dump format, with data btrfs-progs-5.14.1 (2021-09-20) -""""""""""""""""""""""""""""""" * fixes: * defrag: fix parsing of compression (option -c) * add workaround for old kernels when reading zone sizes @@ -809,7 +806,6 @@ btrfs-progs-5.14.1 (2021-09-20) * convert: --uuid copy does not fail on duplicate uuids btrfs-progs-5.14.2 (2021-10-08) -""""""""""""""""""""""""""""""" * fixes * zoned mode * properly detect non-zoned devices in emulation mode @@ -838,7 +834,7 @@ btrfs-progs-5.14.2 (2021-10-08) * new and updated tests btrfs-progs-5.13 (2021-07-13) ------------------------------ +""""""""""""""""""""""""""""" * restore: remove loop checks for extent count and directory scan * inspect dump-tree: new options to print node (--csum-headers) and data checksums (--csum-items) @@ -863,7 +859,6 @@ btrfs-progs-5.13 (2021-07-13) * hash speedtest measure time, cycles using perf and print throughput btrfs-progs-5.13.1 (2021-07-30) -""""""""""""""""""""""""""""""" * build: fix build on musl libc due to missing definition of NAME_MAX * check: * batch more work into one transaction when clearing v1 free space inodes @@ -874,7 +869,7 @@ btrfs-progs-5.13.1 (2021-07-30) * documentation updates btrfs-progs-5.12 (2021-05-10) ------------------------------ +""""""""""""""""""""""""""""" * libbtrfsutil: relicensed to LGPL v2.1+ * mkfs: zoned mode support (kernel 5.12+) * fi df: show zone_unusable per profile type in zoned mode @@ -899,14 +894,13 @@ btrfs-progs-5.12 (2021-05-10) * update status of mount options since 5.9 btrfs-progs-5.12.1 (2021-05-13) -""""""""""""""""""""""""""""""" * build: fix missing symbols in libbtrfs * mkfs: check for minimal number of zones * check: fix warning about cache generation when free space tree is enabled * fix superblock write in zoned mode on 16K pages btrfs-progs-5.11 (2021-03-05) ------------------------------ +""""""""""""""""""""""""""""" * fix device path canonicalization for device mapper devices * receive: remove workaround for setting capabilities, all stable kernels have been patched @@ -926,7 +920,6 @@ btrfs-progs-5.11 (2021-03-05) * docker images for various distros btrfs-progs-5.11.1 (2021-03-24) -""""""""""""""""""""""""""""""" * properly format checksums when a mismatch is reported * check: fix false alert on tree block crossing 64K page boundary * convert: @@ -940,7 +933,7 @@ btrfs-progs-5.11.1 (2021-03-24) * updated tests btrfs-progs-5.10 (2021-01-18) ------------------------------ +""""""""""""""""""""""""""""" * scrub status: * print percentage of progress * add size unit options @@ -964,7 +957,6 @@ btrfs-progs-5.10 (2021-01-18) * debugging output enhancements btrfs-progs-5.10.1 (2021-02-05) -""""""""""""""""""""""""""""""" * static build works again * other: * add a way to test static binaries with the testsuite @@ -973,7 +965,7 @@ btrfs-progs-5.10.1 (2021-02-05) change in the future btrfs-progs-5.9 (2020-10-23) ----------------------------- +"""""""""""""""""""""""""""" * mkfs: * switch default to single profile for multi-device filesystem, up to now it was raid0 that may not be simple to convert to some other profile @@ -1011,10 +1003,10 @@ btrfs-progs-5.9 (2020-10-23) * print .so versions of libraries in configure summary btrfs-progs-5.8 (skipped) -------------------------- +""""""""""""""""""""""""" btrfs-progs-5.7 (2020-07-02) ----------------------------- +"""""""""""""""""""""""""""" * mkfs: * new option to enable features otherwise enabled at runtime, now implemented for quotas, 'mkfs.btrfs -R quota' @@ -1038,7 +1030,7 @@ btrfs-progs-5.7 (2020-07-02) * new tests btrfs-progs-5.6 (2020-04-05) ----------------------------- +"""""""""""""""""""""""""""" * inspect logical-resolve: support LOGICAL_INO_V2 as new option '-o', helps advanced dedupe tools * inspect: user larger buffer (64K) for results @@ -1067,7 +1059,6 @@ btrfs-progs-5.6 (2020-04-05) * many typos fixed btrfs-progs-5.6.1 (2020-05-07) -"""""""""""""""""""""""""""""" * print warning when multiple block group profiles exist, update 'fi usage' summary, add docs to manual page explaining the situation * build: optional support for libgcrypt or libsodium, providing hash @@ -1078,10 +1069,10 @@ btrfs-progs-5.6.1 (2020-05-07) * updated docs btrfs-progs-5.5 (skipped) -------------------------- +""""""""""""""""""""""""" btrfs-progs-5.4 (2019-12-03) ----------------------------- +"""""""""""""""""""""""""""" * support new hash algorithms (kernel 5.5): * mkfs.btrfs and btrfs-convert with --csum, crc32c, xxhash, sha256, blake2 * mkfs: support new raid1c3 and raid1c4 block group profiles (kernel 5.5) @@ -1103,14 +1094,13 @@ btrfs-progs-5.4 (2019-12-03) * cleanups and refactoring btrfs-progs-5.4.1 (2020-01-09) -"""""""""""""""""""""""""""""" * build: fix docbook5 build * check: do extra verification of extent items, inode items and chunks * qgroup: return ENOTCONN if quotas not running (needs updated kernel) * other: various test fixups btrfs-progs-5.3 (2019-10-21) ----------------------------- +"""""""""""""""""""""""""""" * mkfs: * new option to specify checksum algorithm (only crc32c) * fix xattr enumeration @@ -1125,11 +1115,10 @@ btrfs-progs-5.3 (2019-10-21) * lots of printf format fixups btrfs-progs-5.3.1 (2019-10-25) -"""""""""""""""""""""""""""""" * libbtrfs: fix link breakage due to missing symbols btrfs-progs-5.2 (2019-07-05) ----------------------------- +"""""""""""""""""""""""""""" * subvol show: print qgroup information when available * scrub: * status: show ETA, revamp the whole output @@ -1157,7 +1146,6 @@ btrfs-progs-5.2 (2019-07-05) * sb-mod can modify more superblock items btrfs-progs-5.2.1 (2019-07-26) -"""""""""""""""""""""""""""""" * scrub status: fix ETA calculation after resume * check: fix crash when using -Q * restore: fix symlink owner restoration @@ -1168,7 +1156,6 @@ btrfs-progs-5.2.1 (2019-07-26) * test updates btrfs-progs-5.2.2 (2019-09-05) -"""""""""""""""""""""""""""""" * check: * fix false report of wrong byte count for orphan inodes * option -E was not handled correctly @@ -1181,7 +1168,7 @@ btrfs-progs-5.2.2 (2019-09-05) * doc fixups and updates btrfs-progs-5.1 (2019-05-17) ----------------------------- +"""""""""""""""""""""""""""" * (version 5.0 skipped) * check: * repair: flush/FUA support to avoid breaking metadata COW @@ -1212,7 +1199,6 @@ btrfs-progs-5.1 (2019-05-17) * new tests btrfs-progs-5.1.1 (2019-06-11) -"""""""""""""""""""""""""""""" * convert and mkfs will try to use optimized crc32c * fi show: accept a file-backed image * fi show: fix possible crash when device is deleted in parallel diff --git a/Documentation/Contributors.rst b/Documentation/Contributors.rst index e727d7bec2..45c3d35a14 100644 --- a/Documentation/Contributors.rst +++ b/Documentation/Contributors.rst @@ -61,6 +61,7 @@ Statistics for 6.x series "6.14", "20", "114592", "167178", "147", "+3847 -1391" "6.15", "25", "114616", "167485", "190", "+2346 -2039" "6.16", "16", "114997", "168152", "222", "+4143 -3464" + "6.17", "27", "115015", "168409", "255", "+3082 -2823" Legend: diff --git a/Documentation/Feature-by-version.rst b/Documentation/Feature-by-version.rst index d8f402b05e..52c72b1a60 100644 --- a/Documentation/Feature-by-version.rst +++ b/Documentation/Feature-by-version.rst @@ -35,6 +35,9 @@ features see :doc:`Status` page. is logged. The information is also accessible in :file:`/sys/fs/btrfs/FSID/checksum`. +6.1 (stable) +------------ + 6.1 - sysfs support to temporarily skip exact qgroup accounting Allow user override of qgroup accounting and make it temporarily out of date e.g. in case when there are several subvolumes deleted and the @@ -93,6 +96,9 @@ features see :doc:`Status` page. finalizing the directory, the cache also gains significant speedups (up to 10x). +6.6 (stable) +------------ + 6.7 - raid-stripe-tree New tree for logical mapping, allows some RAID modes for zoned mode. @@ -168,7 +174,10 @@ features see :doc:`Status` page. reads. The direct io is still locked but this should not be mixed with buffered writes. -6.12 - cancellable discard/TRIM +6.12 (stable) +------------- + +-6.12 - cancellable discard/TRIM Add more points where the discard can be interrupted by signals before it finishes the whole operation. @@ -228,6 +237,9 @@ features see :doc:`Status` page. The defrag ioctl also accepts the negative zstd levels that can be set as mount option. +6.17 (latest) +------------- + 6.17 - track current commit duration in commit_stats Add entry to :file:`commit_stats` to detect commit stalls, for debugging or monitoring purposes. @@ -276,6 +288,9 @@ features see :doc:`Status` page. Verify metadata blocks before submitting them to the devices. This can catch consistency problems or bitflips. +5.4 (stable) +------------ + 5.5 - more checksums New checksum algorithms: xxhash (64b), SHA256 (256b), BLAKE2b (256b). @@ -312,6 +327,9 @@ features see :doc:`Status` page. 5.9 - FS_INFO ioctl Export more information: checksum type, checksum size, generation, metadata_uuid +5.10 (stable) +------------- + 5.10 - exclusive ops in sysfs Export which filesystem exclusive operation is running (balance, resize, device add/delete/replace, ...) @@ -349,6 +367,9 @@ features see :doc:`Status` page. value *no* sets NOCOMPRESS bit while empty value resets all compression settings (either compression or NOCOMPRESS bit). +5.15 (stable) +------------- + 5.15 - fsverity The fs-verity is a support layer that filesystems can hook into to support transparent integrity and authenticity protection of read-only diff --git a/Documentation/Kernel-by-version.rst b/Documentation/Kernel-by-version.rst index 73e61d6590..208020be92 100644 --- a/Documentation/Kernel-by-version.rst +++ b/Documentation/Kernel-by-version.rst @@ -3,11 +3,8 @@ Changes (kernel/version) Summary of kernel changes for each version. -6.x ---- - 6.0 (Oct 2022) -^^^^^^^^^^^^^^ +-------------- Pull requests: `v6.0-rc1 `__, @@ -101,7 +98,7 @@ Notable fixes: repair happen 6.1 (Dec 2022) -^^^^^^^^^^^^^^ +-------------- Pull requests: `v6.1-rc1 `__, @@ -186,7 +183,7 @@ Core: flushing, buffered write 6.2 (Feb 2023) -^^^^^^^^^^^^^^ +-------------- Pull requests: `v6.2-rc1 `__, @@ -248,7 +245,7 @@ Fixes: - limit number of send clones by maximum memory allocated 6.3 (Apr 2023) -^^^^^^^^^^^^^^ +-------------- Pull requests: `v6.3-rc1 `__, @@ -312,7 +309,7 @@ Fixes: work queues (since 6.0) 6.4 (Jun 2023) -^^^^^^^^^^^^^^ +-------------- Pull requests: `v6.4-rc1 `__, @@ -369,7 +366,7 @@ Core changes: truncating items 6.5 (Aug 2023) -^^^^^^^^^^^^^^ +-------------- Pull requests: `v6.5-rc1 `__, @@ -398,7 +395,7 @@ User visible changes: the zones are reset as needed 6.6 (Oct 2023) -^^^^^^^^^^^^^^ +-------------- Pull requests: `v6.6-rc1 `__, @@ -429,7 +426,7 @@ Core: - v0 extent handling completely removed, deprecated long time ago 6.7 (Jan 2024) -^^^^^^^^^^^^^^ +-------------- Pull requests: `v6.7-rc1 `__, @@ -504,7 +501,7 @@ Core changes: devices), this allows temp_fsid to work 6.8 (Mar 2024) -^^^^^^^^^^^^^^ +-------------- Pull requests: `v6.8-rc1 `__, @@ -563,7 +560,7 @@ Fixes: create chunks that would not be allowed on sequential zones 6.9 (May 2024) -^^^^^^^^^^^^^^ +-------------- Pull requests: `v6.9-rc1 (1) `__, @@ -603,7 +600,7 @@ Other notable changes: - additional validation of devices by major:minor numbers 6.10 (Jul 2024) -^^^^^^^^^^^^^^^ +--------------- Pull requests: `v6.10-rc1 (1) `__, @@ -638,7 +635,7 @@ Notable fixes or changes: - extent map shrinker, allow memory consumption reduction for direct io loads 6.11 (Sep 2024) -^^^^^^^^^^^^^^^ +--------------- Pull requests: `v6.11-rc1 (1) `__, @@ -701,7 +698,7 @@ Other notable changes or fixes: - in zoned mode, detect unexpected zone write pointer change 6.12 (Nov 2024) -^^^^^^^^^^^^^^^ +--------------- Pull requests: `v6.12-rc1 `__, @@ -742,7 +739,7 @@ Cleanups and refactoring: - introduce auto free for btrfs_path structure, use for the simple cases 6.13 (Jan 2025) -^^^^^^^^^^^^^^^ +--------------- Pull requests: `v6.13-rc1 `__, @@ -811,7 +808,7 @@ Core changes: - lockdep assertions 6.14 (Mar 2025) -^^^^^^^^^^^^^^^ +--------------- Pull requests: `v6.14-rc1 `__, @@ -881,7 +878,7 @@ Core: - code moved to new files 6.15 (May 2025) -^^^^^^^^^^^^^^^ +--------------- Pull requests: `v6.15-rc1 `__, @@ -947,7 +944,7 @@ Core: - more preparations for large folio support 6.16 (Jul 2025) -^^^^^^^^^^^^^^^ +--------------- `v6.16-rc1 `__, `v6.16-rc1 `__, diff --git a/Documentation/Status.rst b/Documentation/Status.rst index b4c9e3aaff..63e13643d2 100644 --- a/Documentation/Status.rst +++ b/Documentation/Status.rst @@ -481,8 +481,8 @@ Until kernel 6.12 the *CONFIG_OPTION_DEBUG* was used to hide features that still need some work and should not be exposed to users in general. With the increasing number of such features or functionality this started to conflict with regular debugging features. Currently the following is behind -the experimental option. Use with caution and if you find problems or have -feedback please report that to the mailing list. +the experimental option *CONFIG_BTRFS_EXPERIMENTAL*. Use with caution and if +you find problems or have feedback please report that to the mailing list. .. list-table:: :header-rows: 1 @@ -511,3 +511,6 @@ feedback please report that to the mailing list. * - Extent tree v2 - ... - Incomplete implementation. + * - Large folio support + - ... + - diff --git a/Documentation/btrfs-device.rst b/Documentation/btrfs-device.rst index 1a42b96339..8ade55c6dc 100644 --- a/Documentation/btrfs-device.rst +++ b/Documentation/btrfs-device.rst @@ -124,22 +124,36 @@ scan [options] [ [...]] Unregister a given device or all stale devices if no path is given, the device must be unmounted otherwise it's an error. -stats [options] | +stats [options] || Read and print the device IO error statistics for all devices of the given - filesystem identified by *path* or for a single *device*. The filesystem must - be mounted. See section :ref:`DEVICE STATS` - for more information about the reported statistics and the meaning. + filesystem identified by *path* or for a single *device* or *file* (the + offline mode, unmounted filesystem). + + When the filesystem is mounted the *path* is expected to be a directory + and the stats are read using an ioctl and can be reset or checked. Same + for a block *device* of a mounted filesystem. + + For an offline mode the path must be a file image or a block device, + the option *--offline* is mandatory. As it's read-only access the + option *--reset* does not work. + + See section :ref:`DEVICE STATS` for more + information about the reported statistics and the meaning. ``Options`` -z|--reset - Print the stats and reset the values to zero afterwards. + Print the stats and reset the values to zero afterwards. Does + not work in offline mode. -c|--check Check if the stats are all zeros and return 0 if it is so. Set bit 6 of the return code if any of the statistics is no-zero. The error values is 65 if reading stats from at least one device failed, otherwise it's 64. + --offline + Read the stats from the file image or directly from block device. + -T Print stats in a tabular form, devices as rows and stats as columns @@ -230,7 +244,7 @@ filesystem lifetime or from a scrub run. write_io_errs Failed writes to the block devices, means that the layers beneath the filesystem were not able to satisfy the write request. -read_io_errors +read_io_errs Read request analogy to write_io_errs. flush_io_errs Number of failed writes with the *FLUSH* flag set. The flushing is a method of diff --git a/Documentation/btrfs-filesystem.rst b/Documentation/btrfs-filesystem.rst index 146d88b65b..5a964146f1 100644 --- a/Documentation/btrfs-filesystem.rst +++ b/Documentation/btrfs-filesystem.rst @@ -240,10 +240,8 @@ resize [options] [:][+/-][kKmMgGtTpPeE]|[:]max Resize a mounted filesystem identified by *path*. A particular device can be resized by specifying a *devid*. - .. warning:: - If *path* is a file containing a BTRFS image then resize does not work - as expected and does not resize the image. This would resize the underlying - filesystem instead. + .. note:: + To resize a file containing a BTRFS image, please use the --offline flag. The *devid* can be found in the output of :command:`btrfs filesystem show` and defaults to 1 if not specified. @@ -290,6 +288,18 @@ resize [options] [:][+/-][kKmMgGtTpPeE]|[:]max --enqueue wait if there's another exclusive operation running, otherwise continue + --offline + resize an unmounted (offline) filesystem + + .. warning:: The offline resize functionality currently + supports **only increasing** the size of **single-device** + filesystems. IOW, shrinking and multi-device filesystems are + **not supported** with this option. + + For filesystems stored in regular files, the file will be + truncated to the new size as part of the resize operation. + This flag is cannot be used together with with --enqueue since + offline resizing is synchronous. show [options] [|||