aboutsummaryrefslogtreecommitdiffstats
path: root/fs/btrfs/transaction.c
diff options
context:
space:
mode:
authorChris Mason <chris.mason@oracle.com>2008-05-07 11:43:44 -0400
committerChris Mason <chris.mason@oracle.com>2008-09-25 11:04:02 -0400
commita061fc8da7b990faa41ca503e66faef3ecdeead0 (patch)
tree0d3b5b6e4d2164d507d9a16d5b38d373592a5c8f /fs/btrfs/transaction.c
parent5d9cd9ecbf40b8bd5045a3c2f1feb35db6a12266 (diff)
Btrfs: Add support for online device removal
This required a few structural changes to the code that manages bdev pointers: The VFS super block now gets an anon-bdev instead of a pointer to the lowest bdev. This allows us to avoid swapping the super block bdev pointer around at run time. The code to read in the super block no longer goes through the extent buffer interface. Things got ugly keeping the mapping constant. Signed-off-by: Chris Mason <chris.mason@oracle.com>
Diffstat (limited to 'fs/btrfs/transaction.c')
-rw-r--r--fs/btrfs/transaction.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/fs/btrfs/transaction.c b/fs/btrfs/transaction.c
index 9826942fa18a..57746c11eae3 100644
--- a/fs/btrfs/transaction.c
+++ b/fs/btrfs/transaction.c
@@ -738,9 +738,8 @@ int btrfs_commit_transaction(struct btrfs_trans_handle *trans,
738 chunk_root->node->start); 738 chunk_root->node->start);
739 btrfs_set_super_chunk_root_level(&root->fs_info->super_copy, 739 btrfs_set_super_chunk_root_level(&root->fs_info->super_copy,
740 btrfs_header_level(chunk_root->node)); 740 btrfs_header_level(chunk_root->node));
741 write_extent_buffer(root->fs_info->sb_buffer, 741 memcpy(&root->fs_info->super_for_commit, &root->fs_info->super_copy,
742 &root->fs_info->super_copy, 0, 742 sizeof(root->fs_info->super_copy));
743 sizeof(root->fs_info->super_copy));
744 743
745 btrfs_copy_pinned(root, pinned_copy); 744 btrfs_copy_pinned(root, pinned_copy);
746 745