From: Hannes Reinecke <hare@xxxxxxx> Subject: Emulate BLKRRPART on device-mapper Partitions on device-mapper devices are managed by kpartx (if at all). So if we were just to send out a 'change' event if someone called BLKRRPART on these devices, kpartx will be triggered via udev and can manage the partitions accordingly. Signed-off-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Nikanth Karthikesan <knikanth@xxxxxxx> --- Index: linux-2.6-dm/drivers/md/dm.c =================================================================== --- linux-2.6-dm.orig/drivers/md/dm.c +++ linux-2.6-dm/drivers/md/dm.c @@ -394,19 +394,25 @@ static int dm_blk_ioctl(struct block_dev if (!map || !dm_table_get_size(map)) goto out; - /* We only support devices that have a single target */ - if (dm_table_get_num_targets(map) != 1) - goto out; - - tgt = dm_table_get_target(map, 0); - if (dm_suspended(md)) { r = -EAGAIN; goto out; } - if (tgt->type->ioctl) - r = tgt->type->ioctl(tgt, cmd, arg); + if (cmd == BLKRRPART) { + /* Emulate Re-read partitions table */ + kobject_uevent(&disk_to_dev(md->disk)->kobj, KOBJ_CHANGE); + r = 0; + } else { + /* We only support devices that have a single target */ + if (dm_table_get_num_targets(map) != 1) + goto out; + + tgt = dm_table_get_target(map, 0); + + if (tgt->type->ioctl) + r = tgt->type->ioctl(tgt, cmd, arg); + } out: dm_table_put(map); -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel