On Fri, Aug 19 2011 at 5:46am -0400, Mike Snitzer <snitzer@xxxxxxxxxx> wrote: > On Fri, Aug 19 2011 at 5:11am -0400, > Joe Thornber <thornber@xxxxxxxxxx> wrote: > > > An alternative would be to iterate through all the pools in the system > > check whether any of them already had the same metadata device open. > > Of course this doesn't catch the cases where the stacking is used and > > a metadata device eventually maps onto the same physical disk as an > > existing md area. > > The lack of checking for a metadata or data device that is already in > use should probably be fixed. > > As for stacking, can't we just read the superblock to check if a device > is already in use (would work metadata anyway)? No idea if that'd be > too costly -- probably not: read superblock and check if > THIN_SUPERBLOCK_MAGIC is set. Bleh, that won't work. THIN_SUPERBLOCK_MAGIC is the same for all devices... dm_pool_metadata_open() knows when a superblock isn't all zeroes. We could read the suerblock's uuid (which we provisioned for in the superblock but don't yet set) and then go searching all other pools to see if the same superblock uuid exists. -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel