Btrfs: Fix super block updates during transaction commit
The super block written during commit was not consistent with the state of
the trees. This change adds an in-memory copy of the super so that we can
make sure to write out consistent data during a commit.
Signed-off-by: Chris Mason <chris.mason@oracle.com>
diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h
index fb6fffb..1998f86 100644
--- a/fs/btrfs/ctree.h
+++ b/fs/btrfs/ctree.h
@@ -306,6 +306,7 @@
u64 generation;
struct btrfs_transaction *running_transaction;
struct btrfs_super_block *disk_super;
+ struct btrfs_super_block super_copy;
struct buffer_head *sb_buffer;
struct super_block *sb;
struct inode *btree_inode;