When reloading a device the ioctl interface was forgetting to drop a reference on the new table. --- diff/drivers/md/dm-ioctl.c 2003-01-10 10:19:25.000000000 +0000 +++ source/drivers/md/dm-ioctl.c 2003-01-16 11:14:59.000000000 +0000 @@ -894,6 +894,7 @@ dm_table_put(t); return r; } + dm_table_put(t); /* md will have taken its own reference */ dev = dm_kdev(md); set_device_ro(dev, (param->flags & DM_READONLY_FLAG));