Userspace utilities to manage btrfs filesystems
Go to file
Yauhen Kharuzhy 3ee935e4dd btrfs-progs: Dont' stop scanning of devices at first failed device
When 'btrfs device scan' command is invoked, it scans all devices,
check them for btrfs superblock and add devices with btrfs to a list.

Next, each device from the list is passed to kernel where it is handled
in the btrfs_scan_one_device() function. This function can, for example,
return -EBUSY when device contains superblock matched to existing and
mounted filesystem (if this device was pulled out from RAID and
connected again after some time).

btrfs tool stops device scan if any device has been failed to add, so
other existing devices with (possibly) valid FS will never be reached.

Fix this by remove stopping at any failure in the btrfs_register_all_devices(),
just return error count. btrfs_scan_one_device() reports any kind of
error already.

Signed-off-by: Yauhen Kharuzhy <yauhen.kharuzhy@zavadatar.com>
[ initialize err to 0 ]
Signed-off-by: David Sterba <dsterba@suse.com>
2016-03-14 13:42:47 +01:00
Documentation btrfs-progs: remove btrfs-debug-tree manual page and point to inspect-internal 2016-03-14 13:42:47 +01:00
tests btrfs-progs: tests: add image for bko#96971 (bad checksum type) 2016-03-14 13:42:47 +01:00
.gitignore btrfs-progs: docs: add html build target 2015-11-02 09:35:00 +01:00
Android.mk btrfs-progs: Add Android build mk file 2015-09-01 14:02:49 +02:00
androidcompat.h btrfs-progs: add compat header for android 2015-09-01 14:02:49 +02:00
autogen.sh btrfs-progs: autogen: add check for pkg-config 2015-09-07 11:09:17 +02:00
backref.c btrfs-progs: libbtrfs: remove max/min macros from API 2016-03-14 13:42:47 +01:00
backref.h btrfs-progs: unify header file inclusion protections 2015-01-21 17:49:26 +01:00
bcp
bitops.h btrfs-progs: compat: define DIV_ROUND_UP if not already defined 2015-06-05 23:29:59 +02:00
btrfs-calc-size.c btrfs-progs: unify argc min/max checking 2016-03-14 13:42:47 +01:00
btrfs-completion btrfs-progs: update docs for inspect-internal dump-super 2016-03-14 13:42:47 +01:00
btrfs-convert.c btrfs-progs: unify argc min/max checking 2016-03-14 13:42:47 +01:00
btrfs-corrupt-block.c btrfs-progs: unify argc min/max checking 2016-03-14 13:42:47 +01:00
btrfs-crc.c
btrfs-debug-tree.c btrfs-progs: unify naming of argc and argv 2016-03-14 13:42:47 +01:00
btrfs-debugfs btrfs-progs: Add simple python front end to the search ioctl 2014-12-04 17:03:49 +01:00
btrfs-find-root.c btrfs-progs: Add new option for specify chunk root bytenr 2016-03-14 13:42:47 +01:00
btrfs-fragments.c btrfs-progs: unify argc min/max checking 2016-03-14 13:42:47 +01:00
btrfs-image.c btrfs-progs: Add new option for specify chunk root bytenr 2016-03-14 13:42:47 +01:00
btrfs-list.c btrfs-progs: check for negative return value from ioctl 2016-01-12 15:02:55 +01:00
btrfs-list.h btrfs-progs: add missing includes to header files 2015-06-10 02:52:21 +02:00
btrfs-map-logical.c btrfs-progs: unify argc min/max checking 2016-03-14 13:42:47 +01:00
btrfs-select-super.c btrfs-progs: unify argc min/max checking 2016-03-14 13:42:47 +01:00
btrfs-show-super.c btrfs-progs: introduce inspect-internal dump-super 2016-03-14 13:42:47 +01:00
btrfs-zero-log.c btrfs-progs: unify argc min/max checking 2016-03-14 13:42:47 +01:00
btrfs.c btrfs-progs: move prefixcmp to utils 2016-01-14 11:07:10 +01:00
btrfsck.h btrfs-progs: chunk-recovery: Fix a float point error 2015-11-19 18:34:30 +01:00
btrfstune.c btrfs-progs: unify argc min/max checking 2016-03-14 13:42:47 +01:00
chunk-recover.c btrfs-progs: fix endian bugs in chunk rebuilding 2016-01-12 15:01:05 +01:00
cmds-balance.c btrfs-progs: add getopt stubs where needed 2016-03-14 13:42:47 +01:00
cmds-check.c btrfs-progs: check: unify naming of long option values 2016-03-14 13:42:47 +01:00
cmds-device.c btrfs-progs: Dont' stop scanning of devices at first failed device 2016-03-14 13:42:47 +01:00
cmds-fi-du.c btrfs-progs: switch more error messages to common helpers 2016-03-14 13:42:47 +01:00
cmds-fi-du.h btrfs-progs: filesystem: add 'du' command 2016-03-14 13:42:47 +01:00
cmds-fi-usage.c btrfs-progs: fi usage: support mixed blockgroups 2016-01-13 16:43:13 +01:00
cmds-fi-usage.h btrfs-progs: add missing includes to header files 2015-06-10 02:52:21 +02:00
cmds-filesystem.c btrfs-progs: Add new option for specify chunk root bytenr 2016-03-14 13:42:47 +01:00
cmds-inspect-dump-super.c btrfs-progs: switch more error messages to common helpers 2016-03-14 13:42:47 +01:00
cmds-inspect-dump-super.h btrfs-progs: unify naming of argc and argv 2016-03-14 13:42:47 +01:00
cmds-inspect-dump-tree.c btrfs-progs: dump-tree: let --tree understand name of the tree 2016-03-14 13:42:47 +01:00
cmds-inspect-dump-tree.h btrfs-progs: unify naming of argc and argv 2016-03-14 13:42:47 +01:00
cmds-inspect.c btrfs-progs: switch more error messages to common helpers 2016-03-14 13:42:47 +01:00
cmds-property.c btrfs-progs: add getopt stubs where needed 2016-03-14 13:42:47 +01:00
cmds-qgroup.c btrfs-progs: rename commandline helpers 2016-03-14 13:42:47 +01:00
cmds-quota.c btrfs-progs: add getopt stubs where needed 2016-03-14 13:42:47 +01:00
cmds-receive.c btrfs-progs: receive: don't leak open find handle 2016-01-14 11:07:10 +01:00
cmds-replace.c btrfs-progs: check for negative return value from ioctl 2016-01-12 15:02:55 +01:00
cmds-rescue.c btrfs-progs: unify argc min/max checking, a few more 2016-03-14 13:42:47 +01:00
cmds-restore.c btrfs-progs: Replace hardcoded PAGE_CACHE_SIZE with sectorsize. 2016-03-14 13:42:47 +01:00
cmds-scrub.c btrfs-progs: add getopt stubs where needed 2016-03-14 13:42:47 +01:00
cmds-send.c btrfs-progs: describe btrfs-send requires read-only subvolume 2016-02-04 15:19:32 +01:00
cmds-subvolume.c btrfs-progs: add getopt stubs where needed 2016-03-14 13:42:47 +01:00
commands.h btrfs-progs: let test_issubvolume return the exact error 2016-01-14 11:07:10 +01:00
configure.ac btrfs-progs: Use AC_CHECK_TOOL to find AR 2016-01-14 11:46:59 +01:00
COPYING
crc32c.c
crc32c.h
ctree.c btrfs-progs: libbtrfs: remove max/min macros from API 2016-03-14 13:42:47 +01:00
ctree.h btrfs-progs: Allow open_ctree to return fs_info even chunk tree is corrupted 2016-02-26 17:27:58 +01:00
dir-item.c btrfs-progs: cleanup, mark more functions static 2015-09-14 23:45:53 +02:00
dir-test.c
disk-io.c btrfs-progs: Add new option for specify chunk root bytenr 2016-03-14 13:42:47 +01:00
disk-io.h btrfs-progs: Add new option for specify chunk root bytenr 2016-03-14 13:42:47 +01:00
extent_io.c btrfs-progs: libbtrfs: remove max/min macros from API 2016-03-14 13:42:47 +01:00
extent_io.h btrfs-progs: check the free space tree in btrfsck 2016-01-12 15:02:54 +01:00
extent-cache.c btrfs-progs: extent-tree: Add add_merge_cache_extent function 2016-01-12 15:01:03 +01:00
extent-cache.h btrfs-progs: extent-tree: Add add_merge_cache_extent function 2016-01-12 15:01:03 +01:00
extent-tree.c btrfs-progs: Add support for tree block operations on fs_info without roots 2016-02-26 17:27:58 +01:00
file-item.c btrfs-progs: libbtrfs: remove max/min macros from API 2016-03-14 13:42:47 +01:00
file.c btrfs-progs: Add btrfs_get_extent() and btrfs_punch_hole(). 2015-02-02 14:16:38 +01:00
find-root.c btrfs-progs: find-root: Allow btrfs-find-root to search chunk root even chunk root is corrupted 2016-02-26 17:27:58 +01:00
find-root.h btrfs-progs: find-root: Allow btrfs-find-root to search chunk root even chunk root is corrupted 2016-02-26 17:27:58 +01:00
free-space-cache.c btrfs-progs: libbtrfs: remove max/min macros from API 2016-03-14 13:42:47 +01:00
free-space-cache.h btrfs-progs: check the free space tree in btrfsck 2016-01-12 15:02:54 +01:00
free-space-tree.c btrfs-progs: free-space-tree: minor message adjustments 2016-01-12 15:02:55 +01:00
free-space-tree.h btrfs-progs: check the free space tree in btrfsck 2016-01-12 15:02:54 +01:00
fsck.btrfs btrfs-progs: fsck.btrfs: Fix bashism and bad getopts processing 2015-05-21 16:53:44 +02:00
hash.h btrfs-progs: unify header file inclusion protections 2015-01-21 17:49:26 +01:00
hasher.c
help.c btrfs-progs: move prefixcmp to utils 2016-01-14 11:07:10 +01:00
inode-item.c btrfs-progs: fix overflow check in btrfs_insert_inode_ref 2014-12-30 15:48:55 +01:00
inode-map.c btrfs-progs: libbtrfs: remove max/min macros from API 2016-03-14 13:42:47 +01:00
inode.c btrfs-progs: handle orphan creation error in btrfs_unlink 2015-01-06 18:46:03 +01:00
INSTALL btrfs-progs: INSTALL: enhance build instructions 2015-09-07 11:46:32 +02:00
internal.h btrfs-progs: libbtrfs: remove max/min macros from API 2016-03-14 13:42:47 +01:00
interval_tree_generic.h btrfs-progs: Import interval tree implemenation from Linux v4.0-rc7. 2016-02-26 17:27:58 +01:00
ioctl-test.c
ioctl.h btrfs-progs: extend balance args to take min/max usage filter 2016-01-12 15:01:04 +01:00
kerncompat.h btrfs-progs: libbtrfs: remove max/min macros from API 2016-03-14 13:42:47 +01:00
library-test.c btrfs-progs: build, add basic build test for library 2014-11-07 17:52:57 +01:00
list_sort.c
list_sort.h
list.h
Makefile.extrawarn btrfs-progs: build: allow to build with various compiler warnings 2015-10-21 14:29:26 +02:00
Makefile.in btrfs-progs: filesystem: add 'du' command 2016-03-14 13:42:47 +01:00
mkfs.c btrfs-progs: unify naming of argc and argv 2016-03-14 13:42:47 +01:00
print-tree.c btrfs-progs: add basic awareness of the free space tree 2016-01-12 15:02:54 +01:00
print-tree.h btrfs-progs: unify header file inclusion protections 2015-01-21 17:49:26 +01:00
props.c btrfs-progs: use NULL instead of 0 2016-01-12 15:01:05 +01:00
props.h btrfs-progs: unify header file inclusion protections 2015-01-21 17:49:26 +01:00
qgroup-verify.c btrfs-progs: fix using on-disk structure to store in memory data 2016-01-12 15:01:05 +01:00
qgroup-verify.h btrfs-progs: add missing includes to header files 2015-06-10 02:52:21 +02:00
qgroup.c btrfs-progs: remove unnecessary errno temp variables 2016-01-12 15:02:55 +01:00
qgroup.h btrfs-progs: add missing includes to header files 2015-06-10 02:52:21 +02:00
quick-test.c btrfs-progs: use calloc instead of malloc+memset 2015-10-21 14:29:26 +02:00
radix-tree.c btrfs-progs: Remove a unused function root_gtp_mask(). 2014-12-19 15:04:56 +01:00
radix-tree.h
raid6.c
random-test.c
rbtree_augmented.h btrfs-progs: Import interval tree implemenation from Linux v4.0-rc7. 2016-02-26 17:27:58 +01:00
rbtree-utils.c
rbtree-utils.h btrfs-progs: libbtrfs, make exported headers compatible with C++ 2014-11-03 23:50:50 +01:00
rbtree.c Btrfs-progs: update rbtree libs 2014-10-14 10:39:40 +02:00
rbtree.h btrfs-progs: Import interval tree implemenation from Linux v4.0-rc7. 2016-02-26 17:27:58 +01:00
README.md btrfs-progs: add an initial README 2015-11-02 15:10:13 +01:00
repair.c
repair.h btrfs-progs: add missing includes to header files 2015-06-10 02:52:21 +02:00
root-tree.c
send-stream.c btrfs-progs: fix compiler warning 2014-11-07 18:14:38 +01:00
send-stream.h btrfs-progs: add missing includes to header files 2015-06-10 02:52:21 +02:00
send-test.c btrfs-progs: check for negative return value from ioctl 2016-01-12 15:02:55 +01:00
send-utils.c btrfs-progs: check for negative return value from ioctl 2016-01-12 15:02:55 +01:00
send-utils.h btrfs-progs: drop argument from attribute deprecated 2015-06-30 15:05:07 +02:00
send.h btrfs-progs: unify header file inclusion protections 2015-01-21 17:49:26 +01:00
show-blocks
string-table.c btrfs-progs: add function attributes for the printf-like 2016-01-12 15:02:55 +01:00
string-table.h btrfs-progs: string table: fix whitespace damage 2015-11-03 00:55:20 +01:00
super-recover.c Btrfs-progs: skip opening all devices with restore 2015-02-09 14:53:15 -05:00
task-utils.c btrfs-progs: Check periodic.timer_fd's value before use 2015-11-16 14:23:45 +01:00
task-utils.h btrfs-progs: unify header file inclusion protections 2015-01-21 17:49:26 +01:00
transaction.h btrfs-progs: add missing includes to header files 2015-06-10 02:52:21 +02:00
ulist.c
ulist.h btrfs-progs: unify header file inclusion protections 2015-01-21 17:49:26 +01:00
utils-lib.c btrfs-progs: drop feature defines from C files, in favour of CFLAGS defines 2015-01-27 14:45:59 +01:00
utils.c btrfs-progs: Dont' stop scanning of devices at first failed device 2016-03-14 13:42:47 +01:00
utils.h btrfs-progs: libbtrfs: remove max/min macros from API 2016-03-14 13:42:47 +01:00
uuid-tree.c
version.h.in btrfs-progs: re-introduce BTRFS_BUILD_VERSION in version.h 2015-03-16 18:40:06 +01:00
version.sh Btrfs progs v4.4.1 2016-02-26 18:22:09 +01:00
volumes.c btrfs-progs: don't print message for a missing device 2016-03-14 13:42:47 +01:00
volumes.h btrfs-progs: extend balance args to take min/max usage filter 2016-01-12 15:01:04 +01:00

Btrfs-progs

Userspace utilities to manage btrfs filesystems. License: GPLv2.

Btrfs is a copy on write (COW) filesystem for Linux aimed at implementing advanced features while focusing on fault tolerance, repair and easy administration.

This repository hosts following utilities:

  • btrfs — the main administration tool (manual page)
  • mkfs.btrfs — utility to create the filesystem (manual page)

See INSTALL for build instructions.

Release cycle

The major version releases are time-based and follow the cycle of the linux kernel releases. The cycle usually takes 2 months. A minor version releases may happen in the meantime if there are queued bug fixes or minor useful improvements.

Development

The patch submissions, development or general discussions take place at linux-btrfs@vger.kernel.org mailinglist, subsciption not required.

References