From 242248cb109d2ffac5962165b7d8f04abfd0e149 Mon Sep 17 00:00:00 2001 From: Pierre Lebleu Date: Wed, 23 May 2018 10:55:57 +0200 Subject: [PATCH] fstools: allow to compress the filesystem 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 --- 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; -- 2.25.1