summaryrefslogtreecommitdiff
path: root/extlinux/btrfs.h
diff options
context:
space:
mode:
authorAlek Du <alek.du@intel.com>2009-12-17 11:14:48 +0800
committerH. Peter Anvin <hpa@zytor.com>2009-12-22 09:46:49 -0800
commit1cd67f6eb8617be02f3a1af104100eb5869b6e20 (patch)
tree11cda66bb07adb1cf934a5770698acbcc36944bc /extlinux/btrfs.h
parent9e25d6029b8c1568a74a7d9b5bc07f22b0fb8ade (diff)
downloadsyslinux-1cd67f6eb8617be02f3a1af104100eb5869b6e20.tar.gz
btrfs: add btrfs file system support to extlinuxsyslinux-4.00-pre7
the extlinux.sys will be installed in btrfs first 64K blank area, and the extlinux.conf must be in root dir... Signed-off-by: Alek Du <alek.du@intel.com> Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Diffstat (limited to 'extlinux/btrfs.h')
-rw-r--r--extlinux/btrfs.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/extlinux/btrfs.h b/extlinux/btrfs.h
new file mode 100644
index 00000000..39a861a5
--- /dev/null
+++ b/extlinux/btrfs.h
@@ -0,0 +1,22 @@
+#ifndef _BTRFS_H_
+#define _BTRFS_H_
+
+#define BTRFS_SUPER_MAGIC 0x9123683E
+#define BTRFS_SUPER_INFO_OFFSET (64 * 1024)
+#define BTRFS_SUPER_INFO_SIZE 4096
+#define BTRFS_MAGIC "_BHRfS_M"
+#define BTRFS_CSUM_SIZE 32
+#define BTRFS_FSID_SIZE 16
+
+struct btrfs_super_block {
+ unsigned char csum[BTRFS_CSUM_SIZE];
+ /* the first 3 fields must match struct btrfs_header */
+ unsigned char fsid[BTRFS_FSID_SIZE]; /* FS specific uuid */
+ u64 bytenr; /* this block number */
+ u64 flags;
+
+ /* allowed to be different from the btrfs_header from here own down */
+ u64 magic;
+} __attribute__ ((__packed__));
+
+#endif