Re: [overlayfs] lockdep splat after mounting overlayfs over overlayfs

From: Xu Wang
Date: Thu Jun 25 2015 - 03:24:14 EST


> I've accidentally mounted one overlayfs over another and got obvious
> warning from lockdep: i_mutex lockdep classes are per-fs-type.
>
> # mount -t overlay overlay 1 -o
> upperdir=1_upper,workdir=1_work,lowerdir=1_lower
> # mount -t overlay overlay 2 -o upperdir=2_upper,workdir=2_work,lowerdir=1
> # ls 2

This reporting is positive, we are not in deadlock situation actually. The "2" dir
of overlayfs will call iterate_dir->"1" dir of overlayfs->iterate_dir, and the nest
iterate_dir happened on the same file system, so the warning came out.

We'd better make the lower and upper in different fs instance, and this warning
will disappear.

And this lockdep warning happened when the nest iterate_dir call of same fs(I
mean the same super block). The function check_deadlock in lockdep.c will
report the nest lock of same process. If we make the 2_upper and 2_work in
a different fs, no warning comes out.

Thanks,

--
George Wang çæ

Kernel Quantity Engineer
Red Hat Software (Beijing) Co.,Ltd
IRC:xuw
Tel:+86-010-62608041
Phone:15901231579
9/F, Tower C, Raycom
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/