[OpenWrt-Devel] [PATCH v3 1/2] fstools: allow to compress the filesystem

Pierre Lebleu pme.lebleu at gmail.com
Wed May 23 04:55:57 EDT 2018


In order to allow the mounting of the filesystem with the zlib compression,
a new CMake option (eg: CMAKE_OVL_MOUNT_COMPRESS_ZLIB) has been added.

Signed-off-by: Pierre Lebleu <pme.lebleu at gmail.com>
---
v2: change the option name
v3: use only one define as suggested
 CMakeLists.txt       | 4 ++++
 libfstools/overlay.c | 8 +++++++-
 2 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 9e855bd..4844c03 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -52,6 +52,10 @@ INSTALL(FILES libubi/libubi-tiny.h libubi/libubi.h libubi/ubi-media.h
 	DESTINATION include
 )
 
+IF(DEFINED CMAKE_OVL_MOUNT_COMPRESS_ZLIB)
+	ADD_DEFINITIONS(-DOVL_MOUNT_COMPRESS_ZLIB)
+ENDIF(DEFINED CMAKE_OVL_MOUNT_COMPRESS_ZLIB)
+
 ADD_EXECUTABLE(mount_root mount_root.c)
 TARGET_LINK_LIBRARIES(mount_root fstools)
 INSTALL(TARGETS mount_root RUNTIME DESTINATION sbin)
diff --git a/libfstools/overlay.c b/libfstools/overlay.c
index ebc43f7..068afdc 100644
--- a/libfstools/overlay.c
+++ b/libfstools/overlay.c
@@ -341,7 +341,13 @@ static int overlay_mount_fs(struct volume *v)
 		return -1;
 	}
 
-	if (mount(v->blk, "/tmp/overlay", fstype, MS_NOATIME, NULL)) {
+	if (mount(v->blk, "/tmp/overlay", fstype, MS_NOATIME,
+#ifdef OVL_MOUNT_COMPRESS_ZLIB
+		"compr=zlib"
+#else
+		NULL
+#endif
+		)) {
 		ULOG_ERR("failed to mount -t %s %s /tmp/overlay: %m\n",
 		         fstype, v->blk);
 		return -1;
-- 
1.9.1


_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
http://lists.infradead.org/mailman/listinfo/openwrt-devel



More information about the openwrt-devel mailing list