linux_dsm_epyc7002/fs/btrfs
Yan Zheng 17d217fe97 Btrfs: fix nodatasum handling in balancing code
Checksums on data can be disabled by mount option, so it's
possible some data extents don't have checksums or have
invalid checksums. This causes trouble for data relocation.
This patch contains following things to make data relocation
work.

1) make nodatasum/nodatacow mount option only affects new
files. Checksums and COW on data are only controlled by the
inode flags.

2) check the existence of checksum in the nodatacow checker.
If checksums exist, force COW the data extent. This ensure that
checksum for a given block is either valid or does not exist.

3) update data relocation code to properly handle the case
of checksum missing.

Signed-off-by: Yan Zheng <zheng.yan@oracle.com>
2008-12-12 10:03:38 -05:00
..
acl.c Btrfs: optimize btrget/set/removexattr 2008-09-25 11:04:07 -04:00
async-thread.c Btrfs: Check kthread_should_stop() before schedule() in worker_loop 2008-11-12 14:36:58 -05:00
async-thread.h Btrfs: Add ordered async work queues 2008-11-06 22:03:00 -05:00
btrfs_inode.h Btrfs: fix leaking block group on balance 2008-12-11 16:30:39 -05:00
compat.h Btrfs: compat code fixes 2008-11-20 10:22:27 -05:00
compression.c Btrfs: fix nodatasum handling in balancing code 2008-12-12 10:03:38 -05:00
compression.h Btrfs: Add zlib compression support 2008-10-29 14:49:59 -04:00
COPYING Btrfs: add GPLv2 2007-06-12 09:07:21 -04:00
crc32c.h Btrfs: add and improve comments 2008-09-29 15:18:18 -04:00
ctree.c Btrfs: Delete csum items when freeing extents 2008-12-10 09:10:46 -05:00
ctree.h Btrfs: fix nodatasum handling in balancing code 2008-12-12 10:03:38 -05:00
dir-item.c Btrfs: add and improve comments 2008-09-29 15:18:18 -04:00
disk-io.c Btrfs: shared seed device 2008-12-12 10:03:26 -05:00
disk-io.h Btrfs: superblock duplication 2008-12-08 16:46:26 -05:00
export.c Remove Btrfs compat code for older kernels 2008-09-25 15:41:59 -04:00
export.h NFS support for btrfs - v3 2008-09-25 11:04:06 -04:00
extent_io.c Btrfs: Use map_private_extent_buffer during generic_bin_search 2008-12-08 16:43:10 -05:00
extent_io.h Btrfs: fix nodatasum handling in balancing code 2008-12-12 10:03:38 -05:00
extent_map.c Btrfs: Add zlib compression support 2008-10-29 14:49:59 -04:00
extent_map.h Btrfs: Fix csum error for compressed data 2008-11-10 07:34:43 -05:00
extent-tree.c Btrfs: fix nodatasum handling in balancing code 2008-12-12 10:03:38 -05:00
file-item.c Btrfs: fix nodatasum handling in balancing code 2008-12-12 10:03:38 -05:00
file.c Btrfs: fix nodatasum handling in balancing code 2008-12-12 10:03:38 -05:00
free-space-cache.c Btrfs: superblock duplication 2008-12-08 16:46:26 -05:00
hash.h Switch btrfs_name_hash() to crc32c 2008-09-25 11:04:06 -04:00
inode-item.c Btrfs: make things static and include the right headers 2008-12-02 09:54:17 -05:00
inode-map.c Btrfs: extent_map and data=ordered fixes for space balancing 2008-09-26 10:05:38 -04:00
inode.c Btrfs: fix nodatasum handling in balancing code 2008-12-12 10:03:38 -05:00
INSTALL Btrfs: Documentation update 2007-06-22 14:49:31 -04:00
ioctl.c Btrfs: fix leaking block group on balance 2008-12-11 16:30:39 -05:00
ioctl.h Btrfs: Allow subvolumes and snapshots anywhere in the directory tree 2008-11-17 21:02:50 -05:00
locking.c Btrfs: add and improve comments 2008-09-29 15:18:18 -04:00
locking.h btrfs_search_slot: reduce lock contention by cowing in two stages 2008-09-25 11:04:06 -04:00
Makefile Btrfs: Add zlib compression support 2008-10-29 14:49:59 -04:00
ordered-data.c Btrfs: move data checksumming into a dedicated tree 2008-12-08 16:58:54 -05:00
ordered-data.h Btrfs: move data checksumming into a dedicated tree 2008-12-08 16:58:54 -05: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: Add zlib compression support 2008-10-29 14:49:59 -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: add and improve comments 2008-09-29 15:18:18 -04:00
ref-cache.h Btrfs: add and improve comments 2008-09-29 15:18:18 -04:00
root-tree.c Btrfs: make things static and include the right headers 2008-12-02 09:54:17 -05:00
struct-funcs.c Btrfs: Fix sparse endian warnings in struct-funcs.c 2008-12-02 11:18:37 -05:00
super.c Btrfs: shared seed device 2008-12-12 10:03:26 -05:00
sysfs.c Remove Btrfs compat code for older kernels 2008-09-25 15:41:59 -04:00
transaction.c Btrfs: fix leaking block group on balance 2008-12-11 16:30:39 -05:00
transaction.h Btrfs: fix leaking block group on balance 2008-12-11 16:30:39 -05:00
tree-defrag.c Btrfs: nuke fs wide allocation mutex V2 2008-10-29 14:49:05 -04:00
tree-log.c Btrfs: Fix compressed checksum fsync log copies 2008-12-08 19:15:39 -05:00
tree-log.h Btrfs: Add a write ahead tree log to optimize synchronous operations 2008-09-25 11:04:07 -04:00
version.h Update Btrfs files for in-kernel usage 2008-09-25 15:41:59 -04:00
version.sh Btrfs: Fixes for 2.6.28-rc API changes 2008-11-19 21:17:22 -05:00
volumes.c Btrfs: shared seed device 2008-12-12 10:03:26 -05:00
volumes.h Btrfs: shared seed device 2008-12-12 10:03:26 -05:00
xattr.c Btrfs: optimize btrget/set/removexattr 2008-09-25 11:04:07 -04:00
xattr.h Btrfs: optimize btrget/set/removexattr 2008-09-25 11:04:07 -04:00
zlib.c Btrfs: make things static and include the right headers 2008-12-02 09:54:17 -05:00