From: Ansuel Smith Date: Fri, 28 Sep 2018 23:01:02 +0000 (+0200) Subject: fstools: add ntfs support X-Git-Url: http://git.openwrt.org/?a=commitdiff_plain;h=29e53af0b91954ca6a13bdd1f0e67c939ccb8e6d;p=project%2Ffstools.git fstools: add ntfs support This adds ntfs support to block-mount Signed-off-by: Ansuel Smith --- 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; }