Userspace utilities to manage btrfs filesystems
Go to file
David Sterba 4b7656f3bf btrfs-progs: add options to set commit mode after subvol delete
Subvolume deletion does not do a full transaction commit. This can lead
to an unexpected result when the system crashes between deletion and
commit, the subvolume directory will appear again. Add options to request
filesystem sync after each deleted subvolume or after the last one.

If the command with --commit option finishes succesfully, the
subvolume(s) deletion status is safely stored on the media.

Userspace approach is more flexible than in-kernel. Related discussions:
http://www.spinics.net/lists/linux-btrfs/msg22088.html
http://www.spinics.net/lists/linux-btrfs/msg27240.html

CC: Alex Lyakas <alex.btrfs@zadarastorage.com>
Signed-off-by: David Sterba <dsterba@suse.cz>
Signed-off-by: Chris Mason <clm@fb.com>
2014-01-31 08:22:20 -08:00
man btrfs-progs: add options to set commit mode after subvol delete 2014-01-31 08:22:20 -08:00
tests Btrfs-progs: add a test image for the transid fixer in btrfsck 2013-10-16 08:23:12 -04:00
.gitignore btrfs-progs: get C=1 sparse checking working again 2013-09-03 19:41:12 +02:00
bcp Btrfs-progs: Correct path munging in bcp 2011-10-25 09:18:58 -04:00
bitops.h Btrfs-progs: add a free space cache checker to fsck V2 2013-04-23 18:56:21 +02:00
btrfs-calc-size.c btrfs-progs: free leaked roots in calc-size 2013-10-16 08:23:13 -04:00
btrfs-convert.c btrfs-progs: use stripe_len define here 2014-01-31 08:22:19 -08:00
btrfs-corrupt-block.c Btrfs-progs: deal with invalid key orderings and bad orphan items V2 2014-01-31 08:22:15 -08:00
btrfs-crc.c btrfs-progs: Fix getopt on arm/ppc platforms 2013-08-09 14:32:34 +02:00
btrfs-debug-tree.c btrfs-progs: define BTRFS_UUID_UNPARSE_SIZE for uuid unparse buf size 2014-01-31 08:22:03 -08:00
btrfs-find-root.c btrfs-progs: Make btrfs_header_chunk_tree_uuid() return unsigned long 2014-01-31 08:22:04 -08:00
btrfs-fragments.c btrfs-progs: remove unused variables 2013-10-16 08:23:13 -04:00
btrfs-image.c btrfs-progs: use stripe_len define here 2014-01-31 08:22:19 -08:00
btrfs-list.c btrfs-progs: remove NULL-ptr judge before free for btrfs-progs 2014-01-31 08:22:17 -08:00
btrfs-list.h btrfs-progs: add filter for deleted but uncleanded subvolumes 2013-10-24 05:57:44 -04:00
btrfs-map-logical.c btrfs-progs: fix -Wmissing-noreturn 2013-10-16 08:20:43 -04:00
btrfs-select-super.c btrfs-progs: btrfs-select-super output is confusing when it fails 2013-04-23 18:56:20 +02:00
btrfs-show-super.c btrfs-progs: define BTRFS_UUID_UNPARSE_SIZE for uuid unparse buf size 2014-01-31 08:22:03 -08:00
btrfs-zero-log.c Btrfs-progs: rework open_ctree to take flags, add a new one V2 2013-11-07 16:10:40 -05:00
btrfs.c btrfs-progs: move chunk-recover to rescue group 2013-10-16 08:21:38 -04:00
btrfsck.h Btrfs-progs: Add chunk rebuild function for RAID1/SINGLE/DUP 2013-07-03 14:06:55 -04:00
btrfstune.c Btrfs-progs: rework open_ctree to take flags, add a new one V2 2013-11-07 16:10:40 -05:00
chunk-recover.c btrfs-progs: don't replicate the stripe_len defines 2014-01-31 08:22:18 -08:00
cmds-balance.c Btrfs-progs: fix magic return value in cmds-balance.c 2013-10-16 08:20:43 -04:00
cmds-check.c Btrfs-progs: deal with invalid key orderings and bad orphan items V2 2014-01-31 08:22:15 -08:00
cmds-device.c Btrfs-progs: add sanity checks for btrfs device operations 2014-01-31 08:22:17 -08:00
cmds-filesystem.c btrfs-progs: fix improper error prompt for defragment 2014-01-31 08:22:13 -08:00
cmds-inspect.c btrfs-progs: look up the containing tree root id 2013-10-16 08:23:11 -04:00
cmds-qgroup.c btrfs-progs: qgroup destroy says create failed 2014-01-31 08:22:12 -08:00
cmds-quota.c Btrfs-progs: fix magic return value in cmds-quota.c 2013-10-16 08:20:41 -04:00
cmds-receive.c btrfs-progs: convert remaining uuid buffer declarations to BTRFS_UUID_UNPARSED_SIZE 2014-01-31 08:22:13 -08:00
cmds-replace.c Btrfs-progs: fix magic return value in cmds-replace.c 2013-10-16 08:20:42 -04:00
cmds-rescue.c Btrfs-progs: add super-recover to recover bad supers 2013-10-16 08:23:08 -04:00
cmds-restore.c Btrfs-progs: rework open_ctree to take flags, add a new one V2 2013-11-07 16:10:40 -05:00
cmds-scrub.c btrfs-progs: fix resource leak in scrub_start() 2014-01-31 08:22:17 -08:00
cmds-send.c btrfs-progs: send: check if parent or clone sources are read-only 2014-01-31 08:22:13 -08:00
cmds-subvolume.c btrfs-progs: add options to set commit mode after subvol delete 2014-01-31 08:22:20 -08:00
commands.h Btrfs-progs: add super-recover to recover bad supers 2013-10-16 08:23:08 -04:00
COPYING
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: deal with invalid key orderings and bad orphan items V2 2014-01-31 08:22:15 -08:00
ctree.h Btrfs-progs: deal with invalid key orderings and bad orphan items V2 2014-01-31 08:22:15 -08:00
dir-item.c btrfs-progs: drop unused parameter from btrfs_item_nr 2013-10-16 08:23:10 -04: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: Make btrfs_header_chunk_tree_uuid() return unsigned long 2014-01-31 08:22:04 -08:00
disk-io.h Btrfs-progs: rework open_ctree to take flags, add a new one V2 2013-11-07 16:10:40 -05:00
extent_io.c Btrfs-progs: fix the mismatch of extent buffer's space 2014-01-31 08:22:06 -08:00
extent_io.h Btrfs-progs: keep track of transid failures and fix them if possible 2013-10-16 08:23:12 -04:00
extent-cache.c Btrfs-progs: extend the extent cache for the device extent 2013-07-03 14:06:54 -04:00
extent-cache.h Btrfs-progs: extend the extent cache for the device extent 2013-07-03 14:06:54 -04:00
extent-tree.c mkfs: fix mkfs -r to properly allocate space 2013-10-16 10:42:53 -04:00
file-item.c Btrfs-progs: deal with invalid key orderings and bad orphan items V2 2014-01-31 08:22:15 -08:00
free-space-cache.c btrfs-progs: remove NULL-ptr judge before free for btrfs-progs 2014-01-31 08:22:17 -08:00
free-space-cache.h Btrfs-progs: add a free space cache checker to fsck V2 2013-04-23 18:56:21 +02:00
fsck.btrfs btrfs-progs: add fsck.btrfs stub and manpage 2014-01-31 08:22:13 -08:00
hash.h
hasher.c
help.c Btrfs-progs: return 1 rather than 129 in usage() 2013-10-16 08:20:03 -04:00
inode-item.c btrfs-progs: mark static & remove unused from shared kernel code 2013-09-03 19:40:53 +02:00
inode-map.c btrfs-progs: mark static & remove unused from shared kernel code 2013-09-03 19:40:53 +02:00
INSTALL Removing btrfsctl, btrfs-vol, btrfs-show 2013-03-19 18:21:41 +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: add options to set commit mode after subvol delete 2014-01-31 08:22:20 -08:00
kerncompat.h btrfs-progs: get C=1 sparse checking working again 2013-09-03 19:41:12 +02:00
list_sort.c btrfs-progs: add list_sort and use it to sort devices by id 2013-10-16 08:22:26 -04: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
list.h Btrfs-progs: introduce list_{first, next}_entry/list_splice_tail{_init} 2013-07-03 14:06:55 -04:00
Makefile btrfs-progs: add fsck.btrfs stub and manpage 2014-01-31 08:22:13 -08:00
math.h Btrfs-progs: cleanup duplicated division functions 2013-08-09 14:32:28 +02:00
mkfs.c btrfs-progs: remove NULL-ptr judge before free for btrfs-progs 2014-01-31 08:22:17 -08:00
print-tree.c btrfs-progs: convert remaining uuid buffer declarations to BTRFS_UUID_UNPARSED_SIZE 2014-01-31 08:22:13 -08:00
print-tree.h Btrfs: add btrfs-debug-tree -b <block number> to print a single block 2010-04-06 09:30:17 -04:00
qgroup.c btrfs-progs: make it static if function isn't called outside 2014-01-31 08:22:01 -08:00
qgroup.h Btrfs-progs: enhance btrfs qgroup show to sort qgroups 2013-10-16 08:23:12 -04:00
quick-test.c Btrfs-progs: rework open_ctree to take flags, add a new one V2 2013-11-07 16:10:40 -05:00
radix-tree.c btrfs-progs: make many private symbols static 2013-09-03 19:41:08 +02: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.c Btrfs-progs: introduce common insert/search/delete functions for rb-tree 2013-07-03 14:06:54 -04:00
rbtree.h Btrfs-progs: introduce common insert/search/delete functions for rb-tree 2013-07-03 14:06:54 -04:00
repair.c Btrfs-progs: introduce common insert/search/delete functions for rb-tree 2013-07-03 14:06:54 -04:00
repair.h Btrfsck: add the ability to prune corrupt extent allocation tree blocks 2012-02-21 14:37:21 -05:00
root-tree.c Btrfs-progs: just return -ENOENT if we don't find the root item 2013-10-24 05:57:44 -04:00
send-stream.c Btrfs-progs: remove some unused code 2013-04-23 18:56:25 +02:00
send-stream.h Btrfs-progs: btrfs-receive optionally honors the end-cmd 2013-04-23 18:56:24 +02:00
send-test.c btrfs-progs: convert remaining uuid buffer declarations to BTRFS_UUID_UNPARSED_SIZE 2014-01-31 08:22:13 -08:00
send-utils.c Btrfs-progs: use UUID tree for send/receive 2013-08-09 14:32:31 +02:00
send-utils.h Btrfs-progs: use UUID tree for send/receive 2013-08-09 14:32:31 +02:00
send.h btrfs-progs: make libbtrfs usable from C++ 2013-02-19 11:15:30 +01:00
show-blocks
super-recover.c Btrfs-progs: rework open_ctree to take flags, add a new one V2 2013-11-07 16:10:40 -05:00
transaction.h btrfs-progs: add malloc check in transaction.h/btrfs_start_transaction 2013-01-18 18:27:21 +01:00
utils.c Btrfs-progs: make sure we are opening a file or dir with open_file_or_dir() 2014-01-31 08:22:14 -08:00
utils.h btrfs-progs: define BTRFS_UUID_UNPARSE_SIZE for uuid unparse buf size 2014-01-31 08:22:03 -08:00
uuid-tree.c btrfs-progs: fix in-place byte swapping 2013-09-03 19:41:06 +02:00
version.sh Update the version 2013-11-25 15:48:57 -05:00
volumes.c btrfs-progs: use stripe_len define here 2014-01-31 08:22:19 -08:00
volumes.h btrfs-progs: don't replicate the stripe_len defines 2014-01-31 08:22:18 -08:00