Bug#755674: systemd-sysv: unmounting bind mounts takes age (due to recursion?)
Samuel Thibault
sthibault at debian.org
Sat Aug 23 11:57:32 BST 2014
Hello,
Samuel Thibault, le Tue 22 Jul 2014 11:21:52 +0200, a écrit :
> During shutdown, the unmount step takes age, it seems systemd struggles
> with unmounting my bind mounts, see the attached log.
>
> I guess the problem is that since I have put /usr/src and chroots in
> /home (which is the biggest of my system partitions) and I want /home
> and /usr/src to appear in chroots, I'm using these in my /etc/fstab:
>
> /home/src /usr/src bind bind 0 0
> /home /home/32/home none bind 0 0
> /home /home/unstable/home none bind 0 0
> /home /home/squeeze/home none bind 0 0
> /home /home/squeeze-32/home none bind 0 0
> /home /home/wheezy/home none bind 0 0
> /home /home/wheezy-32/home none bind 0 0
> /usr/src /home/32/usr/src none bind 0 0
> /usr/src /home/unstable/usr/src none bind 0 0
> /usr/src /home/squeeze/usr/src none bind 0 0
> /usr/src /home/squeeze-32/usr/src none bind 0 0
> /usr/src /home/wheezy/usr/src none bind 0 0
> /usr/src /home/wheezy-32/usr/src none bind 0 0
>
> which indeed brings a recursive thing, but sysvinit's umount was
> completely fine with it...
I tried with just that fstab and it's still bearable. I have attached
the more complete fstab with all my bind mounts. This ends up with ~2500
lines in the output of the mount command... For instance
proc on /usr/local/montesting/home/wheezy-32/home/wheezy/home/squeeze-32/home/squeeze/home/32/home/32/proc type proc (rw,relatime)
There is no reason why it should contain such recursive mounts...
Just to save you the time, here are the commands to create the bind
mount directories:
mkdir -p /home/usr/src
mkdir -p /var/cache/pbuilder
mkdir -p /home/pbuilder
mkdir -p /home/tmp
for i in 32 unstable squeeze squeeze-32 wheezy wheezy-32 ; do
mkdir -p /home/$i/dev
mkdir -p /home/$i/proc
mkdir -p /home/$i/sys
mkdir -p /home/$i/home
mkdir -p /home/$i/usr/src
mkdir -p /home/$i/tmp
mkdir -p /home/$i/var/cache/pbuilder/result
done
mkdir -p /usr/local/montesting/home
Samuel
-------------- next part --------------
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
# / was on /dev/sda1 during installation
UUID=44838476-67a8-4556-8146-9dfe1912deee / ext4 errors=remount-ro 0 1
# swap was on /dev/sda5 during installation
UUID=602e49f8-65bb-4d6d-8ea7-1765ca3755ea none swap sw 0 0
/dev/sr0 /media/cdrom0 udf,iso9660 user,noauto 0 0
/home/src /usr/src bind bind 0 0
/home/pbuilder /var/cache/pbuilder bind bind 0 0
/home/tmp /var/tmp bind bind 0 0
proc /home/32/proc proc defaults 0 0
sysfs /home/32/sys sysfs defaults 0 0
/dev /home/32/dev bind bind 0 0
/home /home/32/home bind bind 0 0
/usr/src /home/32/usr/src bind bind 0 0
/tmp /home/32/tmp bind bind 0 0
/var/cache/pbuilder/result /home/32/var/cache/pbuilder/result bind bind 0 0
proc /home/unstable/proc proc defaults 0 0
sysfs /home/unstable/sys sysfs defaults 0 0
/dev /home/unstable/dev bind bind 0 0
/home /home/unstable/home bind bind 0 0
/usr/src /home/unstable/usr/src bind bind 0 0
/tmp /home/unstable/tmp bind bind 0 0
/var/cache/pbuilder/result /home/unstable/var/cache/pbuilder/result bind bind 0 0
proc /home/squeeze/proc proc defaults 0 0
sysfs /home/squeeze/sys sysfs defaults 0 0
/dev /home/squeeze/dev bind bind 0 0
/home /home/squeeze/home bind bind 0 0
/usr/src /home/squeeze/usr/src bind bind 0 0
/tmp /home/squeeze/tmp bind bind 0 0
/var/cache/pbuilder/result /home/squeeze/var/cache/pbuilder/result bind bind 0 0
proc /home/squeeze-32/proc proc defaults 0 0
sysfs /home/squeeze-32/sys sysfs defaults 0 0
/dev /home/squeeze-32/dev bind bind 0 0
/home /home/squeeze-32/home bind bind 0 0
/usr/src /home/squeeze-32/usr/src bind bind 0 0
/tmp /home/squeeze-32/tmp bind bind 0 0
/var/cache/pbuilder/result /home/squeeze-32/var/cache/pbuilder/result bind bind 0 0
proc /home/wheezy/proc proc defaults 0 0
sysfs /home/wheezy/sys sysfs defaults 0 0
/dev /home/wheezy/dev bind bind 0 0
/home /home/wheezy/home bind bind 0 0
/usr/src /home/wheezy/usr/src bind bind 0 0
/tmp /home/wheezy/tmp bind bind 0 0
/var/cache/pbuilder/result /home/wheezy/var/cache/pbuilder/result bind bind 0 0
proc /home/wheezy-32/proc proc defaults 0 0
sysfs /home/wheezy-32/sys sysfs defaults 0 0
/dev /home/wheezy-32/dev bind bind 0 0
/home /home/wheezy-32/home bind bind 0 0
/usr/src /home/wheezy-32/usr/src bind bind 0 0
/tmp /home/wheezy-32/tmp bind bind 0 0
/var/cache/pbuilder/result /home/wheezy-32/var/cache/pbuilder/result bind bind 0 0
/home /usr/local/montesting/home bind bind 0 0
More information about the Pkg-systemd-maintainers
mailing list