fstools: allow to compress the filesystem
authorPierre Lebleu <pme.lebleu@gmail.com>
Wed, 23 May 2018 08:55:57 +0000 (10:55 +0200)
committerJohn Crispin <john@phrozen.org>
Thu, 24 May 2018 07:40:35 +0000 (09:40 +0200)
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@gmail.com>
CMakeLists.txt
libfstools/overlay.c

index 9e855bda27699f26e0831565a3813daa55636132..4844c0381840e048582e95ba24b5daad15a53ef9 100644 (file)
@@ -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)
index ebc43f70257a24d00719f8dd2af7a48180a2d41f..068afdc44392c433294a2c0fbe6a281f54d87e6d 100644 (file)
@@ -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;