[dm-devel] [PATCH] fix mirror device creation with lvcreate failed
Alasdair G Kergon
agk at redhat.com
Tue Sep 16 23:21:04 UTC 2014
On Wed, Aug 27, 2014 at 04:18:25PM +0800, Liuhua Wang wrote:
> On some devices,
Which devices? What is the necessary condition to trigger the problem?
> when create mirror device with lvcreate, it fails.
> device-mapper: reload ioctl on failed: Invalid argument
> Failed to activate new LV.
What exactly causes this error?
- Do you get a kernel error message too?
> We can use read size 4096 since md always use 4096.
How is that connected to problem?
Why does it fix it?
> +++ b/drivers/md/dm-raid.c
> @@ -860,7 +860,7 @@ static int super_load(struct md_rdev *rdev, struct md_rdev *refdev)
> rdev->sb_start = 0;
> rdev->sb_size = sizeof(*sb);
What should sb_size really be?
> - ret = read_disk_sb(rdev, rdev->sb_size);
> + ret = read_disk_sb(rdev, 4096);
Why aren't they both MD_SB_BYTES?
(Strictly, does sb_size need recalculating after the read?)
Alasdair
More information about the dm-devel
mailing list