From: Pierre Lebleu Date: Wed, 23 May 2018 08:55:57 +0000 (+0200) Subject: fstools: allow to compress the filesystem X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=242248cb109d2ffac5962165b7d8f04abfd0e149;p=oweals%2Ffstools.git 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 --- 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;