[OpenWrt-Devel] [PATCH] fstools: add ntfs support

Ansuel Smith ansuelsmth at gmail.com
Fri Sep 28 19:01:02 EDT 2018


This adds ntfs support to block-mount

Signed-off-by: Ansuel Smith <ansuelsmth at gmail.com>
---
 block.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/block.c b/block.c
index b377429..2e3841a 100644
--- a/block.c
+++ b/block.c
@@ -711,6 +711,7 @@ static void check_filesystem(struct probe_info *pr)
 	const char *f2fsck = "/usr/sbin/fsck.f2fs";
 	const char *dosfsck = "/usr/sbin/dosfsck";
 	const char *btrfsck = "/usr/bin/btrfsck";
+	const char *ntfsck = "/usr/bin/ntfsfix";
 	const char *ckfs;
 
 	/* UBIFS does not need stuff like fsck */
@@ -725,6 +726,8 @@ static void check_filesystem(struct probe_info *pr)
 		ckfs = e2fsck;
 	} else if (!strncmp(pr->type, "btrfs", 5)) {
 		ckfs = btrfsck;
+	} else if (!strncmp(pr->type, "ntfs", 4)) {
+		ckfs = ntfsck;
 	} else {
 		ULOG_ERR("check_filesystem: %s is not supported\n", pr->type);
 		return;
@@ -743,6 +746,9 @@ static void check_filesystem(struct probe_info *pr)
 		} else if(!strncmp(pr->type, "btrfs", 5)) {
 			execl(ckfs, ckfs, "--repair", pr->dev, NULL);
 			exit(-1);
+		} else if(!strncmp(pr->type, "ntfs", 4)) {
+			execl(ckfs, ckfs, "-b", pr->dev, NULL);
+			exit(-1);
 		} else {
 			execl(ckfs, ckfs, "-p", pr->dev, NULL);
 			exit(-1);
@@ -1437,8 +1443,9 @@ static int mount_extroot(char *cfg)
 		if (strncmp(pr->type, "ext", 3) &&
 		    strncmp(pr->type, "f2fs", 4) &&
 		    strncmp(pr->type, "btrfs", 5) &&
+		    strncmp(pr->type, "ntfs", 4) &&
 		    strncmp(pr->type, "ubifs", 5)) {
-			ULOG_ERR("extroot: unsupported filesystem %s, try ext4, f2fs, btrfs or ubifs\n", pr->type);
+			ULOG_ERR("extroot: unsupported filesystem %s, try ext4, f2fs, btrfs, ntfs or ubifs\n", pr->type);
 			return -1;
 		}
 
-- 
2.17.1


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



More information about the openwrt-devel mailing list