Userspace utilities to manage btrfs filesystems
Go to file
Austin S. Hemmelgarn 1c36022fe7 btrfs-progs: fix fi du so it works in more cases
Currently, btrfs fi du uses open_file_or_dir(), which tries to open
it's argument with O_RDWR.  Because of POSIX semantics, this fails for
non-root users when the file is read-only or is an executable that
is being run currently, or for all users (including root) when the
filesystem is read-only.  This results in a somewhat confusing 'Unknown
error -1' message when trying to check such files.  Switch to using
open_file_or_dir3() with O_RDONLY passed in the flags, as this avoids
the limitations listed above, and we have no need to write to the files
anyway (and thus shouldn't be opening them writable).

Signed-off-by: Austin S. Hemmelgarn <ahferroin7@gmail.com>
Signed-off-by: David Sterba <dsterba@suse.com>
2016-03-30 16:22:53 +02:00
Documentation btrfs-progs: docs: man5, add space_cache=v2 2016-03-17 14:49:32 +01:00
tests btrfs-progs: tests: enumerate RWX in convert tests 2016-03-18 17:11:25 +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: build: fix static standalone utilities 2016-03-30 16:22:47 +02: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: 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: btrfs-debugfs: fetch block group information 2016-03-16 10:33:11 +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: utils: switch more error messages to common helpers 2016-03-14 14:38:16 +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: Introduce device delete by devid 2016-03-14 14:11:33 +01:00
cmds-fi-du.c btrfs-progs: fix fi du so it works in more cases 2016-03-30 16:22:53 +02: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: fix resource leak during device scanning 2016-03-15 10:28:14 +01:00
cmds-inspect-dump-super.c btrfs-progs: dump-super: add more long options 2016-03-15 16:41:06 +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: inspect subvolid-resolve: fix argument parsing 2016-03-18 14:14:03 +01:00
cmds-property.c btrfs-progs: fix a regression that "property" with -t option doesn't work 2016-03-16 10:19:42 +01:00
cmds-qgroup.c btrfs-progs: qgroup assign: handle --no-rescan option 2016-03-18 14:19:29 +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: subvol get-default: fix argument parsing 2016-03-18 14:10:12 +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
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: switch to common message helpers in open_ctree_fs_info 2016-03-18 16:38:14 +01:00
disk-io.h btrfs-progs: Add new option for specify chunk root bytenr 2016-03-14 13:42:47 +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
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
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
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
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: Introduce device delete by devid 2016-03-14 14:11:33 +01:00
kerncompat.h btrfs-progs: libbtrfs: remove max/min macros from API 2016-03-14 13:42:47 +01:00
library-test.c
list.h
list_sort.c
list_sort.h
mkfs.c btrfs-progs: mkfs: also parse raid0 profile case-insensitive 2016-03-16 17:41:16 +01:00
print-tree.c btrfs-progs: print-tree: show the compression method string 2016-03-14 13:42:47 +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
radix-tree.h
raid6.c
random-test.c
rbtree-utils.c
rbtree-utils.h
rbtree.c
rbtree.h btrfs-progs: Import interval tree implemenation from Linux v4.0-rc7. 2016-02-26 17:27:58 +01:00
rbtree_augmented.h btrfs-progs: Import interval tree implemenation from Linux v4.0-rc7. 2016-02-26 17:27:58 +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
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: utils: switch more error messages to common helpers 2016-03-14 14:38:16 +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.5 2016-03-20 23:59:05 +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

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