[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#885466: live-boot: Please support setting upperdir tmpfs mount point size



Source: live-boot
Version: 1:20170623
Severity: normal
Tags: patch

Hi,

Resizing the upperdir tmpfs mount will not affect mounted overlays.
The tmpfs size must be configured when mounting it. Therefore please add
a overlay-size configuration option. A tested patch is attached.

-- 
Benjamin Drung
System Developer
Debian & Ubuntu Developer

ProfitBricks GmbH
Greifswalder Str. 207
D - 10405 Berlin

Email: benjamin.drung@profitbricks.com
URL: https://www.profitbricks.de

Sitz der Gesellschaft: Berlin
Registergericht: Amtsgericht Charlottenburg, HRB 125506 B
Geschäftsführer: Achim Weiss, Matthias Steinberg
>From 7735def74f55c617ee7f82f6c540f15e2e8adee7 Mon Sep 17 00:00:00 2001
From: Benjamin Drung <benjamin.drung@profitbricks.com>
Date: Fri, 22 Dec 2017 12:34:20 +0100
Subject: [PATCH] Support setting upperdir tmpfs mount point size

Resizing the upperdir tmpfs mount will not affect mounted overlays.
The tmpfs size must be configured when mounting it. Therefore add a
overlay-size configuration option.

Signed-off-by: Benjamin Drung <benjamin.drung@profitbricks.com>
---
 components/9990-cmdline-old | 5 +++++
 components/9990-overlay.sh  | 4 ++--
 manpages/en/live-boot.7     | 2 ++
 3 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/components/9990-cmdline-old b/components/9990-cmdline-old
index a565ce1..03e8fc6 100755
--- a/components/9990-cmdline-old
+++ b/components/9990-cmdline-old
@@ -161,6 +161,11 @@ Cmdline_old ()
 				ramdisk_size="${_PARAMETER#ramdisk-size=}"
 				;;
 
+			overlay-size=*)
+				OVERLAY_SIZE="${_PARAMETER#overlay-size=}"
+				export OVERLAY_SIZE
+				;;
+
 			persistence)
 				PERSISTENCE="true"
 				export PERSISTENCE
diff --git a/components/9990-overlay.sh b/components/9990-overlay.sh
index 8fd0cfd..00dd6a9 100755
--- a/components/9990-overlay.sh
+++ b/components/9990-overlay.sh
@@ -240,12 +240,12 @@ setup_unionfs ()
 	then
 		cowdevice="tmpfs"
 		cow_fstype="tmpfs"
-		cow_mountopt="rw,noatime,mode=755"
+		cow_mountopt="rw,noatime,mode=755,size=${OVERLAY_SIZE-50%}"
 	fi
 
 	if [ -n "${PERSISTENCE_READONLY}" ] && [ "${cowdevice}" != "tmpfs" ]
 	then
-		mount -t tmpfs -o rw,noatime,mode=755 tmpfs "/live/overlay"
+		mount -t tmpfs -o rw,noatime,mode=755,size=${OVERLAY_SIZE-50%} tmpfs "/live/overlay"
 		root_backing="/live/persistence/$(basename ${cowdevice})-root"
 		mkdir -p ${root_backing}
 	else
diff --git a/manpages/en/live-boot.7 b/manpages/en/live-boot.7
index 72184cc..db36641 100644
--- a/manpages/en/live-boot.7
+++ b/manpages/en/live-boot.7
@@ -104,6 +104,8 @@ disables the "persistence" feature, useful if the bootloader (like syslinux) has
 Do not prompt to eject the live medium.
 .IP "\fBramdisk\-size\fR" 4
 This parameter defines a custom ramdisk size (it's the '\-o size' option of tmpfs mount). By default, there is no ramdisk size set, so the default of mount applies (currently 50% of available RAM). Note that this option has currently no effect when booting with toram.
+.IP "\fBoverlay\-size\fR=\fISIZE\fR" 4
+The size of the tmpfs mount (used for the upperdir union root mount) in bytes, and rounded up to entire pages. This option accepts a suffix % to limit the instance to that percentage of your physical RAM or a suffix k, m or g for Ki, Mi, Gi (binary kilo (kibi), binary mega (mebi) and binary giga (gibi)). By default, 50% of available RAM will be used.
 .IP "\fBswap=true\fR" 4
 This parameter enables usage of local swap partitions.
 .IP "\fBpersistence\fR" 4
-- 
2.14.1


Reply to: