diff mbox

Btrfs-progs: convert: do not clear nodatasum flag in inode item

Message ID 20170628212949.25403-1-bo.li.liu@oracle.com (mailing list archive)
State New, archived
Headers show

Commit Message

Liu Bo June 28, 2017, 9:29 p.m. UTC
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>
---
 convert/source-ext2.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Lakshmipathi.G June 29, 2017, 4:37 a.m. UTC | #1
Could you please add also a test-script for this interesting issue
under tests/convert-tests
(If its not already there)?. thanks.

----
Cheers,
Lakshmipathi.G
http://www.giis.co.in http://www.webminal.org


On Thu, Jun 29, 2017 at 2:59 AM, Liu Bo <bo.li.liu@oracle.com> wrote:
> 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>
> ---
>  convert/source-ext2.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/convert/source-ext2.c b/convert/source-ext2.c
> index 1b0576b..64b95c5 100644
> --- a/convert/source-ext2.c
> +++ b/convert/source-ext2.c
> @@ -742,7 +742,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);
> --
> 2.5.0
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
David Sterba June 30, 2017, 7:59 a.m. UTC | #2
On Wed, Jun 28, 2017 at 03:29:49PM -0600, Liu Bo wrote:
> 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>

Applied, thanks.
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/convert/source-ext2.c b/convert/source-ext2.c
index 1b0576b..64b95c5 100644
--- a/convert/source-ext2.c
+++ b/convert/source-ext2.c
@@ -742,7 +742,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);