[Buildd-tools-devel] Bug#391319: schroot: leftover processes cause
umount to fail
Kees Cook
kees at outflux.net
Fri Oct 6 00:00:48 UTC 2006
Package: schroot
Version: 1.0.2-1
Severity: normal
Tags: patch
While using schroot on LVM snapshots with sbuild, I have sometimes run into
situations where build deps start up services (like cron, dbus, etc).
Once the build is finished, schroot attempts to umount and destroy the
LVM snapshot, but since there are still processes running in the chroot,
the umount fails.
Since the chroot is "over", it seems like it makes sense to kill all the
processes left in the chroot, and then reattempt to umount. This patch
implements that. Does this seem like a sensible change?
-- System Information:
Debian Release: testing/unstable
APT prefers unstable
APT policy: (500, 'unstable'), (500, 'testing')
Architecture: i386 (x86_64)
Shell: /bin/sh linked to /bin/bash
Kernel: Linux 2.6.17-10-generic
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)
-------------- next part --------------
Index: schroot/setup/10mount
===================================================================
--- schroot/setup/10mount (revision 1032)
+++ schroot/setup/10mount (working copy)
@@ -32,7 +32,15 @@
if [ "$AUTH_VERBOSITY" = "verbose" ]; then
echo "Unmounting $mountloc"
fi
- umount "$mountloc" || exit 1
+ if ! umount "$mountloc" 2>/dev/null; then
+ FUSER_OPTS="-mk"
+ if [ "$AUTH_VERBOSITY" = "verbose" ]; then
+ echo "Killing processes on $mountloc"
+ FUSER_OPTS="$FUSER_OPTS -v"
+ fi
+ fuser $FUSER_OPTS $mountloc
+ umount "$mountloc" || exit 1
+ fi
done || exit 1
}
More information about the Buildd-tools-devel
mailing list