summaryrefslogtreecommitdiffstats
path: root/libblkid
diff options
context:
space:
mode:
authorHarry Mallon2018-06-25 17:19:18 +0200
committerHarry Mallon2018-06-25 17:19:18 +0200
commit084f092a62f8767998d8b00222eb14f3ec94e8b6 (patch)
tree31f15524a89a84f793ec3f6be8d7db8e229e0ed1 /libblkid
parentdocs: update TODO (diff)
downloadkernel-qcow2-util-linux-084f092a62f8767998d8b00222eb14f3ec94e8b6.tar.gz
kernel-qcow2-util-linux-084f092a62f8767998d8b00222eb14f3ec94e8b6.tar.xz
kernel-qcow2-util-linux-084f092a62f8767998d8b00222eb14f3ec94e8b6.zip
libblkid: Add very basic APFS recognition
Diffstat (limited to 'libblkid')
-rw-r--r--libblkid/src/Makemodule.am1
-rw-r--r--libblkid/src/superblocks/apfs.c19
-rw-r--r--libblkid/src/superblocks/superblocks.c3
-rw-r--r--libblkid/src/superblocks/superblocks.h1
4 files changed, 23 insertions, 1 deletions
diff --git a/libblkid/src/Makemodule.am b/libblkid/src/Makemodule.am
index ea0230702..4109561c4 100644
--- a/libblkid/src/Makemodule.am
+++ b/libblkid/src/Makemodule.am
@@ -44,6 +44,7 @@ libblkid_la_SOURCES = \
libblkid/src/partitions/unixware.c \
\
libblkid/src/superblocks/adaptec_raid.c \
+ libblkid/src/superblocks/apfs.c \
libblkid/src/superblocks/bcache.c \
libblkid/src/superblocks/befs.c \
libblkid/src/superblocks/bfs.c \
diff --git a/libblkid/src/superblocks/apfs.c b/libblkid/src/superblocks/apfs.c
new file mode 100644
index 000000000..6303d9b17
--- /dev/null
+++ b/libblkid/src/superblocks/apfs.c
@@ -0,0 +1,19 @@
+/*
+ * Copyright (C) 2018 Harry Mallon <hjmallon@gmail.com>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ */
+
+#include "superblocks.h"
+
+const struct blkid_idinfo apfs_idinfo =
+{
+ .name = "apfs",
+ .usage = BLKID_USAGE_FILESYSTEM,
+ .magics =
+ {
+ { .magic = "NXSB", .len = 4, .sboff = 32 },
+ { NULL }
+ }
+};
diff --git a/libblkid/src/superblocks/superblocks.c b/libblkid/src/superblocks/superblocks.c
index 6dfd2be64..e95c1e626 100644
--- a/libblkid/src/superblocks/superblocks.c
+++ b/libblkid/src/superblocks/superblocks.c
@@ -163,7 +163,8 @@ static const struct blkid_idinfo *idinfos[] =
&nilfs2_idinfo,
&exfat_idinfo,
&f2fs_idinfo,
- &mpool_idinfo
+ &mpool_idinfo,
+ &apfs_idinfo
};
/*
diff --git a/libblkid/src/superblocks/superblocks.h b/libblkid/src/superblocks/superblocks.h
index d677f85bc..85858b9fc 100644
--- a/libblkid/src/superblocks/superblocks.h
+++ b/libblkid/src/superblocks/superblocks.h
@@ -82,6 +82,7 @@ extern const struct blkid_idinfo mpool_idinfo;
extern const struct blkid_idinfo vdo_idinfo;
extern const struct blkid_idinfo stratis_idinfo;
extern const struct blkid_idinfo bitlocker_idinfo;
+extern const struct blkid_idinfo apfs_idinfo;
/*
* superblock functions