]> code.ossystems Code Review - openembedded-core.git/blob
d8b8b108e80bd86be1e125c569df377c766f3f5e
[openembedded-core.git] /
1 Upstream-Status: Inappropriate [Backport]
2 From c2cefc42ebf8e32e36b1866048a02a579f2cef9a Mon Sep 17 00:00:00 2001
3 From: Josef Bacik <josef@redhat.com>
4 Date: Thu, 9 Dec 2010 18:27:03 +0000
5 Subject: [PATCH 06/15] Btrfs-progs: update super fields for space cache
6
7 This patch updates the super field to add the cache_generation member.  It also
8 makes us set it to -1 on mkfs so any new filesystem will get the space cache
9 stuff turned on.  Thanks,
10
11 Signed-off-by: Josef Bacik <josef@redhat.com>
12 Signed-off-by: Chris Mason <chris.mason@oracle.com>
13 ---
14  ctree.h |    6 +++++-
15  utils.c |    1 +
16  2 files changed, 6 insertions(+), 1 deletions(-)
17
18 diff --git a/ctree.h b/ctree.h
19 index b79e238..962c510 100644
20 --- a/ctree.h
21 +++ b/ctree.h
22 @@ -340,8 +340,10 @@ struct btrfs_super_block {
23  
24         char label[BTRFS_LABEL_SIZE];
25  
26 +       __le64 cache_generation;
27 +
28         /* future expansion */
29 -       __le64 reserved[32];
30 +       __le64 reserved[31];
31         u8 sys_chunk_array[BTRFS_SYSTEM_CHUNK_ARRAY_SIZE];
32  } __attribute__ ((__packed__));
33  
34 @@ -1564,6 +1566,8 @@ BTRFS_SETGET_STACK_FUNCS(super_incompat_flags, struct btrfs_super_block,
35                          incompat_flags, 64);
36  BTRFS_SETGET_STACK_FUNCS(super_csum_type, struct btrfs_super_block,
37                          csum_type, 16);
38 +BTRFS_SETGET_STACK_FUNCS(super_cache_generation, struct btrfs_super_block,
39 +                        cache_generation, 64);
40  
41  static inline int btrfs_super_csum_size(struct btrfs_super_block *s)
42  {
43 diff --git a/utils.c b/utils.c
44 index 2a15d86..35e17b8 100644
45 --- a/utils.c
46 +++ b/utils.c
47 @@ -107,6 +107,7 @@ int make_btrfs(int fd, const char *device, const char *label,
48         btrfs_set_super_stripesize(&super, stripesize);
49         btrfs_set_super_csum_type(&super, BTRFS_CSUM_TYPE_CRC32);
50         btrfs_set_super_chunk_root_generation(&super, 1);
51 +       btrfs_set_super_cache_generation(&super, -1);
52         if (label)
53                 strncpy(super.label, label, BTRFS_LABEL_SIZE - 1);
54  
55 -- 
56 1.7.2.3
57