From 1858a492c300a0066a91f8096a858231c3cbd246 Mon Sep 17 00:00:00 2001 From: Christian Marangi Date: Fri, 12 Jan 2024 19:47:58 +0100 Subject: [PATCH] mount_root: permit to pass mount options for rootfs mount Introduce an additional arg on calling mount_root start to pass additional mount options on filesystem mount. On example is F2FS filesystem mounted with compress_algorithm option enabled to compress files as they are written to reduce flash wear. Example usage: (assuming a F2FS filesystem) mount_root start "compress_algorithm=zstd" This is currently limited to rootfs mount and is not currently supported to pass option to rootfs_data mount. (overlay scenario) Signed-off-by: Christian Marangi --- mount_root.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/mount_root.c b/mount_root.c index 3bd4a24..e7c398f 100644 --- a/mount_root.c +++ b/mount_root.c @@ -28,7 +28,7 @@ * filesystem. */ static int -start(int argc, char *argv[1]) +start(int argc, char *argv[3]) { struct volume *root; struct volume *data = volume_find("rootfs_data"); @@ -40,8 +40,17 @@ start(int argc, char *argv[1]) if (!data) { root = volume_find("rootfs"); volume_init(root); - ULOG_NOTE("mounting /dev/root\n"); - mount("/dev/root", "/", NULL, MS_NOATIME | MS_REMOUNT, 0); + if (argc < 3) + ULOG_NOTE("mounting /dev/root\n"); + else + ULOG_NOTE("mounting /dev/root with options %s\n", argv[2]); + + /* + * If present, mount rootfs with passed options. + * Example F2FS filesystem with compress_algorithm option. + */ + mount("/dev/root", "/", NULL, MS_NOATIME | MS_REMOUNT, + argc < 3 ? 0 : argv[2]); } /* Check for extroot config in rootfs before even trying rootfs_data */ -- 2.30.2