remarkable-linux/fs/btrfs
Yan Zheng f321e49103 Btrfs: Update and fix mount -o nodatacow
To check whether a given file extent is referenced by multiple snapshots, the
checker walks down the fs tree through dead root and checks all tree blocks in
the path.

We can easily detect whether a given tree block is directly referenced by other
snapshot. We can also detect any indirect reference from other snapshot by
checking reference's generation. The checker can always detect multiple
references, but can't reliably detect cases of single reference. So btrfs may
do file data cow even there is only one reference.

Signed-off-by: Chris Mason <chris.mason@oracle.com>
2008-09-25 11:04:05 -04:00
..
acl.c Btrfs: Add ACL support 2008-09-25 11:04:05 -04:00
async-thread.c Btrfs: async-thread: fix possible memory leak 2008-09-25 11:04:05 -04:00
async-thread.h Btrfs: Worker thread optimizations 2008-09-25 11:04:03 -04:00
bit-radix.c Btrfs: trivial include fixups 2007-07-11 10:00:37 -04:00
bit-radix.h Btrfs: add GPLv2 2007-06-12 09:07:21 -04:00
btrfs_inode.h Btrfs: Create orphan inode records to prevent lost files after a crash 2008-09-25 11:04:05 -04:00
compat.h Btrfs: Add workaround for AppArmor changing remove_suid() 2008-09-25 11:04:02 -04:00
COPYING Btrfs: add GPLv2 2007-06-12 09:07:21 -04:00
crc32c.h Btrfs: Endianess bug fix for v0.13 with kernels 2008-09-25 11:04:01 -04:00
ctree.c Btrfs: Add a leaf reference cache 2008-09-25 11:04:05 -04:00
ctree.h Btrfs: Update and fix mount -o nodatacow 2008-09-25 11:04:05 -04:00
dir-item.c Btrfs: Implement new dir index format 2008-09-25 11:04:05 -04:00
disk-io.c Btrfs: Throttle operations if the reference cache gets too large 2008-09-25 11:04:05 -04:00
disk-io.h Btrfs: Online btree defragmentation fixes 2008-09-25 11:04:04 -04:00
extent-tree.c Btrfs: Update and fix mount -o nodatacow 2008-09-25 11:04:05 -04:00
extent_io.c Btrfs: Search data ordered extents first for checksums on read 2008-09-25 11:04:05 -04:00
extent_io.h Btrfs: Fix some data=ordered related data corruptions 2008-09-25 11:04:05 -04:00
extent_map.c Btrfs: Use assert_spin_locked instead of spin_trylock 2008-09-25 11:04:05 -04:00
extent_map.h Btrfs: Fix some data=ordered related data corruptions 2008-09-25 11:04:05 -04:00
file-item.c Btrfs: Take the csum mutex while reading checksums 2008-09-25 11:04:05 -04:00
file.c Btrfs: Throttle operations if the reference cache gets too large 2008-09-25 11:04:05 -04:00
hash.c btrfs-progs: Stop stomping on 'name' input parameter 2008-09-25 11:04:01 -04:00
hash.h Btrfs: unaligned access fixes 2008-09-25 11:04:00 -04:00
inode-item.c Btrfs: Implement new dir index format 2008-09-25 11:04:05 -04:00
inode-map.c Btrfs: Replace the big fs_mutex with a collection of other locks 2008-09-25 11:04:03 -04:00
inode.c Btrfs: Update and fix mount -o nodatacow 2008-09-25 11:04:05 -04:00
INSTALL Btrfs: Documentation update 2007-06-22 14:49:31 -04:00
ioctl.c Btrfs: Null terminate strings passed in from userspace 2008-09-25 11:04:05 -04:00
ioctl.h Btrfs: transaction ioctls 2008-09-25 11:04:03 -04:00
locking.c Btrfs: Fix some build problems on 2.6.18 based enterprise kernels 2008-09-25 11:04:05 -04:00
locking.h Btrfs: Start btree concurrency work. 2008-09-25 11:04:03 -04:00
Makefile Btrfs: Add a leaf reference cache 2008-09-25 11:04:05 -04:00
ordered-data.c Btrfs: Fix the defragmention code and the block relocation code for data=ordered 2008-09-25 11:04:05 -04:00
ordered-data.h Btrfs: Fix the defragmention code and the block relocation code for data=ordered 2008-09-25 11:04:05 -04:00
orphan.c Btrfs: Create orphan inode records to prevent lost files after a crash 2008-09-25 11:04:05 -04:00
print-tree.c Btrfs: Pass down the expected generation number when reading tree blocks 2008-09-25 11:04:03 -04:00
print-tree.h Btrfs: Create extent_buffer interface for large blocksizes 2008-09-25 11:03:56 -04:00
ref-cache.c Btrfs: Leaf reference cache update 2008-09-25 11:04:05 -04:00
ref-cache.h Btrfs: Leaf reference cache update 2008-09-25 11:04:05 -04:00
root-tree.c Btrfs: Fix deadlock while searching for dead roots on mount 2008-09-25 11:04:04 -04:00
struct-funcs.c Btrfs: unaligned access fixes 2008-09-25 11:04:00 -04:00
super.c Btrfs: Add ACL support 2008-09-25 11:04:05 -04:00
sysfs.c Btrfs: Disable sysfs files on older kernels 2008-09-25 11:04:00 -04:00
TODO Btrfs: add GPLv2 2007-06-12 09:07:21 -04:00
transaction.c Btrfs: Update and fix mount -o nodatacow 2008-09-25 11:04:05 -04:00
transaction.h Btrfs: Update and fix mount -o nodatacow 2008-09-25 11:04:05 -04:00
tree-defrag.c Btrfs: Online btree defragmentation fixes 2008-09-25 11:04:04 -04:00
version.sh Btrfs: Fix version.sh when used outside of an hg repo 2008-09-25 11:04:05 -04:00
volumes.c Btrfs: Add locking around volume management (device add/remove/balance) 2008-09-25 11:04:04 -04:00
volumes.h Btrfs: Add async worker threads for pre and post IO checksumming 2008-09-25 11:04:03 -04:00
xattr.c Btrfs: Add ACL support 2008-09-25 11:04:05 -04:00
xattr.h xattr support for btrfs 2008-09-25 11:03:57 -04:00