forked from kdave/btrfs-progs
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGES
545 lines (495 loc) · 20.5 KB
/
CHANGES
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
btrfs-progs-4.7.2 (2016-09-05)
* check:
* urgent fix: false report of backref mismatches; do not --repair
last unaffected version 4.6.1 (code reverted to that state)
* fuzzing and fixes
* added more sanity checks for various structures
* testing images added
* build: udev compatibility: do not install .rules on version < 190
* other:
* dump-super: do not crash on garbage value in csum_type
* minor improvements in messages and help strings
* documentation:
* filesystem features
btrfs-progs-4.7.1 (2016-08-25)
* check:
* new optional mode: optimized for low memory usage (memory/io tradeoff)
* --mode=lowmem, not default, still considered experimental
* does not work with --repair yet
* convert: regression fix, ext2_subvol/image rw permissions
* mkfs/convert:
* two-staged creation, partially created filesystem will not be recognized
* improved error handling (fewer BUG_ONs)
* convert: preparation for more filesystems to convert from
* documentation updates: quota, qgroup
* other
* message updates
* more tests
* more build options, enhanced debugging
btrfs-progs-4.7 (2016-07-29)
* convert: fix creating discontig extents
* check: speed up traversing heavily reflinked extents within a file
* check: verify qgroups of higher levels
* check: repair can now fix wrong qgroup numbers
* balance: new option to run in the background
* defrag: default extent target size changed to 32MiB
* du: silently skip non-btrfs dirs/files
* documentation updates: btrfs(5), btrfs(8), balance, subvolume, scrub,
filesystem, convert
* bugfixes:
* unaligned access (reported for sparc64) in raid56 parity calculations
* use /bin/bash
* other stability fixes and cleanups
* more tests
btrfs-progs-4.6.1 (2016-06-24)
* fi resize: negative resize argument accepted again
* qgroup rescan: fix skipping when rescan is in progress
* mkfs: initialize stripesize to correct value
* testsuite updates, mostly convert tests
* documentation updates
* btrfs-device, btrfs-restore manual pages enhanced
* misc fixups
btrfs-progs-4.6 (2016-06-10)
* convert - major rewrite:
* fix a long-standing bug that led to mixing data blocks into metadata block
groups
* the workaround was to do full balance after conversion, which was
recommended practice anyway
* explicitly set the lowest supported version of e2fstools to 1.41
* provide and install udev rules file that addresses problems with device
mapper devices, renames after removal
* send: new option: quiet
* dev usage: report slack space (device size minus filesystem area on the dev)
* image: support DUP
* build: short options to enable debugging builds
* other:
* code cleanups
* build fixes
* more tests and other enhancements
btrfs-progs-4.5.3 (2016-05-11)
* ioctl: fix unaligned access in buffer from TREE_SEARCH; might cause SIGBUS
on architectures that do not support unaligned access and do not performa
any fixups
* improved validation checks of superblock and chunk-related structures
* subvolume sync: fix handling of -s option
* balance: adjust timing of safety delay countdown with --full-balance
* rescue super-recover: fix reversed condition check
* check: fix bytes_used accounting
* documentation updates: mount options, scrub, send, receive, select-super,
check, mkfs
* testing: new fuzzed images, for superblock and chunks
btrfs-progs-4.5.2 (2016-05-02)
* new/moved command: btrfs-calc-stats -> btrfs inspect tree-stats
* check: fix false alert for metadata blocks crossing stripe boundary
* check: catch when qgroup numbers mismatch
* check: detect running quota rescan and report mismatches
* balance start: add safety delay before doing a full balance
* fi sync: is now silent
* fi show: don't miss filesystems with partially matching uuids
* dev ready: accept only one argument for device
* dev stats: print "devid:N" for a missing device instead of "(null)"
* other:
* lowest supported version of e2fsprogs is 1.41
* minor cleanups, test updates
btrfs-progs-4.5.1 (2016-03-31)
* mkfs: allow DUP on multi-device filesystems
* bugfixes: build fixes, assorted other fixes
btrfs-progs-4.5 (2016-03-20)
New/moved commands:
* btrfs-show-super -> btrfs inspect-internal dump-super
* btrfs-debug-tree -> btrfs inspect-internal dump-tree
New commands:
* btrfs fi du - calculate disk usage, including shared extents
Enhancements:
* device delete - delete by id (needs kernel support, not merged to
4.6)
* check - new option to specify chunk root
* debug-tree/dump-tree - option -t understands human readable name of
the tree (along numerical ids)
* btrfs-debugfs - can dump block group information
Bugfixes:
* all commands should accept the option separator "--"
* several fixes in device scan
* restore works on filesystems with sectorsize > 4k
* debug-tree/dump-tree - print compression type as string
* subvol sync: fix crash, memory corruption
* argument parsing fixes: subvol get-default, qgroup create/destroy/
assign, inspect subvolid-resolve
* check for block device or regular file in several commands
Other:
* documentation updates
* manual pages for the moved tools now point to btrfs-filesystem
* testsuite updates
btrfs-progs-4.4.1 (2016-02-26)
* find-root: don't skip the first chunk
* free-space-tree compat bits fix
* build: target symlinks
* documentation updates
* test updates
btrfs-progs-4.4 (2016-01-18)
User visible changes:
* mkfs.btrfs --data dup
People asked about duplicating data on a single device for a long time. There
are no technical obstacles preventing that, so it got enabled with a warning
about potential dangers when the device will not do the duplicated copies. See
mkfs.btrfs section DUP PROFILES ON A SINGLE DEVICE.
* support balance filters added/enhanced in linux 4.4
* usage=min..max -- enhanced to take range
* stripes=min..max -- new, filter by stripes for raid0/10/5/6
* limit=min..max -- enhanced to take range
Note: due to backward compatibility, the range maximum for 'usage' is not
inclusive as for the others, to keep the same behaviour as usage=N .
* manual pages enhanced (btrfs, mkfs, mount, filesystem, balance)
* error messages updates, rewordings -- some fstests may break due to that
* added support for free-space-tree implementation of space cache -- this
requires kernel 4.5 and is not recommended for non-developers yet
* btrfs filesystem usage works with mixed blockgroups
Other:
* installation to /usr/local -- this has unintentionally changed during
conversion to autotools in 3.19
* check: fix a false alert where extent record has wrong metadata flag
* improved stability on fuzzed/crafted images when reading sys array in
superblock
* build: the 'ar' tool is properly detected during cross-compilation
* debug-tree: option -t understands ids for tree root and chunk tree
* preparatory work for btrfs-convert rewrite
* sparse, gcc warning fixes
* more memory allocation failure handling
* cleanups
* more tests
Bugfixes:
* chunk recovery: fix floating point exception
* chunk recovery: endianity bugfix during rebuild
* mkfs with 64K pages and nodesize reported superblock checksum mismatch
* check: properly reset nlink of multi-linked file
btrfs-progs-4.3.1 (2015-11-16)
* fixes
* device delete: recognize 'missing' again
* mkfs: long names are not trimmed when doing ssd check
* support partitioned loop devices
* other
* replace several mallocs with on-stack variables
* more memory allocation failure handling
* add tests for bugs fixed
* cmd-device: switch to new message printing helpers
* minor code cleanups
btrfs-progs-4.3 (2015-11-06)
* mkfs
* mixed mode is not forced for filesystems smaller than 1GiB
* mixed mode broken with mismatching sectorsize and nodesize, fixed
* print version info earlier
* print devices sorted by id
* do not truncate target image with --rootsize
* fi usage:
* don't print global block reserve
* print device id
* minor output tuning
* other cleanups
* calc-size:
* div-by-zero fix on an empty filesystem
* fix crash
* bugfixes:
* more superblock sanity checks
* consistently round size of all devices down to sectorsize
* misc leak fixes
* convert: don't try to rollback with a half-deleted ext2_saved
subvolume
* other:
* check: add progress indicator
* scrub: enhanced error message
* show-super: read superblock from a given offset
* add README
* docs: update manual page for mkfs.btrfs, btrfstune, balance,
convert and inspect-internal
* build: optional build with more warnings (W=...)
* build: better support for static checkers
* build: html output of documentation
* pretty-print: last_snapshot for root_item
* pretty-print: stripe dev uuid
* error reporting wrappers, introduced and example use
* refactor open_file_or_dir
* other docs and help updates
* testing:
* test for nodes crossing stripes
* test for broken 'subvolume sync'
* basic tests for mkfs, raid option combinations
* basic tests for fuzzed images (check)
* command intrumentation (eg valgrind)
* print commands if requested
* add README for tests
btrfs-progs-4.2.3 (2015-10-19)
* subvol sync: make it actually work again: it's been broken since 4.1.2,
due to a reversed condition it returned immediately instead of waiting
* scanning: do not scan already discovered filesystems (minor optimization)
* convert: better error message in case the filesystem is not finalized
* restore: off-by-one symlink path check fix
btrfs-progs-4.2.2 (2015-10-05)
* fi label: use fallback if the label ioctl is not available
* convert: check nodesize constraints against commandline features (-O)
* scrub: report status 'running' until all devices are finished
* device scanning might crash in some scenarios
* fi usage: print summary for non-root users
btrfs-progs-4.2.1 (2015-09-20)
* fix an off-by-one error in cross-stripe boundary check
* if nodesize was 64k, any metadata block was reported as crossing,
this leads to mkfs failure for example due to "no free blocks
found"
* for other nodesizes, if the end of the metadata block was 64k
aligned, it was incorrectly reported by fsck
* convert: don't write uninitialized data to image
* image:
* don't loop with option -t0
* don't create threads if compression is not requested
* other: minor cleanups
btrfs-progs-4.2 (2015-09-03)
* enhancements:
* mkfs: do not create extra single chunks on multiple devices
* resize: try to guess the minimal size, 'inspect min-dev-size'
* qgroup assign: add option to schedule rescan
* chunk-recover: be more verbose about the scanning process
* fixes:
* check:
* find stripes crossing stripe boundary -- created by convert
* print correct range for file hole when there are no extents
and learn how to fix it
* replace: more sanity checks
* convert: concurrency fixes related to reporting progress
* find-root: option -a will not skip the current root anymore
* subvol list: fix occasional crash
* do not create stripes crossing stripe boundary
* build:
* fixes for musl libc
* preliminary support for android (not working yet, more code changes
needed)
* new EXTRA_CFLAGS and EXTRA_LDFLAGS
* other:
* lots of cleanups
* tests: lots of updates, new tests, framework improvements
* documentation updates
* debugging: print-tree shows stripe length
btrfs-progs-4.1.2 (2015-07-14)
* urgent bugfix: mkfs creates invalid filesystem, must be recreated
btrfs-progs-4.1.1 (2015-07-10) -- Do not use this version!
Bugfixes:
* defrag: threshold overflow fix
* fsck:
* check if items fit into the leaf space
* fix wrong nbytes
* mkfs:
* create only desired block groups for single device
* preparatory work for fix on multiple devices
Enhancements:
* new alias for 'device delete': 'device remove'
Other:
* fix compilation on old gcc (4.3)
* documentation updates
* debug-tree: print nbytes
* test: image for corrupted nbytes
* corrupt-block: let it kill nbytes
btrfs-progs-4.1 (2015-06-22)
Bugfixes:
* fsck.btrfs: no bash-isms
* bugzilla 97171: invalid memory access (with tests)
* receive:
* cloning works with --chroot
* capabilities not lost
* mkfs: do not try to register bare file images
* option --help accepted by the standalone utilities
Enhancements:
* corrupt block: ability to remove csums
* mkfs:
* warn if metadata redundancy is lower than for data
* options to make the output quiet (only errors)
* mixed case names of raid profiles accepted
* rework the output:
* more comprehensive, 'key: value' format
* subvol:
* show:
* print received uuid
* update the output
* new options to specify size units
* sync: grab all deleted ids and print them as they're removed,
previous implementation only checked if there are any to be
deleted - change in command semantics
* scrub: print timestamps in days HMS format
* receive:
* can specify mount point, do not rely on /proc
* can work inside subvolumes
* send: new option to send stream without data (NO_FILE_DATA)
* convert: specify incompat features on the new fs
* qgroup:
* show: distinguish no limits and 0 limit value
* limit: ability to clear the limit
* help for 'btrfs' is shorter, 1st level command overview
* debug tree: print key names according to their C name
New:
* rescue zero-log
* btrfsune:
* rewrite uuid on a filesystem image
* new option to turn on NO_HOLES incompat feature
Deprecated:
* standalone btrfs-zero-log
Other:
* testing framework updates
* uuid rewrite test
* btrfstune feature setting test
* zero-log tests
* more testing image formats
* manual page updates
* ioctl.h synced with current kernel uapi version
* convert: preparatory works for more filesystems (reiserfs pending)
* use static buffers for path handling where possible
* add new helpers for send uilts that check memory allocations,
switch all users, deprecate old helpers
* Makefile: fix build dependency generation
* map-logical: make it work again
btrfs-progs-4.0.1 (2015-05-20)
* restore:
* can restore symlinks, new option --symlinks
* long option variants added
* convert: dropped dependency on acl.h header and libacl is not required
for build
* fix for 'check' crash
* device remove error message fix
* preparatory works for fsid change
btrfs-progs-4.0 (2015-04-29)
* resize:
* don't accept file as an argument (it's confusing)
* print better error message in case of an error
* restore: optionally restore metadata (time, mode, uid/gid)
* receive: optionally enforce chroot
* new rescue subcommand 'zero-log', same as btrfs-zero-log, but now also
part of the main utility
* check:
* free space checks match kernel, fixes incorrect reports
* convert: fix setting of checksum bit if --no-datasum is used
* fsck.btrfs: don't print messages
* fix quota rescan on PPC64 (mangled ioctl number)
* test updates
* documentation: files renamed to .asciidoc, misc fixups
btrfs-progs-3.19.1 (2015-03-25)
* convert:
* new option to specify metadata block size
* --no-progress actually works
* restore: properly handle the page boundary corner case
* build fixes:
* missing macro from public header, BTRFS_BUILD_VERSION
* wrong handling of --enable-convert
* fi usage: reports correct space for degraded mounts
* other:
* mkfs: help string updates
* completion: added 'usage' subcommands
* cleanups in qgroup code, preparatory work
btrfs-progs-3.19 (2015-03-11)
* build converted to autotools
* btrfs-image
* restore can now run in parallel threads
* fixed restore of multiple image from multiple devices onto a single
dev
* introduced metadump v2
* check: make --init-csum-tree and --init-extent-tree work together
* find-new: option to search through all metadata even if a root was
already found
* convert: show progress by default, can be turned off
* corrupt-block: option to work on a specific root
* bash completion script for all subcommands
btrfs-progs-3.18.2 (2015-01-27)
* qgroup show: print human readable sizes, options to say otherwise
* check: new option to explicitly say no to writes
* mkfs: message about trimming is not printed to stderr
* fi show: fixed return value
* tests: new infrastructure
* btrfstune: force flag can be used together with seeding option
* backtrace support is back
* getopt cleanups
* doc and help updates
btrfs-progs-3.18.1 (2015-01-09)
* minor fixes
* documentation updates
btrfs-progs-3.18 (2014-12-30)
* mkfs - skinny-metadata feature is now on by default, first introduced in
kernel 3.10
* filesystem usage - give an overview of fs usage in a way that's more
comprehensible than existing 'fi df'
* device usage - more detailed information about per-device allocations
* check
* option to set a different tree root byte number
* ability to link lost files to lost+found, caused by a recent kernel
bug
* repair of severely corrupted fs (use with care)
* convert - option to show progress
* subvol create - print the commit mode inline, print the global mode only
if --verbose
* other updates: musl-libc support, coverity bugfixes, new test images,
documentation
btrfs-progs-3.17.3 (2014-12-04)
* convert: fix conversion of sparse ext* filesystems
* show: resolve to the correct path
* fsck: more verbose error for root dir problems
btrfs-progs-3.17.2 (2014-11-19)
* check improvements
* add ability to replace missing dir item/dir indexes
* fix missing inode items
* create missing root dirid
* corrupt block: enhancements for testing fsck
* zero-log: able to reset a fs with bogus log tree pointer (bug_72151)
btrfs-progs-3.17.1 (2014-11-04)
* fi df: argument handling
* fix linking with libbtrfs
* replace: better error reporting
* fi show: fixed stall if run concurrently with balance
* check: fixed argument parsing for --subvol-extents
* fi df: SI prefixes corrected
btrfs-progs-3.17 (2014-10-17)
* check: --init-csum-tree actually does something useful, rebuilds the
whole csum tree
* /dev scanning for btrfs devices is gone
* /proc/partitions scanning is gone, blkid is used exclusively
* new subcommand subvolume sync
* filesystem df: new options to set unit format
* convert: allow to copy label from the origin, or specify a new one
btrfs-progs-3.16.2 (2014-10-01)
* a few fixes in fsck and image tools
btrfs-progs-3.16.1 (2014-09-15)
* print GlobalReserve in fi df output
* new option -R in subvol list
* library version defines
* static build is fixed
* build without documentation is possible
btrfs-progs-3.16 (2014-08-26)
* mkfs: new option to specify UUID, drop experimental notice
* check: new option to verify quotas, reduced memory requirements, new
option to print extent sharing
* restore: check length before decompression, more error handling, option
to loop during restoring
* balance: new filter 'limit'
* recover: allow to read all sb copies
* btrfstune: new option to force dangerous changes
* receive: new option to limit number of errors
* show-super: skip unrecognized sb, add option to force
* debug-tree: print tree by id
* documentation updates
btrfs-progs-3.14.2 (2014-05-29)
* documentation is now written in asciidoc and there are manpages for each
subcommand
* misc bugfixes
btrfs-progs-3.14.1 (2014-04-18)
* properties: fix handling of option -t
* restore: fix reading of compressed extents
* minor code and doc updates
btrfs-progs-3.14 (2014-04-06)
* fsck: fixes and enhancements to --init-extent-tree mode
* fsck: chunk-recover updates
* scrub: add force option -f
* send: check if subvolumes are read-only
* subvol delete: add options to affect commit behaviour
* btrfs: add property command group
* restore: add dry-run option
* restore: fix restoring of compressed files
* mkfs: support for no-holes feature
* mkfs: option -r deals with hardlinks and relative paths
* mkfs: discard phase is interruptible
* documentation updates
btrfs-progs-3.12 (2013-11-25)
* announcement, tarballs
* first release after 0.19 (2009/06) with a lot of changes