Development of userspace BTRFS tools
Find a file
Qu Wenruo 522ef705e3 btrfs-progs: convert: Introduce function to calculate the available space
Introduce a new function, calculate_available_space() to get available
space cache_tree data_chunks cache_tree.

Unlike old implementation, this function will do the new work:

1) batch used ext* data space.
   To ensure data chunks will recovery them all.
   And restore the result into mkfs_cfg->convert_data_chunks for later
   use.

2) avoid SB and reserved space at chunk level
   Both batched data space or free space will not cover reserved space,
   like SB or the first 1M.

Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com>
Signed-off-by: David Sterba <dsterba@suse.com>
2016-06-07 18:15:19 +02:00
Documentation btrfs-progs: doc: fix typo in btrfs-subvolume 2016-06-01 14:56:56 +02:00
tests btrfs-progs: tests: 004-ext2-backup-superblock-ranges, use common helpers for image loop 2016-06-03 17:08:43 +02:00
.gitignore btrfs-progs: btrfs-crc should be ignored by git 2016-06-03 14:49:42 +02:00
64-btrfs-dm.rules btrfs-progs: udev: add rules for dm devices 2016-06-01 14:56:56 +02: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: Don't show success message on fail 2016-06-01 14:56:56 +02:00
backref.c btrfs-progs: typo review of strings and comments 2016-06-01 14:56:56 +02:00
backref.h btrfs-progs: unify header file inclusion protections 2015-01-21 17:49:26 +01:00
bcp Btrfs-progs: Correct path munging in bcp 2011-10-25 09:18:58 -04:00
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: copy btrfs-calc-size to inspect-internal tree-stats 2016-05-02 14:39:53 +02:00
btrfs-completion btrfs-progs: update docs and completion for tree-stats 2016-05-02 14:39:57 +02:00
btrfs-convert.c btrfs-progs: convert: Introduce function to calculate the available space 2016-06-07 18:15:19 +02:00
btrfs-corrupt-block.c btrfs-progs: Use new random number API 2016-06-03 14:49:42 +02:00
btrfs-crc.c btrfs-progs: btrfs-crc: make argc check more strict 2016-06-03 14:49:43 +02:00
btrfs-debug-tree.c btrfs-progs: unify naming of argc and argv 2016-03-14 13:42:47 +01:00
btrfs-debugfs btrfs-progs: typo review of strings and comments 2016-06-01 14:56:56 +02: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: use ioctl search headers everywhere 2016-05-11 15:53:16 +02:00
btrfs-image.c btrfs-progs: Use new random number API 2016-06-03 14:49:42 +02:00
btrfs-list.c btrfs-progs: typo review of strings and comments 2016-06-01 14:56:56 +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: replace leafsize with nodesize 2016-05-02 14:40:18 +02: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
CHANGES btrfs-progs: typo review of strings and comments 2016-06-01 14:56:56 +02:00
chunk-recover.c btrfs-progs: typo review of strings and comments 2016-06-01 14:56:56 +02:00
cmds-balance.c btrfs-progs: typo review of strings and comments 2016-06-01 14:56:56 +02:00
cmds-check.c btrfs-progs: typo review of strings and comments 2016-06-01 14:56:56 +02:00
cmds-device.c btrfs-progs: handle memory allocation error in cmd_device_stats 2016-05-02 15:03:24 +02:00
cmds-fi-du.c btrfs-progs: typo review of strings and comments 2016-06-01 14:56:56 +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: device usage: report slack space 2016-06-01 14:56:56 +02: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: Check if the FSID was seen by comparing full UUID 2016-05-02 14:42:04 +02: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: deprecate and stop using btrfs_level_size 2016-05-02 14:40:23 +02:00
cmds-inspect-dump-tree.h btrfs-progs: unify naming of argc and argv 2016-03-14 13:42:47 +01:00
cmds-inspect-tree-stats.c btrfs-progs: typo review of strings and comments 2016-06-01 14:56:56 +02:00
cmds-inspect-tree-stats.h btrfs-progs: copy btrfs-calc-size to inspect-internal tree-stats 2016-05-02 14:39:53 +02:00
cmds-inspect.c btrfs-progs: typo review of strings and comments 2016-06-01 14:56:56 +02:00
cmds-property.c btrfs-progs: prop: remove conditions which never be satisfied 2016-05-11 16:43:42 +02: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: typo review of strings and comments 2016-06-01 14:56:56 +02: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 leafsize with nodesize 2016-05-02 14:40:18 +02:00
cmds-scrub.c btrfs-progs: typo review of strings and comments 2016-06-01 14:56:56 +02:00
cmds-send.c btrfs-progs: send: add quiet option 2016-06-01 14:56:56 +02:00
cmds-subvolume.c btrfs-progs: subvolume sync: fix handling of -s option 2016-05-11 16:37:12 +02:00
commands.h btrfs-progs: clean up commands.h 2016-06-01 14:56:56 +02:00
configure.ac btrfs-progs: convert: add compatibility layer for e2fsprogs < 1.42 2016-06-07 18:15:19 +02:00
COPYING fix COPYING 2007-06-12 15:41:08 -04:00
crc32c.c btrfs-progs: make many private symbols static 2013-09-03 19:41:08 +02:00
crc32c.h btrfs-progs: libify some parts of btrfs-progs 2013-02-27 15:24:25 +01:00
ctree.c btrfs-progs: Return earlier for previous item 2016-06-01 14:56:56 +02:00
ctree.h btrfs-progs: typo review of strings and comments 2016-06-01 14:56:56 +02:00
dir-item.c btrfs-progs: typo review of strings and comments 2016-06-01 14:56:56 +02:00
dir-test.c Btrfs-progs: fix magic return value in dir-test.c 2013-10-16 08:20:42 -04:00
disk-io.c btrfs-progs: drop O_CREATE from open_ctree_fs_info 2016-06-01 14:56:56 +02:00
disk-io.h btrfs-progs: typo review of strings and comments 2016-06-01 14:56:56 +02: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: typo review of strings and comments 2016-06-01 14:56:56 +02:00
extent-tree.c btrfs-progs: deprecate and stop using btrfs_level_size 2016-05-02 14:40:23 +02:00
extent_io.c btrfs-progs: replace leafsize with nodesize 2016-05-02 14:40:18 +02: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: typo review of strings and comments 2016-06-01 14:56:56 +02:00
find-root.c btrfs-progs: replace leafsize with nodesize 2016-05-02 14:40:18 +02: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 Unaligned access fixes 2008-02-15 11:19:58 -05:00
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: typo review of strings and comments 2016-06-01 14:56:56 +02: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 btrfs-progs: mark static & remove unused from non-kernel code 2013-09-03 19:40:54 +02:00
ioctl.h btrfs-progs: typo review of strings and comments 2016-06-01 14:56:56 +02:00
kerncompat.h btrfs-progs: fix type mismatch in backtrace dumping functions 2016-06-01 14:56:56 +02:00
library-test.c btrfs-progs: build, add basic build test for library 2014-11-07 17:52:57 +01:00
list.h Btrfs-progs: introduce list_{first, next}_entry/list_splice_tail{_init} 2013-07-03 14:06:55 -04:00
list_sort.c btrfs-progs: typo review of strings and comments 2016-06-01 14:56:56 +02:00
list_sort.h btrfs-progs: add list_sort and use it to sort devices by id 2013-10-16 08:22:26 -04: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: makefile: add target for testing installation 2016-06-01 14:56:56 +02:00
mkfs.c btrfs-progs: typo review of strings and comments 2016-06-01 14:56:56 +02:00
print-tree.c btrfs-progs: deprecate and stop using btrfs_level_size 2016-05-02 14:40:23 +02:00
print-tree.h btrfs-progs: unify header file inclusion protections 2015-01-21 17:49:26 +01:00
props.c btrfs-progs: prop: convert error messages to use error() 2016-05-11 16:37:12 +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 qgroup status for qgroup verify 2016-05-02 14:44:33 +02:00
qgroup-verify.h btrfs-progs: Fix return value bug of qgroups check 2016-05-02 14:42:28 +02:00
qgroup.c btrfs-progs: use ioctl search headers everywhere 2016-05-11 15:53:16 +02: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 btrfs-progs: libify some parts of btrfs-progs 2013-02-27 15:24:25 +01:00
raid6.c btrfs-progs: give raid6.c its exported prototypes 2013-09-03 19:41:11 +02:00
random-test.c Btrfs-progs: fix magic return value in random-test.c 2013-10-16 08:20:42 -04:00
rbtree-utils.c Btrfs-progs: break out rbtree util functions 2014-10-14 10:39:39 +02:00
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
rbtree_augmented.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 Btrfs-progs: introduce common insert/search/delete functions for rb-tree 2013-07-03 14:06:54 -04:00
repair.h btrfs-progs: add missing includes to header files 2015-06-10 02:52:21 +02:00
root-tree.c Btrfs-progs: free path if we don't find root item 2014-03-21 06:23:32 -07:00
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: typo review of strings and comments 2016-06-01 14:56:56 +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 btrfs-progs: typo review of strings and comments 2016-06-01 14:56:56 +02:00
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: typo review of strings and comments 2016-06-01 14:56:56 +02: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 btrfs-progs: typo review of strings and comments 2016-06-01 14:56:56 +02:00
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: Introduce new pseudo random API 2016-06-01 16:43:25 +02:00
utils.h btrfs-progs: use wider int type in btrfs_min_global_blk_rsv_size 2016-06-03 14:49:42 +02:00
uuid-tree.c btrfs-progs: use ioctl search headers everywhere 2016-05-11 15:53:16 +02:00
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.3 2016-05-11 16:40:33 +02:00
volumes.c btrfs-progs: typo review of strings and comments 2016-06-01 14:56:56 +02: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