[lkml]   [2011]   [Jul]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: Union mount and lockdep design issues
On 12 July 2011 10:30, Miklos Szeredi <> wrote:
> Michal Suchanek <> 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.


To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

 \ /
  Last update: 2011-07-12 12:01    [from the cache]
©2003-2014 Jasper Spaans. hosted at Digital Ocean