[buildd-tools-devel] [PATCH 02/12] [chroot_loopback] Reuse loopback device
Jan-Marek Glogowski
glogow at fbihome.de
Fri Jul 31 14:21:39 UTC 2009
Checks if any loopback device points to the file and reuses
it.
---
etc/setup.d/10mount | 12 +++++++++++-
1 files changed, 11 insertions(+), 1 deletions(-)
diff --git a/etc/setup.d/10mount b/etc/setup.d/10mount
index 139c4eb..190dd58 100755
--- a/etc/setup.d/10mount
+++ b/etc/setup.d/10mount
@@ -111,7 +111,17 @@ if [ "$CHROOT_TYPE" = "directory" ] || [ "$CHROOT_TYPE" = "file" ] || [ "$CHROOT
CHROOT_MOUNT_OPTIONS="--bind"
CHROOT_MOUNT_DEVICE="$UNPACK_LOCATION"
elif [ "$CHROOT_TYPE" = "loopback" ]; then
- CHROOT_MOUNT_OPTIONS="$CHROOT_MOUNT_OPTIONS -o loop"
+ LOOP_DEVICE=$(losetup -j ${CHROOT_FILE} | sed -e 's/:.*$//')
+ if [ -z "${LOOP_DEVICE}" ]; then
+ CHROOT_MOUNT_DEVICE="${CHROOT_FILE}"
+ CHROOT_MOUNT_OPTIONS="${CHROOT_MOUNT_OPTIONS} -o loop"
+ else
+ CHROOT_MOUNT_DEVICE="${LOOP_DEVICE}"
+ CHROOT_MOUNT_OPTIONS=""
+ fi
+
+ elif [ "$CHROOT_TYPE" = "block-device" ]; then
+ CHROOT_MOUNT_DEVICE="$CHROOT_DEVICE"
fi
if [ $1 = "setup-start" ] || [ $1 = "setup-recover" ]; then
--
1.6.3.2
More information about the Buildd-tools-devel
mailing list