|
|
@@ -1,85 +0,0 @@
|
|
|
-diff -ruN mountd-0.1.orig/include/fs.h mountd-0.1/include/fs.h
|
|
|
---- mountd-0.1.orig/include/fs.h 2009-10-02 22:57:04.000000000 +0200
|
|
|
-+++ mountd-0.1/include/fs.h 2012-07-08 18:42:32.000000000 +0200
|
|
|
-@@ -7,5 +7,6 @@
|
|
|
- #define EFI 7
|
|
|
- #define NTFS 8
|
|
|
- #define EXTENDED 9
|
|
|
-+#define EXT4 10
|
|
|
-
|
|
|
- int detect_fs(char *device);
|
|
|
-diff -ruN mountd-0.1.orig/lib/fs.c mountd-0.1/lib/fs.c
|
|
|
---- mountd-0.1.orig/lib/fs.c 2009-10-02 23:26:22.000000000 +0200
|
|
|
-+++ mountd-0.1/lib/fs.c 2012-07-08 19:28:08.000000000 +0200
|
|
|
-@@ -91,9 +91,14 @@
|
|
|
- goto out;
|
|
|
- if(get_le_short(buffer + 56) == 0xEF53)
|
|
|
- {
|
|
|
-- if((get_le_long(buffer + 96) & 0x0008)
|
|
|
-- || (get_le_long(buffer + 92) & 0x0004))
|
|
|
-- ret = EXT3;
|
|
|
-+ if(get_le_long(buffer + 92) & 0x0004)
|
|
|
-+ {
|
|
|
-+ if ((get_le_long(buffer + 96) < 0x0000040)
|
|
|
-+ && (get_le_long(buffer + 100) < 0x0000008))
|
|
|
-+ ret = EXT3;
|
|
|
-+ else
|
|
|
-+ ret = EXT4;
|
|
|
-+ }
|
|
|
- else
|
|
|
- ret = EXT2;
|
|
|
- }
|
|
|
-diff -ruN mountd-0.1.orig/lib/mount.c mountd-0.1/lib/mount.c
|
|
|
---- mountd-0.1.orig/lib/mount.c 2009-10-03 12:54:57.000000000 +0200
|
|
|
-+++ mountd-0.1/lib/mount.c 2012-07-08 19:04:29.000000000 +0200
|
|
|
-@@ -53,7 +53,10 @@
|
|
|
- "EXT3",
|
|
|
- "FAT",
|
|
|
- "HFSPLUS",
|
|
|
-- "NTFS"
|
|
|
-+ "",
|
|
|
-+ "NTFS",
|
|
|
-+ "",
|
|
|
-+ "EXT4"
|
|
|
- };
|
|
|
-
|
|
|
- #define MAX_MOUNTED 32
|
|
|
-@@ -93,7 +96,7 @@
|
|
|
- ucix_add_option(ctx, mountd, q->serial, "rev", q->rev);
|
|
|
- snprintf(t, 64, "size%d", atoi(&q->dev[3]));
|
|
|
- ucix_add_option(ctx, mountd, q->serial, t, q->size);
|
|
|
-- if(q->fs > MBR && q->fs <= NTFS)
|
|
|
-+ if(q->fs > MBR && q->fs <= EXT4)
|
|
|
- {
|
|
|
- snprintf(t, 64, "fs%d", atoi(&q->dev[3]));
|
|
|
- ucix_add_option(ctx, mountd, q->serial, t, fs_names[q->fs]);
|
|
|
-@@ -131,7 +134,7 @@
|
|
|
- {
|
|
|
- struct mount *mount;
|
|
|
- char tmp[64], tmp2[64];
|
|
|
-- if(fs <= MBR || fs > NTFS)
|
|
|
-+ if(fs <= MBR || fs > EXT4)
|
|
|
- return;
|
|
|
- mount = malloc(sizeof(struct mount));
|
|
|
- INIT_LIST_HEAD(&mount->list);
|
|
|
-@@ -147,7 +150,7 @@
|
|
|
- mount->mounted = 0;
|
|
|
- mount->fs = fs;
|
|
|
- list_add(&mount->list, &mounts);
|
|
|
-- if((!mount->ignore) && (mount->fs > MBR) && (mount->fs <= NTFS))
|
|
|
-+ if((!mount->ignore) && (mount->fs > MBR) && (mount->fs <= EXT4))
|
|
|
- {
|
|
|
- log_printf("new mount : %s -> %s (%s)\n", name, dev, fs_names[mount->fs]);
|
|
|
- snprintf(tmp, 64, "%s%s", uci_path, name);
|
|
|
-@@ -226,6 +229,11 @@
|
|
|
- log_printf("mount -t vfat -o rw,uid=1000,gid=1000 /dev/%s %s", mount->dev, tmp);
|
|
|
- ret = system_printf("mount -t vfat -o rw,uid=1000,gid=1000 /dev/%s %s", mount->dev, tmp);
|
|
|
- }
|
|
|
-+ if(mount->fs == EXT4)
|
|
|
-+ {
|
|
|
-+ log_printf("mount -t ext4 -o rw,defaults /dev/%s %s", mount->dev, tmp);
|
|
|
-+ ret = system_printf("mount -t ext4 -o rw,defaults /dev/%s %s", mount->dev, tmp);
|
|
|
-+ }
|
|
|
- if(mount->fs == EXT3)
|
|
|
- {
|
|
|
- log_printf("mount -t ext3 -o rw,defaults /dev/%s %s", mount->dev, tmp);
|