summaryrefslogtreecommitdiff
path: root/shlibs/blkid/src/superblocks
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@infradead.org>2009-10-06 14:10:31 -0400
committerKarel Zak <kzak@redhat.com>2009-10-06 22:02:13 +0200
commite38ccfcd8e05aa08ff854359eefd7335df1317bd (patch)
treec4162c2f053cae80cbd4706c3071a1efdf384b10 /shlibs/blkid/src/superblocks
parent4a2ecf0a5071c66d8bd884888b315110af230a89 (diff)
downloadutil-linux-old-e38ccfcd8e05aa08ff854359eefd7335df1317bd.tar.gz
libblkid: add a probe for bfs
blkid is currently missing a probe for the bfs filesystem, leading to a blkid-enable xfsprogs failing xfsqa testcase 032. This patch adds a trivial probe for the magic. Signed-off-by: Christoph Hellwig <hch@lst.de>
Diffstat (limited to 'shlibs/blkid/src/superblocks')
-rw-r--r--shlibs/blkid/src/superblocks/Makefile.am3
-rw-r--r--shlibs/blkid/src/superblocks/bfs.c23
-rw-r--r--shlibs/blkid/src/superblocks/superblocks.c3
-rw-r--r--shlibs/blkid/src/superblocks/superblocks.h1
4 files changed, 28 insertions, 2 deletions
diff --git a/shlibs/blkid/src/superblocks/Makefile.am b/shlibs/blkid/src/superblocks/Makefile.am
index b4097217..a7c4a231 100644
--- a/shlibs/blkid/src/superblocks/Makefile.am
+++ b/shlibs/blkid/src/superblocks/Makefile.am
@@ -42,4 +42,5 @@ libblkid_superblocks_la_SOURCES = \
btrfs.c \
lvm.c \
zfs.c \
- ubifs.c
+ ubifs.c \
+ bfs.c
diff --git a/shlibs/blkid/src/superblocks/bfs.c b/shlibs/blkid/src/superblocks/bfs.c
new file mode 100644
index 00000000..8a34c583
--- /dev/null
+++ b/shlibs/blkid/src/superblocks/bfs.c
@@ -0,0 +1,23 @@
+/*
+ * Copyright (C) 2009 Red Hat, Inc.
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ */
+
+#include "superblocks.h"
+
+/*
+ * BFS actually has two different labels in the superblock, each
+ * of them only 6 bytes long. Until we find out what their use
+ * we just ignore them.
+ */
+const struct blkid_idinfo bfs_idinfo =
+{
+ .name = "bfs",
+ .usage = BLKID_USAGE_FILESYSTEM,
+ .magics = {
+ { .magic = "\xce\xfa\xad\x1b", .len = 4 },
+ { NULL }
+ }
+};
diff --git a/shlibs/blkid/src/superblocks/superblocks.c b/shlibs/blkid/src/superblocks/superblocks.c
index 8cd50c95..d2c7825e 100644
--- a/shlibs/blkid/src/superblocks/superblocks.c
+++ b/shlibs/blkid/src/superblocks/superblocks.c
@@ -131,7 +131,8 @@ static const struct blkid_idinfo *idinfos[] =
&squashfs_idinfo,
&netware_idinfo,
&btrfs_idinfo,
- &ubifs_idinfo
+ &ubifs_idinfo,
+ &bfs_idinfo
};
/*
diff --git a/shlibs/blkid/src/superblocks/superblocks.h b/shlibs/blkid/src/superblocks/superblocks.h
index 170c8260..641397a7 100644
--- a/shlibs/blkid/src/superblocks/superblocks.h
+++ b/shlibs/blkid/src/superblocks/superblocks.h
@@ -60,6 +60,7 @@ extern const struct blkid_idinfo xenix_idinfo;
extern const struct blkid_idinfo btrfs_idinfo;
extern const struct blkid_idinfo ubifs_idinfo;
extern const struct blkid_idinfo zfs_idinfo;
+extern const struct blkid_idinfo bfs_idinfo;
/*
* superblock functions