Userspace utilities to manage btrfs filesystems
Go to file
Josef Bacik b3be7aea12 Btrfs-progs: fix fsck dealing with finding backrefs first
There is a problem where if we find a backref extent record first that doesn't
match a extent item we will delete some of the duplicates but not others.  In
order to deal with this we need to make sure we only pay attention to duplicates
that actually have duplicate extent items.  If a extent_rec has a duplicate but
the record itself doesn't have an associated extent item we promote the
duplicate to the extent record and just discard the original extent_rec since it
was just added by the backref.  We copy the backref onto the promoted extent
record and then continue processing.  This allowed me to fix a file system that
previously was not able to be fixed by fsck.  Thanks,

Signed-off-by: Josef Bacik <jbacik@fusionio.com>
Signed-off-by: Chris Mason <chris.mason@fusionio.com>
2013-06-19 13:52:48 -04:00
man Btrfs-image: add the ability to santize file names when making an image 2013-06-19 13:35:15 -04: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
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: standardize tool source filenames 2013-04-24 14:05:33 +02:00
btrfs-convert.c btrfs-progs: standardize tool source filenames 2013-04-24 14:05:33 +02:00
btrfs-corrupt-block.c Add basic RAID[56] support 2013-02-01 14:22:07 -05:00
btrfs-crc.c Btrfs-progs: btrfs-crc: support specifying checksum in hex 2013-04-23 19:10:12 +02:00
btrfs-debug-tree.c btrfs-progs: standardize tool source filenames 2013-04-24 14:05:33 +02:00
btrfs-defrag.c new util: 'btrfs' 2010-03-11 13:45:47 -05:00
btrfs-find-root.c btrfs-progs: standardize tool source filenames 2013-04-24 14:05:33 +02:00
btrfs-fragments.c btrfs-progs: standardize tool source filenames 2013-04-24 14:05:33 +02:00
btrfs-image.c Btrfs-progs: make image restore with the original device offsets 2013-06-19 13:52:25 -04:00
btrfs-list.c Btrfs-progs: fix compile warnings in i386 machine 2013-05-10 10:55:22 -04: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
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: fix fsck dealing with finding backrefs first 2013-06-19 13:52:48 -04: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: add function to map subvol ID to path 2013-04-23 19:16:25 +02: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: quota rescan 2013-04-23 18:56:27 +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: pass properly formated key to read_fs_root 2013-06-19 13:52:22 -04:00
cmds-scrub.c btrfs-progs: fix btrfs scrub start help 2013-04-23 18:56:19 +02:00
cmds-send.c Btrfs-progs: btrfs-send: free used memory and close fds 2013-04-23 19:12:03 +02:00
cmds-subvolume.c Btrfs-progs: fix compile warnings in i386 machine 2013-05-10 10:55:22 -04:00
commands.h Btrfs-progs: add restore command to btrfs 2013-02-12 23:46:15 +01:00
COPYING fix COPYING 2007-06-12 15:41:08 -04: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 --init-extent-tree to btrfsck 2013-06-19 13:52:34 -04:00
ctree.h Btrfs-progs: add --init-extent-tree to btrfsck 2013-06-19 13:52:34 -04: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 fsck fix certain file extent inconsistencies 2013-06-19 13:52:16 -04:00
disk-io.h Btrfs-progs: make restore deal with really broken file systems 2013-04-23 18:56:27 +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
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: fix the allocator 2013-06-19 13:52:45 -04:00
file-item.c btrfs-progs: separate super_copy out of fs_info 2013-03-10 16:12:21 +01:00
free-space-cache.c Btrfs-progs: add a newline to a free space cache message 2013-06-19 13:52:28 -04: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
INSTALL Removing btrfsctl, btrfs-vol, btrfs-show 2013-03-19 18:21:41 +01:00
ioctl-test.c Test the additional ioctl. 2011-10-25 09:18:58 -04:00
ioctl.h Btrfs-progs: fixup: add flags to struct btrfs_ioctl_quota_rescan_args 2013-05-10 10:55:22 -04: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
Makefile btrfs-progs: Add default rules to Makefile 2013-04-24 14:08:01 +02: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: in btrfs-debug-tree, print -1 in key for (u64)-1 2013-04-23 19:12:33 +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: update generation_v2 in btrfs_update_root 2013-04-23 18:56:28 +02: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: fix send-test build 2013-04-23 18:56:27 +02:00
send-utils.c Btrfs-progs: add function to map subvol ID to path 2013-04-23 19:16:25 +02:00
send-utils.h Btrfs-progs: add function to map subvol ID to path 2013-04-23 19:16:25 +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 seg fault for wrong free 2013-05-02 22:30:02 -04: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