"Fossies" - the Fresh Open Source Software Archive

Member "btrfs-progs-v5.4.1/CHANGES" (9 Jan 2020, 42161 Bytes) of package /linux/misc/btrfs-progs-v5.4.1.tar.xz:


As a special service "Fossies" has tried to format the requested text file into HTML format (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file. See also the latest Fossies "Diffs" side-by-side code changes report for "CHANGES": v5.4_vs_v5.4.1.

    1 btrfs-progs-5.4.1 (2020-01-09)
    2   * build: fix docbook5 build
    3   * check: do extra verification of extent items, inode items and chunks
    4   * qgroup: return ENOTCONN if quotas not running (needs updated kernel)
    5   * other: various test fixups
    6 
    7 btrfs-progs-5.4 (2019-12-03)
    8   * support new hash algorithms (kernel 5.5):
    9     * mkfs.btrfs and btrfs-convert with --csum, crc32c, xxhash, sha256, blake2
   10   * mkfs: support new raid1c3 and raid1c4 block group profiles (kernel 5.5)
   11   * check:
   12     * --repair delays start with a warning, can be skipped using --force
   13     * enhanced detetion of inode types from partial data, more options for
   14       repair
   15   * receive: fix quiet option
   16   * image: speed up chunk loading
   17   * fi usage:
   18     * sort devices by id
   19     * print ratio of used/total per block group type
   20   * rescue zero-log: reset the log pointers directly, avoid reading some other
   21     potentially damaged structures
   22   * new make target install-static to install only static binaries/libraries
   23   * other
   24     * docs updates
   25     * new tests
   26     * cleanups and refactoring
   27 
   28 btrfs-progs-5.3.1 (2019-10-25)
   29   * libbtrfs: fix link breakage due to missing symbols
   30 
   31 btrfs-progs-5.3 (2019-10-21)
   32   * mkfs:
   33     * new option to specify checksum algorithm (only crc32c)
   34     * fix xattr enumeration
   35   * dump-tree: BFS (breadth-first) traversal now default
   36   * libbtrfsutil: remove stale BTRFS_DEV_REPLACE_ITEM_STATE_x defines
   37   * ci: add support for gitlab
   38   * other:
   39     * preparatory work for more checksum algorithms
   40     * docs update
   41     * switch to docbook5 backend for asciidoc
   42     * fix build on uClibc due to missing backtrace()
   43     * lots of printf format fixups
   44 
   45 btrfs-progs-5.2.2 (2019-09-05)
   46   * check:
   47     * fix false report of wrong byte count for orphan inodes
   48     * option -E was not handled correctly
   49     * new check and repair for root item generation
   50   * balance: check for full-balance before background fork
   51   * mkfs: check that total device size does not overflow 16EiB
   52   * dump-tree: print DEV_STATS key type
   53   * other:
   54     * new and updated tests
   55     * doc fixups and updates
   56 
   57 btrfs-progs-5.2.1 (2019-07-26)
   58   * scrub status: fix ETA calculation after resume
   59   * check: fix crash when using -Q
   60   * restore: fix symlink owner restoration
   61   * mkfs: fix regression with mixed block groups
   62   * core: fix commit to process all delayed refs
   63   * other:
   64     * minor cleanups
   65     * test updates
   66 
   67 btrfs-progs-5.2 (2019-07-05)
   68   * subvol show: print qgroup information when available
   69   * scrub:
   70     * status: show ETA, revamp the whole output
   71     * fix reading/writing of last position on resume/cancel, potentially
   72       skipping part of the filesystem on next resume
   73   * dump-tree: add new option --noscan to use only devices given on the
   74     commandline
   75   * all-in-one binary (busybox style) with mkfs.btrfs, btrfs-image,
   76     btrfs-convert, btrfstune
   77   * image: fix hang when there are more than 32 cpus online and compression is
   78     requested
   79   * convert: fix some false ENOSPC errors when --rootdir is used
   80   * build: fix gcc9 warnings
   81   * core changes
   82     * command handling cleanups
   83     * dead code removal
   84     * cmds-* files moved to cmds/
   85     * other shared userspace files moved to common/
   86     * utils.c split into more files
   87     * preparatory work for more output formats
   88     * libbtrfsutil: fix unaligned access
   89   * other
   90     * new and updated tests
   91     * fix tests so CI passes again
   92     * sb-mod can modify more superblock items
   93 
   94 btrfs-progs-5.1.1 (2019-06-11)
   95   * convert and mkfs will try to use optimized crc32c
   96   * fi show: accept a file-backed image
   97   * fi show: fix possible crash when device is deleted in parallel
   98   * build:
   99     * support extra flags for python bindings
  100     * separate LDFLAGS for libbtrfsutil
  101   * other:
  102     * space reservation fixes or debugging improvements
  103     * V0 extent code removed
  104     * more tests and cleanups
  105 
  106 btrfs-progs-5.1 (2019-05-17)
  107   * (version 5.0 skipped)
  108   * check:
  109     * repair: flush/FUA support to avoid breaking metadata COW
  110     * file extents repair no longer relies on data in extent tree
  111     * lowmem: fix false error reports about gaps between extents
  112     * add inode mode check and repair for various objects
  113     * add check for invalid combination of nocow/compressed extents
  114   * device scan: new option to forget scanned devices
  115   * mkfs: use same chunk size as kernel for initial creation
  116   * dev-replace: better report when other exclusive operation is running
  117   * help: for syntax errors on command line, print only the relevant messages,
  118     not the whole help text
  119   * receive:
  120     * new option for quiet mode
  121     * on -vv print information about written ranges
  122     * fix endless loop with --dump on an invalid stream
  123   * defrag: able open files in RO mode (needs kernel support to work)
  124   * dump-tree: --block can be specified multiple times
  125   * libbtrfsutil: fix: don't close fd on error in btrfs_util_subvolume_id_fd
  126   * core:
  127     * add sync before superblock write
  128     * better error handling on the transaction commit path
  129     * try to find best copy when reading tree blocks
  130     * update backup roots on commit transaction
  131   * other:
  132     * fuzz tests pass and are enabled in CI
  133     * cleanups
  134     * new tests
  135 
  136 btrfs-progs-4.20.2 (2019-02-25)
  137   * ci: use newer distro for builds
  138   * dump-super: minor output fixup
  139   * revert fix for prefix detection of receive path, this is temporary and
  140     unbreaks existing user setups
  141 
  142 btrfs-progs-4.20.1 (2019-01-23)
  143   * libbtrfs: fix build of external tools due to missing symbols
  144   * ci: enable library test
  145 
  146 btrfs-progs-4.20 (2019-01-19)
  147   * new feature: metadata uuid
  148     * lightweight change of UUID without rewriting all metadata
  149       (incompatible change)
  150     * done by btrfstune -m/-M
  151     * needs kernel support, 5.0+
  152   * image:
  153     * fix block groups when restoring from multi-device image
  154     * only enlarge result image if it's a regular file
  155   * check
  156     * more device extent checks and fixes
  157     * can repair dir item with mismatched hash
  158   * mkfs: uuid tree created with proper contents
  159   * fix mount point detection due to partial prefix match
  160   * other:
  161     * new tests
  162     * libbtrfsutil: fix tests if kernel lacks support for new subvolume ioctls
  163     * build fixes
  164     * doc fixes
  165 
  166 btrfs-progs-4.19.1 (2018-12-05)
  167   * build fixes
  168     * big-endian builds fail due to bswap helper clashes
  169     * 'swap' macro is too generic, renamed to prevent build failures
  170   * libbtrfs
  171     * minor version update to 1.1.0
  172     * fix default search to top=0 as documented
  173     * rename 'async' to avoid future python binding problems
  174     * add support for unprivileged subvolume listing ioctls
  175     * added tests, API docs
  176   * other
  177     * lot of typos fixed
  178     * warning cleanups
  179     * doc formatting updates
  180     * CI tests against zstd 1.3.7
  181 
  182 btrfs-progs-4.19 (2018-11-03)
  183   * check: support repair of fs with free-space-tree feature
  184   * core:
  185     * port delayed ref infrastructure from kernel
  186     * support write to free space tree
  187   * dump-tree: new options for BFS and DFS enumeration of b-trees
  188   * quota: rescan is now done automatically after 'assign'
  189   * btrfstune: incomplete fix to uuid change
  190   * subvol: fix 255 char limit checks
  191   * completion: complete block devices and now regular files too
  192   * docs:
  193     * ship uncompressed manual pages
  194     * btrfsck uses a manual page link instead of symlink
  195   * other
  196     * improved error handling
  197     * docs
  198     * new tests
  199 
  200 btrfs-progs-4.17.1 (2018-08-06)
  201   * check:
  202     * add ability to fix wrong ram_bytes for compressed inline files
  203     * beautify progress output
  204   * btrfstune: allow to continue uuid change after unclean interruption
  205   * several fuzz fixes:
  206     * detect overlapping chunks
  207     * chunk loading error handling
  208     * don't crash with unexpected root refs to extents
  209   * relax option parsing again to allow mixing options and non-options
  210     arguments
  211   * fix qgroup rescan status reporting
  212   * build:
  213     * drop obsolete dir-test
  214     * new configure option to disable building of tools
  215     * add compatibility options --disable-static and --disable-shared
  216   * other:
  217     * cleanups and preparatory work
  218     * new test images
  219 
  220 btrfs-progs-4.17 (2018-06-14)
  221   * check
  222     * many lowmem mode improvements
  223     * properly report qgroup mismatch errors
  224     * check symlinks with append/immutable flags
  225   * fi usage
  226     * correctly calculate allocated/unallocated for raid10
  227     * minor output updates
  228   * mkfs
  229     * detect ENOSPC on thinly provisioned devices
  230     * fix spurious EEXIST during directory traversal
  231   * restore: fix relative path for restore target
  232   * dump-tree: print symbolic tree names for backrefs
  233   * send: fix regression preventing send -p with subvolumes mounted on "/"
  234   * corrupt-tree: refactoring and command line updates
  235   * build
  236     * make it work with e2fsprogs < 1.42 again
  237     * restore support for autoconf 2.63
  238     * detect if -std=gnu90 is supported
  239   * other
  240     * new tests
  241     * cleanups
  242 
  243 btrfs-progs-4.16.1 (2018-04-24)
  244   * remove obsolete tools: btrfs-debug-tree, btrfs-zero-log, btrfs-show-super,
  245     btrfs-calc-size
  246   * sb-mod: new debugging tool to edit superblock items
  247   * mkfs: detect if thin-provisioned device does not have enough space
  248   * check: don't try to verify checksums on metadata dump images
  249   * build: fail documentation build if xmlto is not found
  250   * build: fix build of btrfs.static
  251 
  252 btrfs-progs-4.16 (2018-04-06)
  253   * libbtrfsutil - new LGPL library to wrap userspace functionality
  254     * several 'btrfs' commands converted to use it:
  255       * properties
  256       * filesystem sync
  257       * subvolume set-default/get-default/delete/show/sync
  258     * python bindings, tests
  259   * build
  260     * use configured pkg-config path
  261     * CI: add python, musl/clang, built dependencies caching
  262     * convert: build fix for e2fsprogs 1.44+
  263     * don't install library links with wrong permissions
  264   * fixes
  265     * prevent incorrect use of subvol_strip_mountpoint
  266     * dump-super: don't verify csum for unknown type
  267     * convert: fix inline extent creation condition
  268   * check:
  269     * lowmem: fix false alert for 'data extent backref lost for snapshot'
  270     * lowmem: fix false alert for orphan inode
  271     * lowmem: fix false alert for shared prealloc extents
  272   * mkfs:
  273     * add UUID and otime to root of FS_TREE - with the uuid, snapshots will
  274       be now linked to the toplevel subvol by the parent UUID
  275     * don't follow symlinks when calculating size
  276     * pre-create the UUID tree
  277     * fix --rootdir with selinux enabled
  278   * dump-tree: add option to print only children nodes of a given block
  279   * image: handle missing device for RAID1
  280   * other
  281     * new tests
  282     * test script cleanups (quoting, helpers)
  283     * tool to edit superblocks
  284     * updated docs
  285 
  286 btrfs-progs-4.15.1 (2018-02-16)
  287   * build
  288     * fix build on musl
  289     * support asciidoctor for doc generation
  290   * cleanups
  291     * sync some code with kernel
  292     * check: move code to own directory, split to more files
  293   * tests
  294     * more build tests in travis
  295     * tests now pass with asan and ubsan
  296     * testsuite can be exported and used separately
  297 
  298 btrfs-progs-4.15 (2018-02-01)
  299   * mkfs --rootdir reworked, does not minimize the final image but can be still
  300     done using a new option --shrink
  301   * fix allocation of system chunk, don't allocate from the reserved area
  302   * other
  303     * new and updated tests
  304     * cleanups, refactoring
  305     * doc updates
  306 
  307 btrfs-progs-4.14.1 (2018-01-05)
  308   * dump-tree: print times of root items
  309   * check: fix several lowmem mode bugs
  310   * convert: fix rollback after balance
  311   * other
  312     * new and updated tests, enabled lowmem mode in CI
  313     * docs updates
  314     * fix travis CI build
  315     * build fixes
  316     * cleanups
  317 
  318 btrfs-progs-4.14 (2017-11-16)
  319   * build: libzstd now required by default
  320   * check: more lowmem mode repair enhancements
  321   * subvol set-default: also accept path
  322   * prop set: compression accepts no/none, same as ""
  323   * filesystem usage: enable for filesystem on top of a seed device
  324   * rescue: new command fix-device-size
  325   * other
  326     * new tests
  327     * cleanups and refactoring
  328     * doc updates
  329 
  330 btrfs-progs-4.13.3 (2017-10-16)
  331   * check: fix --force, wrong check for a mounted block device
  332   * build: fix --with-convert parsing
  333   * subvol list: don't list TOPLEVEL
  334   * other: update tests
  335 
  336 btrfs-progs-4.13.2 (2017-10-06)
  337   * subvol list:
  338     * don't list toplevel subvolume among deleted (broken since 4.8.3)
  339     * minor adjustments of uuid print format
  340   * subvol delete:
  341     * fix swapped behaviour of --commit-each and --commit-after
  342     * fix potentially lost sync if subvolumes are from different filesystems
  343   * check: add cache for metadata blocks, should improve performance
  344   * other:
  345     * new tests, testsuite updates
  346     * doc updates
  347     * cleanups
  348 
  349 btrfs-progs-4.13.1 (2017-09-25)
  350   * image: speed up generating the sanitized names, do not generate unprintable chars
  351   * completion: add missing commands, better mount point detection
  352   * restore: add zstd support; libzstd detected automatically, will be
  353     requested by default in the future, or can be configured out
  354   * other:
  355     * misc fixes found by sparse
  356     * doc enhancements, ioctl manual page started
  357     * updated and new tests
  358     * build fixes
  359 
  360 btrfs-progs-4.13 (2017-09-08)
  361   * convert: reiserfs support
  362   * check: new option --force to allow check of a mounted filesystem (no repair)
  363   * mkfs: --rootdir will now copy special files
  364   * dump-tree: minor output changes
  365   * inspect rootid: accept file as argument
  366   * dev usage: don't calculate slack space for missing devices
  367   * fi du: don't print error on EMPTY_SUBVOL (inode number 2)
  368   * build:
  369     * fixed support for sanitization features on gcc (tsan, asan, ubsan)
  370     * fix PIE build
  371   * other:
  372     * misc cleanups and stability fixes
  373     * travis CI enhancements
  374     * new tests, fuzzed images
  375     * testsuite cleanups
  376 
  377 btrfs-progs-4.12.1 (2017-08-25)
  378   * build:
  379     * fix cross-compilation
  380     * use gnu90 explicitly
  381   * dump-tree: more relaxed checks so -b can print block on a damaged fs
  382   * convert: fix the 1MB range exclusion
  383   * check: more dir_item hash checks
  384   * other
  385     * added missing getopt spec for some options
  386     * doc fixes
  387     * cleanups
  388     * test updates
  389 
  390 btrfs-progs-4.12 (2017-07-26)
  391   * subvol show: new options --rootid, --uuid to show subvol by the given spec
  392   * convert: progress report fixes, found by tsan
  393   * image: progress report fixes, found by tsan
  394   * fix infinite looping in find-root, or when looking for free extents
  395   * other:
  396     * code refactoring
  397     * docs updates
  398     * build: ThreadSanitizer support
  399     * tests: stricter checks for mounted filesystem
  400 
  401 btrfs-progs-4.11.1 (2017-06-30)
  402   * image: restoring from multiple devices
  403   * dev stats: make --check option work
  404   * check: fix false alert with extent hole on a NO_HOLE filesystem
  405   * check: lowmem mode, fix false alert in case of mixed inline and compressed
  406     extent
  407   * convert: work with large filesystems (many TB)
  408   * convert: fix overwriting of eb header flags
  409   * convert: do not clear NODATASUM flag in inodes when run with --no-datasum
  410   * docs updates
  411   * build: sync Android.mk with Makefile
  412   * tests:
  413     * new tests
  414     * fix 008 and 009, shell quotation mistake
  415 
  416 btrfs-progs-4.11 (2017-05-18)
  417   * receive: fix handling empty stream with -e (multi-stream)
  418   * send dump: fix printing long file names
  419   * stability fixes for: dump-super, print-tree, check
  420   * option parser updates: global options are parsed before the subcommand name
  421     (old xfstests will fail)
  422   * new and updated tests
  423   * documentation updates
  424 
  425 btrfs-progs-4.10.2 (2017-03-31)
  426   * check: lowmem mode fix for false alert about lost backrefs
  427   * convert: minor bugfix
  428   * library: fix build, missing symbols, added tests
  429 
  430 btrfs-progs-4.10.1 (2017-03-17)
  431   * receive: handle subvolume in path clone
  432   * convert: rollback fixed (rewrite was needed to address previous design issues)
  433   * build: fix build of 3rd party tools, missing <linux/sizes.h>
  434   * dump-tree: print log trees
  435   * other
  436     * new and updated tests
  437 
  438 btrfs-progs-4.10 (2017-03-08)
  439   * send: dump output fixes: missing newlies
  440   * check: several fixes for the lowmem mode, improved error reporting
  441   * build
  442     * removed some library deps for binaries that not use them
  443     * ctags, cscope
  444     * split Makefile to the autotool generated part and the rest, not needed
  445       to autogen.sh after adding a file
  446   * shared code: sync easy parts with kernel sources
  447   * other
  448     * lots of cleanups
  449     * source file reorganization: convert, mkfs, utils
  450     * lots of spelling fixes in docs, other updates
  451     * more tests
  452 
  453 btrfs-progs-4.9.1 (2017-01-27)
  454   * check:
  455     * use correct inode number for lost+found files
  456     * lowmem mode: fix false alert on dropped leaf
  457   * size reports: negative numbers might appear in size reports during device
  458     deletes (previously in EiB units)
  459   * mkfs: print device being trimmed
  460   * defrag: v1 ioctl support dropped
  461   * quota: print message before starting to wait for rescan
  462   * qgroup show: new option to sync before printing the stats
  463   * other:
  464     * corrupt-block enhancements
  465     * backtrace and co. cleanups
  466     * doc fixes
  467 
  468 btrfs-progs-4.9 (2016-12-23)
  469   * check: many lowmem mode updates
  470   * send: use splice syscall to copy buffer from kernel
  471   * receive: new option to dump the stream in textual form
  472   * convert:
  473     * move sources to own directory
  474     * prevent accounting of blocks beyond end of the device
  475     * make it work with 64k sectorsize
  476   * mkfs: move sources to own directory
  477   * defrag: warns if directory used without -r
  478   * dev stats:
  479     * new option to check stats for non-zero values
  480     * add long option for -z
  481   * library: version bump to 0.1.2, added subvol_uuid_search2
  482   * other:
  483     * cleanups
  484     * docs updates
  485 
  486 btrfs-progs-4.8.5 (2016-11-30)
  487   * receive: fix detection of end of stream (error reported even for valid
  488     streams)
  489   * other:
  490     * added test for the receive bug
  491     * fix linking of library-test
  492 
  493 btrfs-progs-4.8.4 (2016-11-25)
  494   * check: support for clearing space cache v2 (free-space-tree)
  495   * send:
  496     * more sanity checks (with tests), cleanups
  497     * fix for fstests/btrfs/038 and btrfs/117 failures
  498   * build:
  499     * fix compilation of standalone ioctl.h, pull NULL definition
  500     * fix library link errors introduced in 4.8.3
  501   * tests:
  502     * add more fuzzed images from bugzilla
  503     * add bogus send stream checks
  504     * fixups and enhancements for CI environment builds
  505     * misc refinements and updates of testing framework
  506   * other:
  507     * move sources for btrfs-image to own directory
  508     * deprecated and not build by default: btrfs-calc-size, btrfs-show-super
  509     * docs updates
  510 
  511 btrfs-progs-4.8.3 (2016-11-11)
  512   * check:
  513     * support for clearing space cache (v1)
  514     * size reduction of inode backref structure
  515   * send:
  516     * fix handling of multiple snapshots (-p and -c options)
  517     * transfer buffer increased (should reduce number of context switches)
  518     * reuse existing file for output (-f), eg. when root cannot create files (NFS)
  519   * dump-tree:
  520     * print missing items for various structures
  521     * new: dev stats, balance status item
  522     * sync key names with kernel (the persistent items)
  523   * subvol show: now able to print the toplevel subvolume -- the creation time
  524     might be wrong though
  525   * mkfs:
  526     * store the creation time of toplevel root inode
  527     * print UUID in the summary
  528   * build: travis CI for devel
  529   * other:
  530     * lots of cleanups and refactoring
  531     * switched to on-stack path structure
  532     * fixes from coverity, asan, ubsan
  533     * new tests
  534     * updates in testing infrastructure
  535     * fixed convert test 005
  536 
  537 btrfs-progs-4.8.2 (2016-10-26)
  538   * convert: also convert file attributes
  539   * convert: fix wrong tree block alignment for unaligned block group
  540   * check: quota verify fixes, handle reloc tree
  541   * build: add stub for FIEMAP_EXTENT_SHARED, compiles on ancient kernels
  542   * build: add stub for BUILD_ASSERT when ioctl.h is included
  543   * dump-tree: don't crash on unrecognized tree id for -t
  544   * tests:
  545     * add more ioctl tests
  546     * convert: more symlink tests, attribute tests
  547     * quota verify for reloc tree
  548   * other cleanups
  549 
  550 btrfs-progs-4.8.1 (2016-10-12)
  551   * 32bit builds fixed
  552   * build without backtrace support fixed
  553 
  554 btrfs-progs-4.8 (2016-10-05)
  555   * error handling improvements all over the place
  556   * new fuzzed images, test updates
  557   * doc fixups
  558   * minor cleanups and improvements
  559   * kernel library helpers moved to own directory
  560   * qgroup: fix regression leading to incorrect status after check,
  561     introduced in 4.7
  562 
  563 btrfs-progs-4.7.3 (2016-09-21)
  564   * fixed free space tree compat status
  565   * check: low-mem mode: handle partially dropped snapshots
  566   * dump-super: consolidate options for superblock copy
  567   * tree-stats: check mount status
  568   * subvol delete: handle verbosity option
  569   * defrag: print correct error string
  570   * mkfs: fix reading rotational status
  571   * other:
  572     * UBSAN build option
  573     * documentation updates
  574     * enhanced tests: convert, fuzzed images, more tools to run on fuzzed
  575       images
  576 
  577 btrfs-progs-4.7.2 (2016-09-05)
  578   * check:
  579     * urgent fix: false report of backref mismatches; do not --repair
  580       last unaffected version 4.6.1 (code reverted to that state)
  581   * fuzzing and fixes
  582     * added more sanity checks for various structures
  583     * testing images added
  584   * build: udev compatibility: do not install .rules on version < 190
  585   * other:
  586     * dump-super: do not crash on garbage value in csum_type
  587     * minor improvements in messages and help strings
  588   * documentation:
  589     * filesystem features
  590 
  591 btrfs-progs-4.7.1 (2016-08-25)
  592   * check:
  593     * new optional mode: optimized for low memory usage (memory/io tradeoff)
  594     * --mode=lowmem, not default, still considered experimental
  595     * does not work with --repair yet
  596   * convert: regression fix, ext2_subvol/image rw permissions
  597   * mkfs/convert:
  598     * two-staged creation, partially created filesystem will not be recognized
  599     * improved error handling (fewer BUG_ONs)
  600   * convert: preparation for more filesystems to convert from
  601   * documentation updates: quota, qgroup
  602   * other
  603     * message updates
  604     * more tests
  605     * more build options, enhanced debugging
  606 
  607 btrfs-progs-4.7 (2016-07-29)
  608   * convert: fix creating discontig extents
  609   * check: speed up traversing heavily reflinked extents within a file
  610   * check: verify qgroups of higher levels
  611   * check: repair can now fix wrong qgroup numbers
  612   * balance: new option to run in the background
  613   * defrag: default extent target size changed to 32MiB
  614   * du: silently skip non-btrfs dirs/files
  615   * documentation updates: btrfs(5), btrfs(8), balance, subvolume, scrub,
  616     filesystem, convert
  617   * bugfixes:
  618     * unaligned access (reported for sparc64) in raid56 parity calculations
  619     * use /bin/bash
  620     * other stability fixes and cleanups
  621   * more tests
  622 
  623 btrfs-progs-4.6.1 (2016-06-24)
  624   * filesystem resize: negative resize argument accepted again
  625   * qgroup rescan: fix skipping when rescan is in progress
  626   * mkfs: initialize stripesize to correct value
  627   * testsuite updates, mostly convert tests
  628   * documentation updates
  629     * btrfs-device, btrfs-restore manual pages enhanced
  630     * misc fixups
  631 
  632 btrfs-progs-4.6 (2016-06-10)
  633   * convert - major rewrite:
  634     * fix a long-standing bug that led to mixing data blocks into metadata block
  635       groups
  636     * the workaround was to do full balance after conversion, which was
  637       recommended practice anyway
  638     * explicitly set the lowest supported version of e2fstools to 1.41
  639   * provide and install udev rules file that addresses problems with device
  640     mapper devices, renames after removal
  641   * send: new option: quiet
  642   * dev usage: report slack space (device size minus filesystem area on the dev)
  643   * image: support DUP
  644   * build: short options to enable debugging builds
  645   * other:
  646     * code cleanups
  647     * build fixes
  648     * more tests and other enhancements
  649 
  650 btrfs-progs-4.5.3 (2016-05-11)
  651   * ioctl: fix unaligned access in buffer from TREE_SEARCH; might cause SIGBUS
  652     on architectures that do not support unaligned access and do not performa
  653     any fixups
  654   * improved validation checks of superblock and chunk-related structures
  655   * subvolume sync: fix handling of -s option
  656   * balance: adjust timing of safety delay countdown with --full-balance
  657   * rescue super-recover: fix reversed condition check
  658   * check: fix bytes_used accounting
  659   * documentation updates: mount options, scrub, send, receive, select-super,
  660     check, mkfs
  661   * testing: new fuzzed images, for superblock and chunks
  662 
  663 btrfs-progs-4.5.2 (2016-05-02)
  664   * new/moved command: btrfs-calc-stats -> btrfs inspect tree-stats
  665   * check: fix false alert for metadata blocks crossing stripe boundary
  666   * check: catch when qgroup numbers mismatch
  667   * check: detect running quota rescan and report mismatches
  668   * balance start: add safety delay before doing a full balance
  669   * filesystem sync: is now silent
  670   * filesystem show: don't miss filesystems with partially matching uuids
  671   * dev ready: accept only one argument for device
  672   * dev stats: print "devid:N" for a missing device instead of "(null)"
  673   * other:
  674     * lowest supported version of e2fsprogs is 1.41
  675     * minor cleanups, test updates
  676 
  677 btrfs-progs-4.5.1 (2016-03-31)
  678   * mkfs: allow DUP on multi-device filesystems
  679   * bugfixes: build fixes, assorted other fixes
  680 
  681 btrfs-progs-4.5 (2016-03-20)
  682   New/moved commands:
  683     * btrfs-show-super -> btrfs inspect-internal dump-super
  684     * btrfs-debug-tree -> btrfs inspect-internal dump-tree
  685 
  686   New commands:
  687     * btrfs filesystem du - calculate disk usage, including shared extents
  688 
  689   Enhancements:
  690     * device delete - delete by id (needs kernel support, not merged to
  691       4.6)
  692     * check - new option to specify chunk root
  693     * debug-tree/dump-tree - option -t understands human readable name of
  694       the tree (along numerical ids)
  695     * btrfs-debugfs - can dump block group information
  696 
  697   Bugfixes:
  698     * all commands should accept the option separator "--"
  699     * several fixes in device scan
  700     * restore works on filesystems with sectorsize > 4k
  701     * debug-tree/dump-tree - print compression type as string
  702     * subvol sync: fix crash, memory corruption
  703     * argument parsing fixes: subvol get-default, qgroup create/destroy/
  704       assign, inspect subvolid-resolve
  705     * check for block device or regular file in several commands
  706 
  707   Other:
  708     * documentation updates
  709     * manual pages for the moved tools now point to btrfs-filesystem
  710     * testsuite updates
  711 
  712 btrfs-progs-4.4.1 (2016-02-26)
  713   * find-root: don't skip the first chunk
  714   * free-space-tree compat bits fix
  715   * build: target symlinks
  716   * documentation updates
  717   * test updates
  718 
  719 btrfs-progs-4.4 (2016-01-18)
  720   User visible changes:
  721     * mkfs.btrfs --data dup
  722 
  723   People asked about duplicating data on a single device for a long time. There
  724   are no technical obstacles preventing that, so it got enabled with a warning
  725   about potential dangers when the device will not do the duplicated copies. See
  726   mkfs.btrfs section DUP PROFILES ON A SINGLE DEVICE.
  727 
  728     * support balance filters added/enhanced in linux 4.4
  729       * usage=min..max -- enhanced to take range
  730       * stripes=min..max -- new, filter by stripes for raid0/10/5/6
  731       * limit=min..max -- enhanced to take range
  732   Note: due to backward compatibility, the range maximum for 'usage' is not
  733   inclusive as for the others, to keep the same behaviour as usage=N .
  734 
  735     * manual pages enhanced (btrfs, mkfs, mount, filesystem, balance)
  736     * error messages updates, rewordings -- some fstests may break due to that
  737     * added support for free-space-tree implementation of space cache -- this
  738       requires kernel 4.5 and is not recommended for non-developers yet
  739     * btrfs filesystem usage works with mixed blockgroups
  740 
  741   Other:
  742     * installation to /usr/local -- this has unintentionally changed during
  743       conversion to autotools in 3.19
  744     * check: fix a false alert where extent record has wrong metadata flag
  745     * improved stability on fuzzed/crafted images when reading sys array in
  746       superblock
  747     * build: the 'ar' tool is properly detected during cross-compilation
  748     * debug-tree: option -t understands ids for tree root and chunk tree
  749     * preparatory work for btrfs-convert rewrite
  750     * sparse, gcc warning fixes
  751     * more memory allocation failure handling
  752     * cleanups
  753     * more tests
  754 
  755   Bugfixes:
  756     * chunk recovery: fix floating point exception
  757     * chunk recovery: endianity bugfix during rebuild
  758     * mkfs with 64K pages and nodesize reported superblock checksum mismatch
  759     * check: properly reset nlink of multi-linked file
  760 
  761 btrfs-progs-4.3.1 (2015-11-16)
  762   * fixes
  763     * device delete: recognize 'missing' again
  764     * mkfs: long names are not trimmed when doing ssd check
  765     * support partitioned loop devices
  766   * other
  767     * replace several mallocs with on-stack variables
  768     * more memory allocation failure handling
  769     * add tests for bugs fixed
  770     * cmd-device: switch to new message printing helpers
  771     * minor code cleanups
  772 
  773 btrfs-progs-4.3 (2015-11-06)
  774   * mkfs
  775     * mixed mode is not forced for filesystems smaller than 1GiB
  776     * mixed mode broken with mismatching sectorsize and nodesize, fixed
  777     * print version info earlier
  778     * print devices sorted by id
  779     * do not truncate target image with --rootsize
  780   * filesystem usage:
  781     * don't print global block reserve
  782     * print device id
  783     * minor output tuning
  784     * other cleanups
  785   * calc-size:
  786     * div-by-zero fix on an empty filesystem
  787     * fix crash
  788   * bugfixes:
  789     * more superblock sanity checks
  790     * consistently round size of all devices down to sectorsize
  791     * misc leak fixes
  792     * convert: don't try to rollback with a half-deleted ext2_saved
  793       subvolume
  794   * other:
  795     * check: add progress indicator
  796     * scrub: enhanced error message
  797     * show-super: read superblock from a given offset
  798     * add README
  799     * docs: update manual page for mkfs.btrfs, btrfstune, balance,
  800       convert and inspect-internal
  801     * build: optional build with more warnings (W=...)
  802     * build: better support for static checkers
  803     * build: html output of documentation
  804     * pretty-print: last_snapshot for root_item
  805     * pretty-print: stripe dev uuid
  806     * error reporting wrappers, introduced and example use
  807     * refactor open_file_or_dir
  808     * other docs and help updates
  809   * testing:
  810     * test for nodes crossing stripes
  811     * test for broken 'subvolume sync'
  812     * basic tests for mkfs, raid option combinations
  813     * basic tests for fuzzed images (check)
  814     * command instrumentation (eg valgrind)
  815     * print commands if requested
  816     * add README for tests
  817 
  818 btrfs-progs-4.2.3 (2015-10-19)
  819   * subvol sync: make it actually work again: it's been broken since 4.1.2,
  820     due to a reversed condition it returned immediately instead of waiting
  821   * scanning: do not scan already discovered filesystems (minor optimization)
  822   * convert: better error message in case the filesystem is not finalized
  823   * restore: off-by-one symlink path check fix
  824 
  825 btrfs-progs-4.2.2 (2015-10-05)
  826   * filesystem label: use fallback if the label ioctl is not available
  827   * convert: check nodesize constraints against commandline features (-O)
  828   * scrub: report status 'running' until all devices are finished
  829   * device scanning might crash in some scenarios
  830   * filesystem usage: print summary for non-root users
  831 
  832 btrfs-progs-4.2.1 (2015-09-20)
  833   * fix an off-by-one error in cross-stripe boundary check
  834     * if nodesize was 64k, any metadata block was reported as crossing,
  835       this leads to mkfs failure for example due to "no free blocks
  836       found"
  837     * for other nodesizes, if the end of the metadata block was 64k
  838       aligned, it was incorrectly reported by fsck
  839   * convert: don't write uninitialized data to image
  840   * image:
  841     * don't loop with option -t0
  842     * don't create threads if compression is not requested
  843   * other: minor cleanups
  844 
  845 btrfs-progs-4.2 (2015-09-03)
  846   * enhancements:
  847     * mkfs: do not create extra single chunks on multiple devices
  848     * resize: try to guess the minimal size, 'inspect min-dev-size'
  849     * qgroup assign: add option to schedule rescan
  850     * chunk-recover: be more verbose about the scanning process
  851   * fixes:
  852     * check:
  853 	* find stripes crossing stripe boundary -- created by convert
  854 	* print correct range for file hole when there are no extents
  855 	  and learn how to fix it
  856     * replace: more sanity checks
  857     * convert: concurrency fixes related to reporting progress
  858     * find-root: option -a will not skip the current root anymore
  859     * subvol list: fix occasional crash
  860     * do not create stripes crossing stripe boundary
  861   * build:
  862     * fixes for musl libc
  863     * preliminary support for android (not working yet, more code changes
  864       needed)
  865     * new EXTRA_CFLAGS and EXTRA_LDFLAGS
  866   * other:
  867     * lots of cleanups
  868     * tests: lots of updates, new tests, framework improvements
  869     * documentation updates
  870     * debugging: print-tree shows stripe length
  871 
  872 btrfs-progs-4.1.2 (2015-07-14)
  873   * urgent bugfix: mkfs creates invalid filesystem, must be recreated
  874 
  875 btrfs-progs-4.1.1 (2015-07-10) -- Do not use this version!
  876   Bugfixes:
  877     * defrag: threshold overflow fix
  878     * fsck:
  879       * check if items fit into the leaf space
  880       * fix wrong nbytes
  881     * mkfs:
  882       * create only desired block groups for single device
  883       * preparatory work for fix on multiple devices
  884   Enhancements:
  885     * new alias for 'device delete': 'device remove'
  886   Other:
  887     * fix compilation on old gcc (4.3)
  888     * documentation updates
  889     * debug-tree: print nbytes
  890     * test: image for corrupted nbytes
  891     * corrupt-block: let it kill nbytes
  892 
  893 btrfs-progs-4.1 (2015-06-22)
  894   Bugfixes:
  895     * fsck.btrfs: no bash-isms
  896     * bugzilla 97171: invalid memory access (with tests)
  897     * receive:
  898       * cloning works with --chroot
  899       * capabilities not lost
  900     * mkfs: do not try to register bare file images
  901     * option --help accepted by the standalone utilities
  902     
  903   Enhancements:
  904     * corrupt block: ability to remove csums
  905     * mkfs:
  906       * warn if metadata redundancy is lower than for data
  907       * options to make the output quiet (only errors)
  908       * mixed case names of raid profiles accepted
  909       * rework the output:
  910       * more comprehensive, 'key: value' format
  911     * subvol:
  912       * show:
  913 	* print received uuid
  914 	* update the output
  915 	* new options to specify size units
  916       * sync: grab all deleted ids and print them as they're removed,
  917 	previous implementation only checked if there are any to be
  918 	deleted - change in command semantics
  919     * scrub: print timestamps in days HMS format
  920     * receive:
  921       * can specify mount point, do not rely on /proc
  922       * can work inside subvolumes
  923     * send: new option to send stream without data (NO_FILE_DATA)
  924     * convert: specify incompat features on the new fs
  925     * qgroup:
  926       * show: distinguish no limits and 0 limit value
  927       * limit: ability to clear the limit
  928     * help for 'btrfs' is shorter, 1st level command overview
  929     * debug tree: print key names according to their C name
  930 
  931   New:
  932     * rescue zero-log
  933     * btrfsune:
  934       * rewrite uuid on a filesystem image
  935       * new option to turn on NO_HOLES incompat feature
  936 
  937   Deprecated:
  938     * standalone btrfs-zero-log
  939 
  940   Other:
  941     * testing framework updates
  942       * uuid rewrite test
  943       * btrfstune feature setting test
  944       * zero-log tests
  945       * more testing image formats
  946     * manual page updates
  947     * ioctl.h synced with current kernel uapi version
  948     * convert: preparatory works for more filesystems (reiserfs pending)
  949     * use static buffers for path handling where possible
  950     * add new helpers for send uilts that check memory allocations,
  951       switch all users, deprecate old helpers
  952     * Makefile: fix build dependency generation
  953     * map-logical: make it work again
  954 
  955 btrfs-progs-4.0.1 (2015-05-20)
  956   * restore:
  957     * can restore symlinks, new option --symlinks
  958     * long option variants added
  959   * convert: dropped dependency on acl.h header and libacl is not required
  960     for build
  961   * fix for 'check' crash
  962   * device remove error message fix
  963   * preparatory works for fsid change
  964 
  965 btrfs-progs-4.0 (2015-04-29)
  966   * resize:
  967     * don't accept file as an argument (it's confusing)
  968     * print better error message in case of an error
  969   * restore: optionally restore metadata (time, mode, uid/gid)
  970   * receive: optionally enforce chroot
  971   * new rescue subcommand 'zero-log', same as btrfs-zero-log, but now also
  972     part of the main utility
  973   * check:
  974     * free space checks match kernel, fixes incorrect reports
  975   * convert: fix setting of checksum bit if --no-datasum is used
  976   * fsck.btrfs: don't print messages
  977   * fix quota rescan on PPC64 (mangled ioctl number)
  978   * test updates
  979   * documentation: files renamed to .asciidoc, misc fixups
  980 
  981 btrfs-progs-3.19.1 (2015-03-25)
  982   * convert:
  983     * new option to specify metadata block size
  984     * --no-progress actually works
  985   * restore: properly handle the page boundary corner case
  986   * build fixes:
  987     * missing macro from public header, BTRFS_BUILD_VERSION
  988     * wrong handling of --enable-convert
  989   * filesystem usage: reports correct space for degraded mounts
  990   * other:
  991     * mkfs: help string updates
  992     * completion: added 'usage' subcommands
  993     * cleanups in qgroup code, preparatory work
  994 
  995 btrfs-progs-3.19 (2015-03-11)
  996   * build converted to autotools
  997   * btrfs-image
  998     * restore can now run in parallel threads
  999     * fixed restore of multiple image from multiple devices onto a single
 1000       dev
 1001     * introduced metadump v2
 1002   * check: make --init-csum-tree and --init-extent-tree work together
 1003   * find-new: option to search through all metadata even if a root was
 1004     already found
 1005   * convert: show progress by default, can be turned off
 1006   * corrupt-block: option to work on a specific root
 1007   * bash completion script for all subcommands
 1008 
 1009 btrfs-progs-3.18.2 (2015-01-27)
 1010   * qgroup show: print human readable sizes, options to say otherwise
 1011   * check: new option to explicitly say no to writes
 1012   * mkfs: message about trimming is not printed to stderr
 1013   * filesystem show: fixed return value
 1014   * tests: new infrastructure
 1015   * btrfstune: force flag can be used together with seeding option
 1016   * backtrace support is back
 1017   * getopt cleanups
 1018   * doc and help updates
 1019 
 1020 btrfs-progs-3.18.1 (2015-01-09)
 1021   * minor fixes
 1022   * documentation updates
 1023 
 1024 btrfs-progs-3.18 (2014-12-30)
 1025   * mkfs - skinny-metadata feature is now on by default, first introduced in
 1026     kernel 3.10
 1027   * filesystem usage - give an overview of fs usage in a way that's more
 1028     comprehensible than existing 'filesystem df'
 1029   * device usage - more detailed information about per-device allocations
 1030   * check
 1031     * option to set a different tree root byte number
 1032     * ability to link lost files to lost+found, caused by a recent kernel
 1033       bug
 1034     * repair of severely corrupted fs (use with care)
 1035   * convert - option to show progress
 1036   * subvol create - print the commit mode inline, print the global mode only
 1037     if --verbose
 1038   * other updates: musl-libc support, coverity bugfixes, new test images,
 1039     documentation
 1040 
 1041 btrfs-progs-3.17.3 (2014-12-04)
 1042   * convert: fix conversion of sparse ext* filesystems
 1043   * show: resolve to the correct path
 1044   * fsck: more verbose error for root dir problems
 1045 
 1046 btrfs-progs-3.17.2 (2014-11-19)
 1047   * check improvements
 1048     * add ability to replace missing dir item/dir indexes
 1049     * fix missing inode items
 1050     * create missing root dirid
 1051   * corrupt block: enhancements for testing fsck
 1052   * zero-log: able to reset a fs with bogus log tree pointer (bug_72151)
 1053 
 1054 btrfs-progs-3.17.1 (2014-11-04)
 1055   * filesystem df: argument handling
 1056   * fix linking with libbtrfs
 1057   * replace: better error reporting
 1058   * filesystem show: fixed stall if run concurrently with balance
 1059   * check: fixed argument parsing for --subvol-extents
 1060   * filesystem df: SI prefixes corrected
 1061 
 1062 btrfs-progs-3.17 (2014-10-17)
 1063   * check: --init-csum-tree actually does something useful, rebuilds the
 1064     whole csum tree
 1065   * /dev scanning for btrfs devices is gone
 1066   * /proc/partitions scanning is gone, blkid is used exclusively
 1067   * new subcommand subvolume sync
 1068   * filesystem df: new options to set unit format
 1069   * convert: allow to copy label from the origin, or specify a new one
 1070 
 1071 btrfs-progs-3.16.2 (2014-10-01)
 1072   * a few fixes in fsck and image tools
 1073 
 1074 btrfs-progs-3.16.1 (2014-09-15)
 1075   * print GlobalReserve in filesystem df output
 1076   * new option -R in subvol list
 1077   * library version defines
 1078   * static build is fixed
 1079   * build without documentation is possible
 1080 
 1081 btrfs-progs-3.16 (2014-08-26)
 1082   * mkfs: new option to specify UUID, drop experimental notice
 1083   * check: new option to verify quotas, reduced memory requirements, new
 1084     option to print extent sharing
 1085   * restore: check length before decompression, more error handling, option
 1086     to loop during restoring
 1087   * balance: new filter 'limit'
 1088   * recover: allow to read all sb copies
 1089   * btrfstune: new option to force dangerous changes
 1090   * receive: new option to limit number of errors
 1091   * show-super: skip unrecognized sb, add option to force
 1092   * debug-tree: print tree by id
 1093   * documentation updates
 1094 
 1095 btrfs-progs-3.14.2 (2014-05-29)
 1096   * documentation is now written in asciidoc and there are manpages for each
 1097     subcommand
 1098   * misc bugfixes
 1099 
 1100 btrfs-progs-3.14.1 (2014-04-18)
 1101   * properties: fix handling of option -t
 1102   * restore: fix reading of compressed extents
 1103   * minor code and doc updates
 1104 
 1105 btrfs-progs-3.14 (2014-04-06)
 1106   * fsck: fixes and enhancements to --init-extent-tree mode
 1107   * fsck: chunk-recover updates
 1108   * scrub: add force option -f
 1109   * send: check if subvolumes are read-only
 1110   * subvol delete: add options to affect commit behaviour
 1111   * btrfs: add property command group
 1112   * restore: add dry-run option
 1113   * restore: fix restoring of compressed files
 1114   * mkfs: support for no-holes feature
 1115   * mkfs: option -r deals with hardlinks and relative paths
 1116   * mkfs: discard phase is interruptible
 1117   * documentation updates
 1118 
 1119 btrfs-progs-3.12 (2013-11-25)
 1120   * announcement, tarballs
 1121   * first release after 0.19 (2009/06) with a lot of changes