summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Mason <chris.mason@oracle.com>2007-04-09 10:42:55 -0400
committerDavid Woodhouse <dwmw2@hera.kernel.org>2007-04-09 10:42:55 -0400
commit86c2d787286b888a7f45ee522310f773b8466917 (patch)
tree9c235434475c25dff72cf8ce284bf163c73a6f3b
parent8accdae27a678a47f021128121f2975e6fc25201 (diff)
groundwork for subvolume and snapshot roots
-rw-r--r--ctree.h11
-rw-r--r--mkfs.c1
2 files changed, 12 insertions, 0 deletions
diff --git a/ctree.h b/ctree.h
index 19e79270..4c752892 100644
--- a/ctree.h
+++ b/ctree.h
@@ -740,6 +740,17 @@ static inline void btrfs_set_super_blocknr(struct btrfs_super_block *s, u64 val)
s->blocknr = cpu_to_le64(val);
}
+static inline u64 btrfs_super_generation(struct btrfs_super_block *s)
+{
+ return le64_to_cpu(s->generation);
+}
+
+static inline void btrfs_set_super_generation(struct btrfs_super_block *s,
+ u64 val)
+{
+ s->generation = cpu_to_le64(val);
+}
+
static inline u64 btrfs_super_root(struct btrfs_super_block *s)
{
return le64_to_cpu(s->root);
diff --git a/mkfs.c b/mkfs.c
index f182a190..c94dbf9c 100644
--- a/mkfs.c
+++ b/mkfs.c
@@ -120,6 +120,7 @@ int mkfs(int fd, u64 num_blocks, u32 blocksize)
u32 itemoff;
u32 start_block = BTRFS_SUPER_INFO_OFFSET / blocksize;
+ btrfs_set_super_generation(&super, 1);
btrfs_set_super_blocknr(&super, start_block);
btrfs_set_super_root(&super, start_block + 1);
strcpy((char *)(&super.magic), BTRFS_MAGIC);