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
# /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