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 -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel