David Sterba
a288d6dafc
btrfs-progs: mkfs: fix warning for printf format on 32bit
...
Compiler complains about nlink_t and %ld format on 32bit build. Add
typecast and fix the format.
Signed-off-by: David Sterba <dsterba@suse.com>
2016-10-05 12:39:01 +02:00
David Sterba
c8d9f05cec
btrfs-progs: kerncompat: add build-time assertion support
...
Macro to verify compile-time conditions, like sie of structures or
types.
Signed-off-by: David Sterba <dsterba@suse.com>
2016-10-05 12:39:01 +02:00
David Sterba
eae42a1fe4
btrfs-progs: build: add alias for check tests
...
$ make test-check"
Signed-off-by: David Sterba <dsterba@suse.com>
2016-10-05 12:39:01 +02:00
David Sterba
dabfc65124
btrfs-progs: kerncompat: call abort at the end of assert_trace
...
The assert* helpers should not exit normally, mimick the behaviour of
the std library assert.
Signed-off-by: David Sterba <dsterba@suse.com>
2016-10-05 12:39:01 +02:00
David Sterba
26619538da
btrfs-progs: kerncompat: make WARN_ON more verbose
...
Curretnly WARN_ON would crash but that's not it's purpose. Add helper
that prints the warning, optionally with trace.
Signed-off-by: David Sterba <dsterba@suse.com>
2016-10-05 12:39:01 +02:00
David Sterba
a08ca376f7
btrfs-progs: tests: teach run_mayfail about sigabrt
...
Mayfail helper should stop when we encoutner an abort.
Signed-off-by: David Sterba <dsterba@suse.com>
2016-10-05 12:39:01 +02:00
David Sterba
942dc5f29d
btrfs-progs: dump-super: print chunks after validation
...
The fuzz test 005-simple-dump-super hits a crash, because we print the
chunks too early.
Signed-off-by: David Sterba <dsterba@suse.com>
2016-10-05 12:39:01 +02:00
David Sterba
d27c586c5b
btrfs-progs: convert: add new callback to check state
...
Make the hardcoded ext2 call to a generic per-fs callback.
Signed-off-by: David Sterba <dsterba@suse.com>
2016-10-05 12:39:01 +02:00
David Sterba
5e96864dfd
btrfs-progs: rename __setup_root and change to return void
...
Exported function should use a prefix.
Signed-off-by: David Sterba <dsterba@suse.com>
2016-10-05 12:39:01 +02:00
David Sterba
b6bf79eb96
btrfs-progs: tests: don't treat segfault as ignorable error
...
Some fuzzed images cause various tools to crash but the mayfail helper
would not recognize that. We don't mind if the utility failes but it
must not crash.
Signed-off-by: David Sterba <dsterba@suse.com>
2016-10-05 12:39:01 +02:00
David Sterba
a5ac954153
btrfs-progs: tests: split test 004 to separate tests
...
Makes testing specific tool easier.
Signed-off-by: David Sterba <dsterba@suse.com>
2016-10-05 12:39:01 +02:00
David Sterba
ea0fd88b5a
btrfs-progs: don't access freed memory in btrfs_close_devices
...
Caught by ASAN, as we don't access fs_devices directly, there's no null
deref but 0x30 is still wrong.
Signed-off-by: David Sterba <dsterba@suse.com>
2016-10-05 12:39:01 +02:00
David Sterba
61d5425fd3
btrfs-progs: chunk-recover: handle duplicate cache entries
...
Triggered by fuzzed image bko-155621-bad-block-group-offset.raw .
Signed-off-by: David Sterba <dsterba@suse.com>
2016-10-05 12:39:01 +02:00
David Sterba
9adce1abe4
btrfs-progs: print value when assertion fails
...
Signed-off-by: David Sterba <dsterba@suse.com>
2016-10-05 12:39:01 +02:00
David Sterba
db64e0a636
btrfs-progs: image: drop useless bug_on
...
The callers touch 'target', no point checking it inside restore_metadump
again.
Signed-off-by: David Sterba <dsterba@suse.com>
2016-10-05 12:39:01 +02:00
David Sterba
9287b8630c
btrfs-progs: image: return negativer error from all paths in mdrestore_init
...
Signed-off-by: David Sterba <dsterba@suse.com>
2016-10-05 12:39:00 +02:00
David Sterba
3956c16d0b
btrfs-progs: image: catch zero length extents, avoid endless loop
...
If an extent is found to have length 0, we'd loop endlessly in
copy_from_extent_tree. Reproduced by fuzzed image
bko-166361-blocksize-zero.raw within test 002-simple-image .
Signed-off-by: David Sterba <dsterba@suse.com>
2016-10-03 15:07:24 +02:00
David Sterba
35d0588b64
btrfs-progs: tests: add fuzzed image with bad parent refs, qgroup-verify
...
Signed-off-by: David Sterba <dsterba@suse.com>
2016-10-03 15:07:24 +02:00
David Sterba
d89205c4a5
btrfs-progs: check: better error handling in find_parent_roots
...
Fix use-before-sanity-check leading to undefined behaviour and handle
errors more gracefully.
Reported-by: Lukas Lueg <lukas.lueg@gmail.com>
Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=156811
Signed-off-by: David Sterba <dsterba@suse.com>
2016-10-03 15:07:24 +02:00
David Sterba
801f15bdf1
btrfs-progs: tests: add fuzzed images with bad blocksize/lengh of eb
...
Signed-off-by: David Sterba <dsterba@suse.com>
2016-10-03 15:07:24 +02:00
David Sterba
6cca2ea9be
btrfs-progs: more sanity checks in read_tree_block_fs_info
...
If blocksize is 0, it passes the IS_ALIGNED check but fails later as the
length of ebs will be zero.
Reported-by: Lukas Lueg <lukas.lueg@gmail.com>
Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=169311
Signed-off-by: David Sterba <dsterba@suse.com>
2016-10-03 15:07:24 +02:00
David Sterba
14de259f1f
btrfs-progs: btrfstune: use common message helpers
...
Signed-off-by: David Sterba <dsterba@suse.com>
2016-10-03 15:07:24 +02:00
David Sterba
f446c027ca
btrfs-progs: image: use common message helpers
...
Usage errors are turned to normal errors.
Signed-off-by: David Sterba <dsterba@suse.com>
2016-10-03 15:07:23 +02:00
Qu Wenruo
b2fbec8be1
btrfs-progs: Remove unnecessary parameter to clear_extent_uptodate
...
Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com>
Signed-off-by: David Sterba <dsterba@suse.com>
2016-10-03 15:07:23 +02:00
Qu Wenruo
7c646c538e
btrfs-progs: qgroup: Fix regression leads to corrupted qgroup status
...
Commit 93dabf211d
Author: Mark Fasheh <mfasheh@suse.de>
Date: Fri Jun 17 13:37:48 2016 -0700
btrfs-progs: check: verify qgroups above level 0
This commit introduced a new regression which corrupts
read_qgroup_status, since it iterate leaf with manually specified slot,
not correct path->slot[0].
This leads to wrong slot[0] and read_qgroup_status() will read out wrong
flags, leading to regression.
Fix read_qgroup_status() by using eb and slot instread of wrong path
strucutre.
Reported-by: Tsutomu Itoh <t-itoh@jp.fujitsu.com>
Cc: Mark Fasheh <mfasheh@suse.de>
Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com>
Signed-off-by: David Sterba <dsterba@suse.com>
2016-10-03 15:07:23 +02:00
David Sterba
85d608f7ec
btrfs-progs: constify string arguments where appropriate
...
Signed-off-by: David Sterba <dsterba@suse.com>
2016-10-03 15:07:23 +02:00
David Sterba
9fcdf8f894
btrfs-progs: don't write to optarg in btrfs_qgroup_parse_sort_string
...
Dup the string that gets passed to strtok so we don't destroy callers
buffer.
Signed-off-by: David Sterba <dsterba@suse.com>
2016-10-03 15:07:23 +02:00
David Sterba
2761c37d25
btrfs-progs: remove stray function declaration
...
Signed-off-by: David Sterba <dsterba@suse.com>
2016-10-03 15:07:23 +02:00
David Sterba
6c5d2a7f6f
btrfs-progs: restore: update help text
...
Make it clear that --xattr restores the xattrs. Fix some whitespace
damage and add an enum for the long-only option.
Signed-off-by: David Sterba <dsterba@suse.com>
2016-10-03 15:07:22 +02:00
Qu Wenruo
3296d058b7
btrfs-progs: super-recover: Reuse btrfs_read_dev_super function
...
We have enhanced super block validation check in disk_io.c, while
super-recover doesn't use that function and use a custom one.
That is duplicated, so reuse btrfs_read_dev_super to handle it, which
not only enhanced super check, but also reduce the code length.
Reported-by: hawken <hawken@thehawken.org>
Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com>
Signed-off-by: David Sterba <dsterba@suse.com>
2016-10-03 15:07:22 +02:00
Qu Wenruo
50c8c995ea
btrfs-progs: Return more meaningful value for btrfs_read_deve_super
...
btrfs_read_dev_super() only returns 0 or -1, which doesn't really help,
caller won't know if it's caused by bad superblock or superblock out of
range.
Return -errno if pread64() return -1, and return -EOF if none or part of
the super is read out, and return what check_super() returned.
So caller can get -EIO to catch real corrupted super blocks.
Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com>
Signed-off-by: David Sterba <dsterba@suse.com>
2016-10-03 15:07:22 +02:00
Nicholas D Steeves
6bdb1cfbc1
btrfs-progs: fix user-facing typos in docs and help strings
...
Signed-off-by: Nicholas D Steeves <nsteeves@gmail.com>
Signed-off-by: David Sterba <dsterba@suse.com>
2016-10-03 15:07:22 +02:00
Adam Borowski
aa8ad8d4ae
btrfs-progs: docs: document exit codes from scrub
...
Signed-off-by: Adam Borowski <kilobyte@angband.pl>
Signed-off-by: David Sterba <dsterba@suse.com>
2016-10-03 15:07:22 +02:00
David Sterba
1200be31e6
btrfs-progs: move 3rd party kernel library modules to own directory
...
Signed-off-by: David Sterba <dsterba@suse.com>
2016-10-03 15:07:22 +02:00
David Sterba
605ed50b8c
btrfs-progs: build: add basic support for subdirectory build
...
Add explicit target file names and set the top source directory.
Signed-off-by: David Sterba <dsterba@suse.com>
2016-10-03 15:07:21 +02:00
David Sterba
8d8de7c2e5
btrfs-progs: tests: add script to scan results for some known runtime errors
...
Signed-off-by: David Sterba <dsterba@suse.com>
2016-10-03 15:07:21 +02:00
David Sterba
5a38a52194
btrfs-progs: tests: iterate over fuzzed images and test various tools
...
Signed-off-by: David Sterba <dsterba@suse.com>
2016-10-03 15:07:21 +02:00
Domagoj Tršan
ff9ee51677
btrfs-progs: change btrfs_csum_final result param type to u8
...
Signed-off-by: Domagoj Tršan <domagoj.trsan@gmail.com>
Signed-off-by: David Sterba <dsterba@suse.com>
2016-10-03 11:35:50 +02:00
Lakshmipathi.G
b56fe16922
btrfs-progs: convert: check source file system state
...
Signed-off-by: Lakshmipathi.G <Lakshmipathi.G@giis.co.in>
[ add doc note ]
Signed-off-by: David Sterba <dsterba@suse.com>
2016-10-03 11:35:49 +02:00
David Sterba
2a9daceb07
btrfs-progs: mkfs: remove useless helper
...
Signed-off-by: David Sterba <dsterba@suse.com>
2016-10-03 11:33:15 +02:00
David Sterba
34673ebeb0
btrfs-progs: use PATH_MAX in cmd_inspect_logical_resolve
...
Signed-off-by: David Sterba <dsterba@suse.com>
2016-10-03 11:33:15 +02:00
David Sterba
91435117d7
btrfs-progs: remove unused variable in add_inode_items
...
It hasn't been used since the first commit.
Signed-off-by: David Sterba <dsterba@suse.com>
2016-10-03 11:33:15 +02:00
David Sterba
890f4a61d7
btrfs-progs: cleanup, kill trivial btrfs_key_type helper
...
Signed-off-by: David Sterba <dsterba@suse.com>
2016-10-03 11:33:15 +02:00
David Sterba
555743075b
btrfs-progs: cleanup, kill trivial btrfs_set_key_type helper
...
Signed-off-by: David Sterba <dsterba@suse.com>
2016-10-03 11:33:15 +02:00
David Sterba
ea84d54121
btrfs-progs: improve error handling in clone_inode_rec
...
Cleanup the rb_tree.
Signed-off-by: David Sterba <dsterba@suse.com>
2016-10-03 11:33:15 +02:00
David Sterba
7e955fc856
btrfs-progs: corrupt-block: fix assertion condition
...
The ->data is no longer a pointer but an embedded array.
Resolves-coverity-id: 1372671
Signed-off-by: David Sterba <dsterba@suse.com>
2016-10-03 11:33:15 +02:00
David Sterba
c7a1f66a20
btrfs-progs: check: switch some messages to common helpers
...
Switch the messages that do not come from the actual image checking,
more like the parameter verification.
Signed-off-by: David Sterba <dsterba@suse.com>
2016-10-03 11:33:15 +02:00
David Sterba
a4e59b6776
btrfs-progs: image: switch to common message helpers
...
Signed-off-by: David Sterba <dsterba@suse.com>
2016-10-03 11:33:15 +02:00
David Sterba
6733181501
btrfs-progs: convert: improve error handling in do_rollback
...
Handle transaction errors.
Signed-off-by: David Sterba <dsterba@suse.com>
2016-10-03 11:33:15 +02:00
David Sterba
1497a772c3
btrfs-progs: check: improve error handling in add_extent_rec_nolookup
...
Signed-off-by: David Sterba <dsterba@suse.com>
2016-10-03 11:33:15 +02:00