lkml.org 
[lkml]   [2014]   [Sep]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Date
SubjectRe: Mount propagation issue
Ross Lagerwall <rosslagerwall@gmail.com> writes:

> Hi,
>
> I have encountered a strange bug (on 3.14, 3.16.3 and master) regarding
> mount namespaces and a particular directory. Somehow, mounts are being
> mounted successfully but disappearing when the process dies, but only
> for /mnt/puppy, not for any other directory in the system:
>
> # grep puppy /proc/mounts # nothing mounted yet
> # mount -t tmpfs tmpfs /mnt/puppy
> # grep puppy /proc/mounts # no output
>
> # mount -t tmpfs tmpfs /mnt/puppy2
> # grep puppy /proc/mounts
> tmpfs /mnt/puppy2 tmpfs rw,relatime 0 0
>
> Furthermore, I wrote a program to mount /mnt/puppy and immediately
> read /proc/mounts:
> # grep puppy /proc/mounts # no output
> # ./mounter
> tmpfs /mnt/puppy tmpfs rw,relatime 0 0
> # grep puppy /proc/mounts # no output
>
> Finally, I note that the problem seems to occur if the mount needs to be
> propagated to the default namespace (note that systemd causes namespaces
> to be shared by default):
> # unshare -m
>
> subshell # mount -t tmpfs tmpfs /mnt/puppy
> subshell # grep puppy /proc/mounts # no output
> subshell # mount --make-rprivate /
> subshell # mount -t tmpfs tmpfs /mnt/puppy
> subshell # grep puppy /proc/mounts # success!
> tmpfs /mnt/puppy tmpfs rw,relatime 0 0
> subshell # umount /mnt/puppy
> subshell # exit
>
> # mount --make-rprivate / # back in the default namespace
> # mount -t tmpfs tmpfs /mnt/puppy
> # grep puppy /proc/mounts # no output
>
> I hope someone has an idea of what's going on or how to debug this
> because I've run out of ideas...

My guess is that some process (systemd?) is configured to unmount that
directory if anything shows up mounted on it. So when the mount
propogates it gets unmounted and then the unmount propogates as well.

Eric



\
 
 \ /
  Last update: 2014-09-30 02:01    [W:0.042 / U:0.008 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site