File btrfs-progs-convert-do-not-clear-nodatasum-flag-in-inode-item.patch of Package btrfsprogs.11414
From: Liu Bo <bo.li.liu@oracle.com>
Subject: Btrfs-progs: convert: do not clear nodatasum flag in inode item
Git-commit: 188f9c889a062307cf18fdacf91381f29f12bf6d
Patch-mainline: v4.11.1
References: bsc#1042369
With the current btrfs-convert, if we convert a ext4 without data checksum,
it'd not set nodatasum flag in inode item, nor create csum item, reading
file ends up with checksum errors.
Signed-off-by: Liu Bo <bo.li.liu@oracle.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Acked-by: Jeff Mahoney <jeffm@suse.com>
---
convert/source-ext2.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/btrfs-convert.c b/btrfs-convert.c
index 275cb89f..38c3cd33 100644
--- a/btrfs-convert.c
+++ b/btrfs-convert.c
@@ -743,7 +743,7 @@ static int ext2_check_state(struct btrfs_convert_context *cctx)
static void ext2_convert_inode_flags(struct btrfs_inode_item *dst,
struct ext2_inode *src)
{
- u64 flags = 0;
+ u64 flags = btrfs_stack_inode_flags(dst);
COPY_ONE_EXT2_FLAG(flags, src, APPEND);
COPY_ONE_EXT2_FLAG(flags, src, SYNC);