diff options
Diffstat (limited to 'meta/recipes-devtools/btrfs-tools/btrfs-tools/upstream-tmp/0006-Btrfs-progs-update-super-fields-for-space-cache.patch')
-rw-r--r-- | meta/recipes-devtools/btrfs-tools/btrfs-tools/upstream-tmp/0006-Btrfs-progs-update-super-fields-for-space-cache.patch | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/meta/recipes-devtools/btrfs-tools/btrfs-tools/upstream-tmp/0006-Btrfs-progs-update-super-fields-for-space-cache.patch b/meta/recipes-devtools/btrfs-tools/btrfs-tools/upstream-tmp/0006-Btrfs-progs-update-super-fields-for-space-cache.patch new file mode 100644 index 0000000000..d8b8b108e8 --- /dev/null +++ b/meta/recipes-devtools/btrfs-tools/btrfs-tools/upstream-tmp/0006-Btrfs-progs-update-super-fields-for-space-cache.patch @@ -0,0 +1,57 @@ +Upstream-Status: Inappropriate [Backport] +From c2cefc42ebf8e32e36b1866048a02a579f2cef9a Mon Sep 17 00:00:00 2001 +From: Josef Bacik <josef@redhat.com> +Date: Thu, 9 Dec 2010 18:27:03 +0000 +Subject: [PATCH 06/15] Btrfs-progs: update super fields for space cache + +This patch updates the super field to add the cache_generation member. It also +makes us set it to -1 on mkfs so any new filesystem will get the space cache +stuff turned on. Thanks, + +Signed-off-by: Josef Bacik <josef@redhat.com> +Signed-off-by: Chris Mason <chris.mason@oracle.com> +--- + ctree.h | 6 +++++- + utils.c | 1 + + 2 files changed, 6 insertions(+), 1 deletions(-) + +diff --git a/ctree.h b/ctree.h +index b79e238..962c510 100644 +--- a/ctree.h ++++ b/ctree.h +@@ -340,8 +340,10 @@ struct btrfs_super_block { + + char label[BTRFS_LABEL_SIZE]; + ++ __le64 cache_generation; ++ + /* future expansion */ +- __le64 reserved[32]; ++ __le64 reserved[31]; + u8 sys_chunk_array[BTRFS_SYSTEM_CHUNK_ARRAY_SIZE]; + } __attribute__ ((__packed__)); + +@@ -1564,6 +1566,8 @@ BTRFS_SETGET_STACK_FUNCS(super_incompat_flags, struct btrfs_super_block, + incompat_flags, 64); + BTRFS_SETGET_STACK_FUNCS(super_csum_type, struct btrfs_super_block, + csum_type, 16); ++BTRFS_SETGET_STACK_FUNCS(super_cache_generation, struct btrfs_super_block, ++ cache_generation, 64); + + static inline int btrfs_super_csum_size(struct btrfs_super_block *s) + { +diff --git a/utils.c b/utils.c +index 2a15d86..35e17b8 100644 +--- a/utils.c ++++ b/utils.c +@@ -107,6 +107,7 @@ int make_btrfs(int fd, const char *device, const char *label, + btrfs_set_super_stripesize(&super, stripesize); + btrfs_set_super_csum_type(&super, BTRFS_CSUM_TYPE_CRC32); + btrfs_set_super_chunk_root_generation(&super, 1); ++ btrfs_set_super_cache_generation(&super, -1); + if (label) + strncpy(super.label, label, BTRFS_LABEL_SIZE - 1); + +-- +1.7.2.3 + |