On 12 July 2011 10:30, Miklos Szeredi <miklos@xxxxxxxxxx> wrote: > Michal Suchanek <hramrach@xxxxxxxxxx> writes: > >> The locking order is likely determined by the structure of the union >> and not some system-wide order of filesystems so assuming the readonly >> layers are locked as well you will probably get a deadlock with >> technically correct mount: >> >> mount -t overlayfs overlayfs -olowerdir=/lower2,upperdir=/upper /tmpoverlay >> mount -t overlayfs overlayfs -olowerdir=/lower1,upperdir=/tmpoverlay /overlay >> >> mount -t overlayfs overlayfs -olowerdir=/lower1,upperdir=/upper2 /tmpoverlay2 >> mount -t overlayfs overlayfs -olowerdir=/lower2,upperdir=/tmpoverlay2 /overlay2 >> >> because now lower1 and lower2 are differently ordered in the two >> overlays. > > Overlayfs never locks both upper and lower at the same time, which means > there's no AB-BA locking dependency. The lock orderings are: > > -> /overlay > -> /lower1 > -> /tmpoverlay > -> /lower2 > -> /upper > -> /overlay2 > -> /lower2 > -> /tmpoverlay2 > -> /lower1 > -> /upper2 > > As you can see there's no nesting of lower2 and lower1 into each other. > > When you combine two filesystems, a completely new ordering is created > each time, there's no possibility to make an AB-BA nesting. At least I > cannot see one. Except you can get in situation where overlay locks lower1 and tmpoverlay waits for lower2 which is held by overlay2 waiting for lower1 in tmpoverlay2. Thanks Michal -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html