]> git.ipfire.org Git - thirdparty/e2fsprogs.git/blobdiff - lib/e2p/feature.c
Merge branch 'maint' into next
[thirdparty/e2fsprogs.git] / lib / e2p / feature.c
index 30d2db179b2eb5159a86b2e724be108919b77f0b..965ba33be5452cdbaedfa0edaefbcb27de58b116 100644 (file)
@@ -18,7 +18,7 @@
 
 #include "e2p.h"
 #include <ext2fs/ext2fs.h>
-#include <ext2fs/jfs_user.h>
+#include <ext2fs/kernel-jbd.h>
 
 struct feature {
        int             compat;
@@ -45,6 +45,10 @@ static struct feature feature_list[] = {
                        "snapshot_bitmap" },
        {       E2P_FEATURE_COMPAT, EXT4_FEATURE_COMPAT_SPARSE_SUPER2,
                        "sparse_super2" },
+       {       E2P_FEATURE_COMPAT, EXT4_FEATURE_COMPAT_FAST_COMMIT,
+                       "fast_commit" },
+       {       E2P_FEATURE_COMPAT, EXT4_FEATURE_COMPAT_STABLE_INODES,
+                       "stable_inodes" },
 
        {       E2P_FEATURE_RO_INCOMPAT, EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER,
                        "sparse_super" },
@@ -68,6 +72,14 @@ static struct feature feature_list[] = {
                        "metadata_csum"},
        {       E2P_FEATURE_RO_INCOMPAT, EXT4_FEATURE_RO_COMPAT_REPLICA,
                        "replica" },
+       {       E2P_FEATURE_RO_INCOMPAT, EXT4_FEATURE_RO_COMPAT_READONLY,
+                       "read-only" },
+       {       E2P_FEATURE_RO_INCOMPAT, EXT4_FEATURE_RO_COMPAT_PROJECT,
+                       "project"},
+       {       E2P_FEATURE_RO_INCOMPAT, EXT4_FEATURE_RO_COMPAT_SHARED_BLOCKS,
+                       "shared_blocks"},
+       {       E2P_FEATURE_RO_INCOMPAT, EXT4_FEATURE_RO_COMPAT_VERITY,
+                       "verity"},
 
        {       E2P_FEATURE_INCOMPAT, EXT2_FEATURE_INCOMPAT_COMPRESSION,
                        "compression" },
@@ -93,28 +105,34 @@ static struct feature feature_list[] = {
                        "ea_inode"},
        {       E2P_FEATURE_INCOMPAT, EXT4_FEATURE_INCOMPAT_DIRDATA,
                        "dirdata"},
+       {       E2P_FEATURE_INCOMPAT, EXT4_FEATURE_INCOMPAT_CSUM_SEED,
+                       "metadata_csum_seed"},
        {       E2P_FEATURE_INCOMPAT, EXT4_FEATURE_INCOMPAT_LARGEDIR,
                        "large_dir"},
        {       E2P_FEATURE_INCOMPAT, EXT4_FEATURE_INCOMPAT_INLINE_DATA,
                        "inline_data"},
        {       E2P_FEATURE_INCOMPAT, EXT4_FEATURE_INCOMPAT_ENCRYPT,
                        "encrypt"},
+       {       E2P_FEATURE_INCOMPAT, EXT4_FEATURE_INCOMPAT_CASEFOLD,
+                       "casefold"},
+       {       E2P_FEATURE_INCOMPAT, EXT4_FEATURE_INCOMPAT_CASEFOLD,
+                       "fname_encoding"},
        {       0, 0, 0 },
 };
 
 static struct feature jrnl_feature_list[] = {
-       {       E2P_FEATURE_COMPAT, JFS_FEATURE_COMPAT_CHECKSUM,
+       {       E2P_FEATURE_COMPAT, JBD2_FEATURE_COMPAT_CHECKSUM,
                        "journal_checksum" },
 
-       {       E2P_FEATURE_INCOMPAT, JFS_FEATURE_INCOMPAT_REVOKE,
+       {       E2P_FEATURE_INCOMPAT, JBD2_FEATURE_INCOMPAT_REVOKE,
                        "journal_incompat_revoke" },
-       {       E2P_FEATURE_INCOMPAT, JFS_FEATURE_INCOMPAT_64BIT,
+       {       E2P_FEATURE_INCOMPAT, JBD2_FEATURE_INCOMPAT_64BIT,
                        "journal_64bit" },
-       {       E2P_FEATURE_INCOMPAT, JFS_FEATURE_INCOMPAT_ASYNC_COMMIT,
+       {       E2P_FEATURE_INCOMPAT, JBD2_FEATURE_INCOMPAT_ASYNC_COMMIT,
                        "journal_async_commit" },
-       {       E2P_FEATURE_INCOMPAT, JFS_FEATURE_INCOMPAT_CSUM_V2,
+       {       E2P_FEATURE_INCOMPAT, JBD2_FEATURE_INCOMPAT_CSUM_V2,
                        "journal_checksum_v2" },
-       {       E2P_FEATURE_INCOMPAT, JFS_FEATURE_INCOMPAT_CSUM_V3,
+       {       E2P_FEATURE_INCOMPAT, JBD2_FEATURE_INCOMPAT_CSUM_V3,
                        "journal_checksum_v3" },
        {       0, 0, 0 },
 };
@@ -185,7 +203,7 @@ int e2p_string2feature(char *string, int *compat_type, unsigned int *mask)
        if (string[9] == 0)
                return 1;
        num = strtol(string+9, &eptr, 10);
-       if (num > 32 || num < 0)
+       if (num > 31 || num < 0)
                return 1;
        if (*eptr)
                return 1;
@@ -259,7 +277,7 @@ int e2p_jrnl_string2feature(char *string, int *compat_type, unsigned int *mask)
        if (string[9] == 0)
                return 1;
        num = strtol(string+9, &eptr, 10);
-       if (num > 32 || num < 0)
+       if (num > 31 || num < 0)
                return 1;
        if (*eptr)
                return 1;