Userspace utilities to manage btrfs filesystems
Go to file
Michael Lass 28f9f620f3 btrfs-progs: mkfs: increase buffer size in is_ssd
In current versions of util-linux the buffer passed to blkid_devno_to_wholedisk
has to be sufficiently large to not only hold the device name but the complete
target of the /sys/dev/block/<maj:min> symlink. This was changed only recently
in 4419ffb9eff5801fdbd385a4a6199b3877f802ad.

The small buffer size currently can lead to failure of is_ssd due to truncated
device names:

readlink("/sys/dev/block/254:7", "../../devices/virtual/block/dm-", 31) = 31
open("/sys/block/dm-/queue/rotational", O_RDONLY) = -1 ENOENT (No such file or directory)

Signed-off-by: Michael Lass <bevan@bi-co.net>
Signed-off-by: David Sterba <dsterba@suse.com>
2015-11-16 14:23:44 +01:00
Documentation btrfs-progs: show-super: Add option to print superblock at given bytenr 2015-11-02 15:45:52 +01:00
tests btrfs-progs: tests: add 011-delete-missing-device 2015-11-16 14:23:44 +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
COPYING
INSTALL btrfs-progs: INSTALL: enhance build instructions 2015-09-07 11:46:32 +02:00
Makefile.extrawarn btrfs-progs: build: allow to build with various compiler warnings 2015-10-21 14:29:26 +02:00
Makefile.in btrfs-progs: tests: add test driver for fuzzed images 2015-11-02 09:35:07 +01:00
README.md btrfs-progs: add an initial README 2015-11-02 15:10:13 +01: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: mute coverity warnings about deadcode 2015-11-02 09:35:05 +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: calc-size: kill fs_roots structure and its user 2015-11-13 18:24:34 +01:00
btrfs-completion btrfs-progs: inspect: add command min-dev-size 2015-08-31 19:25:08 +02:00
btrfs-convert.c btrfs-progs: simplify empty stirngs check 2015-11-06 16:53:55 +01:00
btrfs-corrupt-block.c btrfs-progs: corrupt-block: use on-stack path buffer in corrupt_dir_item 2015-11-13 18:24:34 +01:00
btrfs-crc.c
btrfs-debug-tree.c btrfs-progs: Add all missing btrfs_close_all_devices to standalone tools 2015-11-02 09:35:08 +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 all missing btrfs_close_all_devices to standalone tools 2015-11-02 09:35:08 +01:00
btrfs-fragments.c btrfs-progs: fragments: use btrfs_open_dir for btrfs-fragments command 2015-11-02 09:35:02 +01:00
btrfs-image.c btrfs-progs: image: reorder initialization in metadump_init 2015-11-16 14:23:44 +01:00
btrfs-list.c btrfs-progs: use calloc instead of malloc+memset 2015-10-21 14:29:26 +02: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: Add all missing btrfs_close_all_devices to standalone tools 2015-11-02 09:35:08 +01:00
btrfs-select-super.c btrfs-progs: Add missing close_ctree to btrfs-select-super.c 2015-11-02 09:35:08 +01:00
btrfs-show-super.c btrfs-progs: show-super: Add option to print superblock at given bytenr 2015-11-02 15:45:52 +01:00
btrfs-zero-log.c btrfs-progs: cleanup and deprecate btrfs-zero-log 2015-06-05 18:02:08 +02:00
btrfs.c btrfs-progs: Avoid use pointer in handle_options 2015-11-02 15:10:14 +01:00
btrfsck.h btrfs-progs: add missing includes to header files 2015-06-10 02:52:21 +02:00
btrfstune.c btrfs-progs: Add all missing btrfs_close_all_devices to standalone tools 2015-11-02 09:35:08 +01:00
chunk-recover.c btrfs-progs: use on-stack buffer in recover_prepare 2015-11-13 18:24:34 +01:00
cmds-balance.c btrfs-progs: add helpers to print ranges 2015-11-02 09:35:04 +01:00
cmds-check.c btrfs-progs: don't print version info from embedded subcommands 2015-11-06 17:00:36 +01:00
cmds-device.c btrfs-progs: allow device deletion using 'missing' keyword again 2015-11-16 14:23:44 +01:00
cmds-fi-usage.c btrfs-progs: utils: rename helpinfo unit vairables 2015-11-06 16:39:49 +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: use on-stack buffer for dev_to_fsid 2015-11-13 18:24:17 +01:00
cmds-inspect.c btrfs-progs: use on-stack buffer in __ino_to_path_fd 2015-11-13 18:24:34 +01:00
cmds-property.c btrfs-progs: prop: use macro terminator for command list 2015-08-31 19:25:09 +02:00
cmds-qgroup.c btrfs-progs: utils: rename helpinfo unit vairables 2015-11-06 16:39:49 +01:00
cmds-quota.c btrfs-progs: quota: use btrfs_open_dir for btrfs quota command 2015-11-02 09:35:01 +01:00
cmds-receive.c btrfs-progs: simplify empty stirngs check 2015-11-06 16:53:55 +01:00
cmds-replace.c btrfs-progs: Remove all btrfs_close_all_devices in sub-command 2015-11-02 09:35:07 +01:00
cmds-rescue.c btrfs-progs: cleanup, mark more functions static 2015-09-14 23:45:53 +02:00
cmds-restore.c btrfs-progs: restore: fix off-by-one len check 2015-10-16 19:37:44 +02:00
cmds-scrub.c btrfs-progs: use btrfs_open_dir in open_path_or_dev_mnt 2015-11-02 09:35:01 +01:00
cmds-send.c btrfs-progs: add newline to some error messages 2015-08-31 19:25:13 +02:00
cmds-subvolume.c btrfs-progs: subvolume: use btrfs_open_dir for btrfs subvolume command 2015-11-02 09:35:00 +01:00
commands.h btrfs-progs: alias btrfs device delete to btrfs device remove 2015-06-26 16:33:39 +02:00
configure.ac btrfs-progs: configure: fix typo in summary 2015-06-22 01:13:48 +02:00
crc32c.c
crc32c.h
ctree.c btrfs-progs: Allow btrfs_leaf_free_space to accept NULL root 2015-11-05 13:40:44 +01:00
ctree.h btrfs-progs: Avoid uninitialized data in output of btrfs-convert 2015-09-09 17:43:05 +02: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: use on-stack buffer in __csum_tree_block_size 2015-11-13 18:24:34 +01:00
disk-io.h btrfs-progs: export read_extent_data function 2015-06-17 16:08:35 +02:00
extent-cache.c btrfs-progs: Add last_cache_extent() for extent-cache. 2014-12-10 11:54:10 +01:00
extent-cache.h btrfs-progs: unify header file inclusion protections 2015-01-21 17:49:26 +01:00
extent-tree.c btrfs-progs: use system's default path for math.h 2015-11-02 09:35:08 +01:00
extent_io.c btrfs-progs: use calloc instead of malloc+memset 2015-10-21 14:29:26 +02:00
extent_io.h btrfs-progs: Move (set/clear_)extent_buffer_uptodate() to extent_io.h. 2015-02-27 17:44:11 +01:00
file-item.c
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: fix a bug that will cause wrong result 2015-08-31 19:25:13 +02:00
find-root.h btrfs-progs: Add new find-root.[ch] infrastructure 2015-02-11 18:34:04 +01:00
free-space-cache.c btrfs-progs: add newline to some error messages 2015-08-31 19:25:13 +02:00
free-space-cache.h btrfs-progs: add missing includes to header files 2015-06-10 02:52:21 +02: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: no extra newline between aliased commands in help text 2015-06-26 16:44:29 +02: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: Fix uninitialized key.type for btrfs_find_free_objectid 2015-11-02 15:10:14 +01:00
inode.c btrfs-progs: handle orphan creation error in btrfs_unlink 2015-01-06 18:46:03 +01:00
ioctl-test.c
ioctl.h btrfs-progs: add missing includes to header files 2015-06-10 02:52:21 +02:00
kerncompat.h btrfs-progs: compilation errors when using musl libc 2015-08-31 19:25:11 +02:00
library-test.c btrfs-progs: build, add basic build test for library 2014-11-07 17:52:57 +01:00
list.h
list_sort.c
list_sort.h
mkfs.c btrfs-progs: mkfs: increase buffer size in is_ssd 2015-11-16 14:23:44 +01:00
print-tree.c btrfs-progs: print-tree: Output stripe dev uuid 2015-11-03 13:11:14 +01:00
print-tree.h btrfs-progs: unify header file inclusion protections 2015-01-21 17:49:26 +01:00
props.c btrfs-progs: Introduce change_header_uuid function 2015-05-14 15:41:07 +02:00
props.h btrfs-progs: unify header file inclusion protections 2015-01-21 17:49:26 +01:00
qgroup-verify.c btrfs-progs: read_tree_block() and read_node_slot() cleanup. 2015-02-02 19:21:24 +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: fix memory leak in cmd_qgroup_show() 2015-11-02 09:35:03 +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-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: libbtrfs, make exported headers compatible with C++ 2014-11-03 23:50:50 +01:00
rbtree_augmented.h btrfs-progs: libbtrfs, make exported headers compatible with C++ 2014-11-03 23:50:50 +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: drop feature defines from C files, in favour of CFLAGS defines 2015-01-27 14:45:59 +01:00
send-utils.c btrfs-progs: drop argument from attribute deprecated 2015-06-30 15:05:07 +02: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: simplify empty stirngs check 2015-11-06 16:53: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: tasks info->id is a pthread_t and should not set to -1 2015-10-02 17:56:08 +02: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: mkfs: handler memory allocation error in make_btrfs 2015-11-16 14:23:44 +01:00
utils.h btrfs-progs: utils: rename helpinfo unit vairables 2015-11-06 16:39:49 +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.3 2015-11-06 12:07:54 +01:00
volumes.c btrfs-progs: use on-stack buffer for btrfs_scan_one_device 2015-11-13 18:24:30 +01:00
volumes.h btrfs-progs: fix cross stripe boundary check 2015-09-11 16:46:14 +02:00

README.md

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