[dm-devel] dm cache: verify metadata device is exclussive
Mike Snitzer
snitzer at redhat.com
Tue Jul 30 11:11:19 UTC 2013
On Wed, Jul 24 2013 at 8:50pm -0400,
Mike Snitzer <snitzer at redhat.com> wrote:
> Do not allow a cache device to use a metadata device that is already
> in use by another cache device.
>
> Add list member to the cache structure. Also reorder members in the
> cache structure to eliminate 6 out of 7 holes (reclaiming 24 bytes).
>
> Example:
> echo "0 8192 linear 253:1 0" | dmsetup create metadata
> echo "0 2097152 linear 253:1 8192" | dmsetup create ssd
> echo "0 33554432 linear 253:0 0" | dmsetup create origin
> echo "0 33554432 cache /dev/mapper/metadata /dev/mapper/ssd /dev/mapper/origin 512 0 default 0" | dmsetup create cache1
> echo "0 33554432 cache /dev/mapper/metadata /dev/mapper/ssd /dev/mapper/origin 512 0 default 0" | dmsetup create cache2
> device-mapper: reload ioctl on cache2 failed: Device or resource busy
> Command failed
>
> Kernel log shows:
> device-mapper: table: 253:8: cache: metadata device already in use by a cache
> device-mapper: ioctl: error adding target to table
Self-NACK.
This patch doesn't handle reloading a cache device. The cache struct
member reshuffle may be useful to better align on cachelines and
eliminate holes but I'll repost a separate patch accordingly.
More information about the dm-devel
mailing list