summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* btrfs-progs: inspect rootid: Allow a file to be specifiedMisono, Tomohiro2017-09-08
| | | | | | | | | | | | | Since cmd_inspect_rootid() calls btrfs_open_dir(), it rejects a file to be specified. But as the document says, a file should be supported. This patch introduces btrfs_open_file_or_dir(), which is a counterpart of btrfs_open_dir(), to safely check and open btrfs file or directory. The original btrfs_open_dir() content is moved to btrfs_open() and shared by both function. Signed-off-by: Tomohiro Misono <misono.tomohiro@jp.fujitsu.com> Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: tests: convert misc/011-delete-missing-device to loopdevsDavid Sterba2017-09-08
| | | | Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: tests: convert misc/006-image-on-missing-device to loopdevsDavid Sterba2017-09-08
| | | | Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: tests: move loopdev helpers out of the testcase to commonDavid Sterba2017-09-08
| | | | Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: tests: cleanup loop device helpersDavid Sterba2017-09-08
| | | | | | | Make the loop device helpers a bit more generic before moving them to the common helpers. Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: print-tree: factor out extent_csum dumpDavid Sterba2017-09-08
| | | | | | | Factor out code to own helper and tweak the format so it matches the rest. Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: print the csum length in debug-treeJosef Bacik2017-09-08
| | | | | | | | | | While looking at a log of a corrupted fs I needed to verify we were missing csums for a given range. Make this easier by printing out the range of bytes a csum item covers. Signed-off-by: Josef Bacik <jbacik@fb.com> Reviewed-by: Nikolay Borisov <nborisov@suse.com> Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: tests: add testcase for 'fi du' and empty subvolDavid Sterba2017-09-08
| | | | Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: fi du: don't call lookup_path_rootid for ↵Goffredo Baroncelli2017-09-08
| | | | | | | | | | | | | | | | | | | | | | | BTRFS_EMPTY_SUBVOL_DIR_OBJECTID When ino is BTRFS_EMPTY_SUBVOL_DIR_OBJECTID, the item is not referred to any file-tree. So lookup_path_rootid() doesn't return any meaningful value. As was reported, this can be triggered by $ btrfs sub create test1 $ btrfs sub create test1/test2 $ btrfs sub snap test1 test1.snap $ btrfs fi du -s test1 Total Exclusive Set shared Filename 0.00B 0.00B 0.00B test1 $ btrfs fi du -s test1.snap Total Exclusive Set shared Filename ERROR: cannot check space of 'test1.snap': Inappropriate ioctl for device Signed-off-by: Goffredo Baroncelli <kreijack@inwind.it> Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: reset the ret value when ignoring an error from du_add_fileGoffredo Baroncelli2017-09-08
| | | | | | | | | In du_walk_dir(), when du_add_file() returns an error it is usually ignored. However if the error is returned querying the last item, the error is returned to the caller. Signed-off-by: Goffredo Baroncelli <kreijack@inwind.it> Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: tests: add test for check --forceDavid Sterba2017-09-08
| | | | | | Basic test of the --force functionality, on an empty filesystem. Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: check: add option to skip mount checksDavid Sterba2017-09-08
| | | | | | | | | | | Sometimes it's needed to do a check on a mounted filesystem. This should work fine on a quiescent filesystem or a read-only mount. Changes on the block device done by kernel might confuse the userspace checker and it might crash when it reads some stale data. Repair without mount checks is not supported right now. Signed-off-by: David Sterba <dsterba@suse.cz>
* btrfs-progs: print-tree: factor out temporary_item dumpDavid Sterba2017-09-08
| | | | Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: print-tree: factor out persistent_item dumpDavid Sterba2017-09-08
| | | | Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: print-tree: factor out qgroup_limit dumpDavid Sterba2017-09-08
| | | | Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: print-tree: factor out qgroup_info dumpDavid Sterba2017-09-08
| | | | Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: print-tree: factor out qgroup_status dumpDavid Sterba2017-09-08
| | | | Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: print-tree: factor out dev_extent dumpDavid Sterba2017-09-08
| | | | Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: print-tree: factor out free_space_info dumpDavid Sterba2017-09-08
| | | | Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: print-tree: factor out shared_data_ref dumpDavid Sterba2017-09-08
| | | | Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: print-tree: factor out extent_data_ref dumpDavid Sterba2017-09-08
| | | | Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: print-tree: factor out block_group_item dumpDavid Sterba2017-09-08
| | | | Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: print-tree: don't print the item type for all itemsDavid Sterba2017-09-08
| | | | | | | | In some cases it's clear from the context which item is being printed, so we can remove them. If the item has no data, some description is still desired (eg. orphan or various backrefs). Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: print-tree: rename item callbacks to match the key nameDavid Sterba2017-09-08
| | | | Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: check: move fs roots check mode switch to a helperDavid Sterba2017-09-08
| | | | | | Simplify main a bit. Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: check: cleanup use of fs_info in check_fs_rootsDavid Sterba2017-09-08
| | | | Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: check: pass fs_info to check_fs_rootsDavid Sterba2017-09-08
| | | | | | The root pointer is not used anyway, will be cleaned up next. Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: check: move chunk and extent check mode switch to a helperDavid Sterba2017-09-08
| | | | | | Simplify main a bit. Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: check: pass fs_info to check_chunks_and_extents_v2David Sterba2017-09-08
| | | | | | The root pointer is set to fs_root as was originally. Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: check: use local fs_info in check_chunks_and_extentsDavid Sterba2017-09-08
| | | | Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: check: pass fs_info to check_chunks_and_extentsDavid Sterba2017-09-08
| | | | | | The root pointer is set to fs_root as was originally. Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: check: verify critical root pointers before useDavid Sterba2017-09-08
| | | | | | | The pointers to critical roots must be valid before we start using them, eg. as the space clearing code. Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: check: move more of space cache clearing to a helperDavid Sterba2017-09-08
| | | | | | Move the code out of main. Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: check: remove old mixed backref codeDavid Sterba2017-09-08
| | | | | | | A code added in 2009 (95d3f20b51e9b) for a very short-lived change in the format is no concern to us nowadays. Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: tests: add more sanitizer message patterns to log scannerDavid Sterba2017-09-08
| | | | Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: convert: don't print message when fs is not recognized, ext2David Sterba2017-09-08
| | | | | | | Bad magic error means it's not the desired filesystem so the error message is just noise. Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: tests: limit size of log dump from conver testsDavid Sterba2017-09-08
| | | | | | | The convert tests generate lots of log material, travis CI has limit 4MB so we don't see anything useful when a late test fails. Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: handle failed search in find_search_start betterDavid Sterba2017-09-08
| | | | | | | The warning can pop up frequently on a fuzzed image, the message seems to be enough. Add a more fitting error code too. Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: add more error handling to btrfs_free_block_groupDavid Sterba2017-09-08
| | | | | | | | As btrfs_update_block_group fails when the block group is not found in cache, we can exit btrfs_free_block_group, not much to rollback. The caller will also exit in turn. Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: tests: fix TEST_LOG=dump in convert testsDavid Sterba2017-09-08
| | | | | | | Test failure in convert tests with log dump does not happen because _fail is called before that and exits. Other test types are ok. Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: handle transaction start failure in close_ctreeDavid Sterba2017-09-08
| | | | | | | | | Closing the fs will try to commit a pending transaction, but may fail to do so if the filesystem state is not well defined. This will eg. fail for some fuzz tests. The data structures are freed but no furhter attempt to commit is made. Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: tests: update READMEDavid Sterba2017-09-08
| | | | | | Wording, runtime dependencies. Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: tests: install missing CI packagesDavid Sterba2017-09-08
| | | | Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: tests: add more checks for tools used in convert testsDavid Sterba2017-09-08
| | | | | | | Tools that may not be present in common installations should be checked in the tests. Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: tests: build preparation phases out of script sectionDavid Sterba2017-09-08
| | | | | | | The logs of before_install are folded and we don't need to see the details, unlike the test logs. Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: don't start or commit after transaction abortDavid Sterba2017-09-08
| | | | Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: start framework for transaction abortDavid Sterba2017-09-08
| | | | Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: store pointer to fs_info in transaction handleDavid Sterba2017-09-08
| | | | Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: move transaction code out of disk-ioDavid Sterba2017-09-08
| | | | | | Temporarily export the low-level helpers. Signed-off-by: David Sterba <dsterba@suse.com>
* btrfs-progs: move transaction implementation out of headerDavid Sterba2017-09-08
| | | | Signed-off-by: David Sterba <dsterba@suse.com>