Userspace utilities to manage btrfs filesystems
Go to file
Josef Bacik aa5f0626f8 Btrfs-progs: make restore deal with really broken file systems
All we need for restore to work is the chunk root, the tree root and the fs root
we want to restore from.  So to do this we need to make a few adjustments

1) Make open_ctree_fs_info fail completely if it can't read the chunk tree.
There is no sense in continuing if we can't read the chunk tree since we won't
be able to translate logical to physical blocks.

2) Use open_ctree_fs_info in restore, and if we didn't load a tree root or
fs root go ahead and try to set those up manually ourselves.

This is related to work I did last year on restore, but it uses the
open_ctree_fs_info instead of my open coded open_ctree.  Thanks,

Signed-off-by: Josef Bacik <jbacik@fusionio.com>
2013-04-23 18:56:27 +02:00
man Btrfs-progs: add an option to btrfs-image to walk the trees 2013-04-23 18:56:26 +02:00
.gitignore Btrfs-progs: tool to visualize fragmentation 2013-03-19 18:24:51 +01:00
.hgignore Add .hgignore file to ignore verison.h 2008-07-23 11:36:13 -04:00
.hgtags Added tag v0.16 for changeset 2b26e4f8c71e 2008-08-04 15:46:36 -04:00
COPYING fix COPYING 2007-06-12 15:41:08 -04:00
INSTALL Removing btrfsctl, btrfs-vol, btrfs-show 2013-03-19 18:21:41 +01:00
Makefile Btrfs-progs: add a free space cache checker to fsck V2 2013-04-23 18:56:21 +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-corrupt-block.c Add basic RAID[56] support 2013-02-01 14:22:07 -05:00
btrfs-crc.c Btrfs-progs: add btrfs-crc tool 2013-04-09 18:43:32 +02:00
btrfs-defrag.c new util: 'btrfs' 2010-03-11 13:45:47 -05:00
btrfs-image.c Btrfs-progs: add an option to btrfs-image to walk the trees 2013-04-23 18:56:26 +02:00
btrfs-list.c Btrfs-progs: fix bug in find_root_gen 2013-04-23 18:56:24 +02:00
btrfs-list.h btrfs-progs: libify some parts of btrfs-progs 2013-02-27 15:24:25 +01:00
btrfs-map-logical.c Add basic RAID[56] support 2013-02-01 14:22:07 -05: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: don't call close on error fd 2013-02-27 14:39:45 +01:00
btrfs-zero-log.c btrfs-progs: separate super_copy out of fs_info 2013-03-10 16:12:21 +01:00
btrfs.c Btrfs-progs: add restore command to btrfs 2013-02-12 23:46:15 +01:00
btrfstune.c Btrfs-progs: add a free space cache checker to fsck V2 2013-04-23 18:56:21 +02:00
calc-size.c btrfs-progs: add a recovery utility to pull files from damanged filesystems 2011-10-27 12:49:54 -04:00
cmds-balance.c btrfs-progs: no pending balance is not an error 2013-04-23 18:56:20 +02:00
cmds-check.c Btrfs-progs: make restore deal with really broken file systems 2013-04-23 18:56:27 +02:00
cmds-device.c btrfs-progs: rework get_fs_info to remove side effects 2013-03-12 17:07:40 +01:00
cmds-filesystem.c Btrfs-progs: record errno for ioctl DEFRAG_RANGE 2013-04-23 18:56:27 +02:00
cmds-inspect.c btrfs-progs: Fix pointer math in __ino_to_path_fd 2013-02-19 11:15:30 +01:00
cmds-qgroup.c btrfs-progs: add quota-related info to usage messages 2013-04-23 18:56:21 +02:00
cmds-quota.c btrfs-progs: add quota-related info to usage messages 2013-04-23 18:56:21 +02:00
cmds-receive.c btrfs-progs: Fix the receive code pathing 2013-04-23 18:56:25 +02:00
cmds-replace.c btrfs-progs: rework get_fs_info to remove side effects 2013-03-12 17:07:40 +01:00
cmds-restore.c Btrfs-progs: make restore deal with really broken file systems 2013-04-23 18:56:27 +02:00
cmds-scrub.c btrfs-progs: fix btrfs scrub start help 2013-04-23 18:56:19 +02:00
cmds-send.c btrfs-progs: Fix the receive code pathing 2013-04-23 18:56:25 +02:00
cmds-subvolume.c btrfs-progs: add quota-related info to usage messages 2013-04-23 18:56:21 +02:00
commands.h Btrfs-progs: add restore command to btrfs 2013-02-12 23:46:15 +01:00
convert.c btrfs-progs: convert: access name_len and file_type the old way 2013-03-18 19:33:42 +01:00
crc32c.c Btrfs-progs: fix several complie warning 2012-10-04 16:26:31 -04:00
crc32c.h btrfs-progs: libify some parts of btrfs-progs 2013-02-27 15:24:25 +01:00
ctree.c Btrfs-progs: add skinny metadata support to progs V3 2013-04-23 18:56:20 +02:00
ctree.h Btrfs-progs: add a free space cache checker to fsck V2 2013-04-23 18:56:21 +02:00
debug-tree.c Btrfs-progs: make restore deal with really broken file systems 2013-04-23 18:56:27 +02:00
dir-item.c Fix unused-but-set errors in gcc-4.6 2011-10-25 09:18:32 -04:00
dir-test.c btrfs-progs: Handle errors returned from open_ctree 2013-01-21 18:27:54 +01:00
disk-io.c Btrfs-progs: make restore deal with really broken file systems 2013-04-23 18:56:27 +02:00
disk-io.h Btrfs-progs: make restore deal with really broken file systems 2013-04-23 18:56:27 +02:00
extent-cache.c Fix unused-but-set errors in gcc-4.6 2011-10-25 09:18:32 -04:00
extent-cache.h btrfs-progs: libify some parts of btrfs-progs 2013-02-27 15:24:25 +01:00
extent-tree.c Btrfs-progs: add a free space cache checker to fsck V2 2013-04-23 18:56:21 +02:00
extent_io.c Btrfs-progs: add a free space cache checker to fsck V2 2013-04-23 18:56:21 +02:00
extent_io.h Btrfs-progs: add a free space cache checker to fsck V2 2013-04-23 18:56:21 +02:00
file-item.c btrfs-progs: separate super_copy out of fs_info 2013-03-10 16:12:21 +01:00
find-root.c Btrfs-progs: alloc our super copy in btrfs-find-root 2013-03-12 16:26:42 +01:00
fragments.c Btrfs-progs: tool to visualize fragmentation 2013-03-19 18:24:51 +01:00
free-space-cache.c Btrfs-progs: add a free space cache checker to fsck V2 2013-04-23 18:56:21 +02:00
free-space-cache.h Btrfs-progs: add a free space cache checker to fsck V2 2013-04-23 18:56:21 +02:00
hash.h Switch btrfs_name_hash() to crc32c 2008-08-20 20:11:23 -04:00
hasher.c Unaligned access fixes 2008-02-15 11:19:58 -05:00
help.c Btrfs-progs: allow multi-line command group synopsis 2012-02-08 18:55:51 +02:00
inode-item.c btrfs-progs new dir index support 2008-07-24 12:13:32 -04:00
inode-map.c btrfs-progs: Fix printf format casting errors 2008-04-01 10:52:22 -04:00
ioctl-test.c Test the additional ioctl. 2011-10-25 09:18:58 -04:00
ioctl.h Btrfs-progs: Change the label of a mounted file system 2013-02-26 19:23:32 +01:00
kerncompat.h Merge branch 'cov-fixes-v1-integration-20130201' of http://git.zabbo.net/cgit/btrfs-progs into merged 2013-02-06 12:51:58 -05:00
list.h btrfs-progs: make libbtrfs usable from C++ 2013-02-19 11:15:30 +01:00
mkfs.c btrfs-progs: use clearer var names in is_ssd() 2013-04-23 18:56:26 +02:00
print-tree.c Btrfs-progs: add skinny metadata support to progs V3 2013-04-23 18:56:20 +02: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: clean up reduplicate parse_qgroupid() and replace atoi with strtoull 2013-01-21 18:28:01 +01:00
qgroup.h Btrfs-progs: clean up reduplicate parse_qgroupid() and replace atoi with strtoull 2013-01-21 18:28:01 +01:00
quick-test.c btrfs-progs: Handle errors returned from open_ctree 2013-01-21 18:27:54 +01:00
radix-tree.c Make btrfs-progs compile with -fstrict-aliasing (included in -O2) again. 2007-09-14 10:31:06 -04:00
radix-tree.h btrfs-progs: libify some parts of btrfs-progs 2013-02-27 15:24:25 +01:00
raid6.c btrfs-progs: include kerncompat.h in raid6.c, define __attribute_const__ 2013-02-03 12:39:16 -05:00
random-test.c btrfs-progs: Handle errors returned from open_ctree 2013-01-21 18:27:54 +01:00
rbtree.c Stop using radix trees to record pending allocations 2007-10-15 16:25:04 -04:00
rbtree.h btrfs-progs: libify some parts of btrfs-progs 2013-02-27 15:24:25 +01:00
repair.c Btrfsck: add the ability to prune corrupt extent allocation tree blocks 2012-02-21 14:37:21 -05: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: code cleanup for root-tree.c/btrfs_del_root 2013-02-07 01:19:50 +01: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: re-add send-test 2013-04-23 18:56:20 +02:00
send-utils.c Btrfs-progs: don't allocate one byte too much each time 2013-04-23 18:56:24 +02:00
send-utils.h Btrfs-progs: add a function to free subvol_uuid_search memory 2013-04-23 18:56:22 +02:00
send.h btrfs-progs: make libbtrfs usable from C++ 2013-02-19 11:15:30 +01:00
show-blocks Fix showblocks to display different colors for different metadata roots 2009-03-09 13:00:44 -04: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: mkfs should first check all disks before writing to a disk 2013-04-23 18:56:20 +02:00
utils.h btrfs-progs: mkfs should first check all disks before writing to a disk 2013-04-23 18:56:20 +02:00
version.sh version.sh: fix version when built from tarball 2013-01-17 18:13:03 +01:00
volumes.c btrfs-progs: delete unused function btrfs_read_super_device 2013-04-23 18:56:26 +02:00
volumes.h Merge branch 'for-chris' of git://repo.or.cz/btrfs-progs-unstable/devel into raid56 2013-02-06 12:42:24 -05:00