btrfs-progs: convert: check source file system state
Signed-off-by: Lakshmipathi.G <Lakshmipathi.G@giis.co.in> [ add doc note ] Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
parent
2a9daceb07
commit
b56fe16922
|
@ -33,6 +33,9 @@ have supported data block size (ie. the same that would be valid for
|
||||||
'mkfs.btrfs'). This is typically the system page size (4KiB on x86_64
|
'mkfs.btrfs'). This is typically the system page size (4KiB on x86_64
|
||||||
machines).
|
machines).
|
||||||
|
|
||||||
|
NOTE: The source filesystem should be clean, you are encouraged to run the
|
||||||
|
'fsck' tool if you're not sure.
|
||||||
|
|
||||||
**REMOVE THE ORIGINAL FILESYSTEM METADATA**
|
**REMOVE THE ORIGINAL FILESYSTEM METADATA**
|
||||||
|
|
||||||
By removing the 'ext2_saved' subvolume, all metadata of the original filesystem
|
By removing the 'ext2_saved' subvolume, all metadata of the original filesystem
|
||||||
|
|
|
@ -2183,6 +2183,17 @@ static void ext2_copy_inode_item(struct btrfs_inode_item *dst,
|
||||||
}
|
}
|
||||||
memset(&dst->reserved, 0, sizeof(dst->reserved));
|
memset(&dst->reserved, 0, sizeof(dst->reserved));
|
||||||
}
|
}
|
||||||
|
static int check_filesystem_state(struct btrfs_convert_context *cctx)
|
||||||
|
{
|
||||||
|
ext2_filsys fs = cctx->fs_data;
|
||||||
|
|
||||||
|
if (!(fs->super->s_state & EXT2_VALID_FS))
|
||||||
|
return 1;
|
||||||
|
else if (fs->super->s_state & EXT2_ERROR_FS)
|
||||||
|
return 1;
|
||||||
|
else
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* copy a single inode. do all the required works, such as cloning
|
* copy a single inode. do all the required works, such as cloning
|
||||||
|
@ -2352,6 +2363,10 @@ static int do_convert(const char *devname, int datacsum, int packing,
|
||||||
ret = convert_open_fs(devname, &cctx);
|
ret = convert_open_fs(devname, &cctx);
|
||||||
if (ret)
|
if (ret)
|
||||||
goto fail;
|
goto fail;
|
||||||
|
ret = check_filesystem_state(&cctx);
|
||||||
|
if (ret)
|
||||||
|
warning(
|
||||||
|
"source filesystem is not clean, running filesystem check is recommended");
|
||||||
ret = convert_read_used_space(&cctx);
|
ret = convert_read_used_space(&cctx);
|
||||||
if (ret)
|
if (ret)
|
||||||
goto fail;
|
goto fail;
|
||||||
|
|
Loading…
Reference in New Issue