[dm-devel] Does dm avoid container/member loops?

Alasdair G Kergon agk at redhat.com
Thu Oct 5 13:40:50 UTC 2006


On Thu, Oct 05, 2006 at 03:42:24PM +1000, Neil Brown wrote:
>  As both dm and md  create a block device using other block
>  devices as components, and as components can be added after creation,
>  it is theoretically possible to create a loop.

Userspace LVM2 code takes steps to catch the most likely cases:
  exclusive open is required to create a PV;
  device-mapper dependencies are checked for loops when adding a PV to a VG.

The general problem is harder as you also have to track through filesystems
(losetup) etc.

>  This would probably give lockdep a major headache, but should detect
>  loops reliably, including loops involving both md and dm.

I reckon the solution involves bd_claim* preventing loops in the device
dependency tree.

Alasdair
-- 
agk at redhat.com




More information about the dm-devel mailing list