Bug#354344: [Buildd-tools-devel] Bug#354344: schroot: please use mount --rbind when mounting session-managed plain chroots

2006-06-13 Thread Roger Leigh
tags 354344 + patch fixed-upstream pending
thanks

Adeodato Simó [EMAIL PROTECTED] writes:

   the current implementation for session-managed plain chroots uses
   mount --bind to mount the chroot under /var/lib/schroot/mount. Roger's
   initial idea was to use mount --rbind, so that existing bind-mounts
   would be preserved, but he discovered a bug in mount (#354298) that
   prevents --rbind from being useful.

   This bug is a reminder to move from --bind to --rbind once #354298 is
   fixed.

Now schroot uses a helper (schroot-listmounts) to assist with
filesystem unmounting, the bug in mount can be worked around by using
/proc/mounts.

I applied the following patch to SVN to do this.  It will apply and
work with 0.2.11-1 as well (but not earlier versions).


Regards,
Roger

-- 
Roger Leigh
Printing on GNU/Linux?  http://gutenprint.sourceforge.net/
Debian GNU/Linuxhttp://www.debian.org/
GPG Public Key: 0x25BFB848.  Please sign and encrypt your mail.
Index: schroot/setup/10mount
===
--- schroot/setup/10mount	(revision 711)
+++ schroot/setup/10mount	(working copy)
@@ -44,7 +44,7 @@
 if [ $CHROOT_TYPE = plain ] || [ $CHROOT_TYPE = file ] || [ $CHROOT_TYPE = block-device ] || [ $CHROOT_TYPE = lvm-snapshot ]; then
 
 if [ $CHROOT_TYPE = plain ]; then
-	CHROOT_MOUNT_OPTIONS=--bind
+	CHROOT_MOUNT_OPTIONS=--rbind
 	CHROOT_MOUNT_DEVICE=$CHROOT_LOCATION
 fi
 
@@ -75,11 +75,13 @@
 	do_mount $CHROOT_MOUNT_OPTIONS $CHROOT_MOUNT_DEVICE $CHROOT_MOUNT_LOCATION
 	fi
 
-	do_mount -t procproc ${CHROOT_PATH}/proc
-	do_mount -o rw,bind /dev/pts ${CHROOT_PATH}/dev/pts
-	do_mount -t tmpfs   tmpfs${CHROOT_PATH}/dev/shm
-	do_mount -o rw,bind /home${CHROOT_PATH}/home
-	do_mount -o rw,bind /tmp ${CHROOT_PATH}/tmp
+	if [ $CHROOT_TYPE != plain ]; then
+	do_mount -t procproc ${CHROOT_PATH}/proc
+	do_mount -o rw,bind /dev/pts ${CHROOT_PATH}/dev/pts
+	do_mount -t tmpfs   tmpfs${CHROOT_PATH}/dev/shm
+	do_mount -o rw,bind /home${CHROOT_PATH}/home
+	do_mount -o rw,bind /tmp ${CHROOT_PATH}/tmp
+	fi
 
 elif [ $1 = setup-stop ]; then
 
Index: debian/changelog
===
--- debian/changelog	(revision 711)
+++ debian/changelog	(working copy)
@@ -1,6 +1,8 @@
 schroot (0.99.0-1) unstable; urgency=low
 
   * New upstream release.
+  * Bind mounts are now used for session-managed plain chroots
+(Closes: #354344).
 
  --
 
Index: ChangeLog
===
--- ChangeLog	(revision 711)
+++ ChangeLog	(working copy)
@@ -1,5 +1,13 @@
 2006-06-13  Roger Leigh  [EMAIL PROTECTED]
 
+	* debian/changelog: Close #354344.
+
+	* schroot/setup/10mount: Mount plain chroots with --rbind rather
+	than --bind.  This is safe now schroot-listmounts is used to
+	unmount all filesystems in the chroot.
+
+2006-06-13  Roger Leigh  [EMAIL PROTECTED]
+
 	* THANKS: New file.  Add Ben Hutchings.
 
 2006-06-13  Roger Leigh  [EMAIL PROTECTED]


pgpbomMUwXjed.pgp
Description: PGP signature


Bug#354344: schroot: please use mount --rbind when mounting session-managed plain chroots

2006-02-25 Thread Adeodato Simó
Package: schroot
Version: 0.2.4-1
Severity: wishlist

Hi,

  the current implementation for session-managed plain chroots uses
  mount --bind to mount the chroot under /var/lib/schroot/mount. Roger's
  initial idea was to use mount --rbind, so that existing bind-mounts
  would be preserved, but he discovered a bug in mount (#354298) that
  prevents --rbind from being useful.

  This bug is a reminder to move from --bind to --rbind once #354298 is
  fixed.

  Cheers,

-- 
Adeodato Simó dato at net.com.org.es
Debian Developer  adeodato at debian.org
 
The true teacher defends his pupils against his own personal influence.
-- Amos Bronson Alcott



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]