Displaying 4 results from an estimated 4 matches for "ext4_image".
Did you mean:
ext3_image
2008 Oct 11
1
[PATCH] fstype: Fix ext4/ext4dev probing
...de <endian.h>
#include <netinet/in.h>
+#include <sys/utsname.h>
#include <sys/vfs.h>
#define cpu_to_be32(x) __cpu_to_be32(x) /* Needed by romfs_fs.h */
@@ -110,29 +112,142 @@ static int minix_image(const void *buf, unsigned long long *bytes)
return 0;
}
-static int ext4_image(const void *buf, unsigned long long *bytes)
+/*
+ * Check to see if a filesystem is in /proc/filesystems.
+ * Returns 1 if found, 0 if not
+ */
+static int fs_proc_check(const char *fs_name)
+{
+ FILE *f;
+ char buf[80], *cp, *t;
+
+ f = fopen("/proc/filesystems", "r");
+ if (!f...
2019 Oct 07
0
[klibc:master] fstype: Drop obsolete support for "ext4dev"
...= strrchr(buf, '/');
- if (cp == NULL)
- continue;
- cp++;
- i = strlen(cp);
- if (i > 3) {
- t = cp + i - 3;
- if (!strcmp(t, ".ko"))
- *t = 0;
- }
- if (!strcmp(cp, fs_name)) {
- fclose(f);
- return 1;
- }
- }
- fclose(f);
- return 0;
-}
-
-static int base_ext4_image(const void *buf, unsigned long long *bytes,
- int *test_fs)
+static int ext4_image(const void *buf, unsigned long long *bytes)
{
const struct ext3_super_block *sb =
(const struct ext3_super_block *)buf;
@@ -209,43 +128,11 @@ static int base_ext4_image(const void *buf, unsigned long long...
2007 Aug 15
0
[git patch] fstype support + minor stuff
...re of the super block
diff --git a/usr/kinit/fstype/fstype.c b/usr/kinit/fstype/fstype.c
index 015b7a0..3465676 100644
--- a/usr/kinit/fstype/fstype.c
+++ b/usr/kinit/fstype/fstype.c
@@ -107,6 +107,25 @@ static int minix_image(const void *buf, unsigned long long *bytes)
return 0;
}
+static int ext4_image(const void *buf, unsigned long long *bytes)
+{
+ const struct ext3_super_block *sb =
+ (const struct ext3_super_block *)buf;
+
+ if (sb->s_magic == __cpu_to_le16(EXT2_SUPER_MAGIC)
+ && (sb->s_feature_incompat
+ & __cpu_to_le32(EXT3_FEATURE_INCOMPAT_EXTENTS)
+ || sb->s_featu...
2008 Jun 16
0
latest fixes
...s_mmp_block;
+ __u32 s_raid_stripe_width;
+ __u32 s_reserved[163];
};
#endif /* __EXT3_FS_H */
diff --git a/usr/kinit/fstype/fstype.c b/usr/kinit/fstype/fstype.c
index eee3431..6ff48e5 100644
--- a/usr/kinit/fstype/fstype.c
+++ b/usr/kinit/fstype/fstype.c
@@ -115,11 +115,15 @@ static int ext4_image(const void *buf, unsigned long long *bytes)
const struct ext3_super_block *sb =
(const struct ext3_super_block *)buf;
+ /* ext4dev needs ext2 + journal + test_fs flag + one !ext3 feature */
if (sb->s_magic == __cpu_to_le16(EXT2_SUPER_MAGIC)
+ && (sb->s_feature_compat
+ &...