summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Mason <chris.mason@oracle.com>2007-03-23 11:00:45 -0400
committerDavid Woodhouse <dwmw2@hera.kernel.org>2007-03-23 11:00:45 -0400
commitdf2ce34c8801af8e00c7f82435fcb1e4b45a2759 (patch)
tree6231bb66994c54a18fe10ca26dfbe35e93e58721
parentd571976292839cec05a2820b08f7629b145ed157 (diff)
Btrfs: properly set new buffers for new blocks up to date
Signed-off-by: Chris Mason <chris.mason@oracle.com>
-rw-r--r--fs/btrfs/disk-io.c9
-rw-r--r--fs/btrfs/extent-tree.c2
-rw-r--r--fs/btrfs/super.c3
3 files changed, 11 insertions, 3 deletions
diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c
index 8e1dcda0839c..2f1eb4ae4e1d 100644
--- a/fs/btrfs/disk-io.c
+++ b/fs/btrfs/disk-io.c
@@ -10,8 +10,13 @@ static int check_tree_block(struct btrfs_root *root, struct buffer_head *buf)
if (buf->b_blocknr != btrfs_header_blocknr(&node->header))
BUG();
if (root->node && btrfs_header_parentid(&node->header) !=
- btrfs_header_parentid(btrfs_buffer_header(root->node)))
- BUG();
+ btrfs_header_parentid(btrfs_buffer_header(root->node))) {
+ printk("block %Lu parentids don't match buf %Lu, root %Lu\n",
+ buf->b_blocknr,
+ btrfs_header_parentid(&node->header),
+ btrfs_header_parentid(btrfs_buffer_header(root->node)));
+ WARN_ON(1);
+ }
return 0;
}
diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c
index 2818f1c57170..c86f0e6152f2 100644
--- a/fs/btrfs/extent-tree.c
+++ b/fs/btrfs/extent-tree.c
@@ -467,7 +467,7 @@ struct buffer_head *btrfs_alloc_free_block(struct btrfs_trans_handle *trans,
return NULL;
}
buf = find_tree_block(root, ins.objectid);
- dirty_tree_block(trans, root, buf);
+ set_buffer_uptodate(buf);
return buf;
}
diff --git a/fs/btrfs/super.c b/fs/btrfs/super.c
index 6080a8133d71..8970e9a82156 100644
--- a/fs/btrfs/super.c
+++ b/fs/btrfs/super.c
@@ -473,7 +473,10 @@ static int btrfs_sync_fs(struct super_block *sb, int wait)
struct btrfs_trans_handle *trans;
struct btrfs_root *root;
int ret;
+
sb->s_dirt = 0;
+ return 0;
+
root = btrfs_sb(sb);
trans = btrfs_start_transaction(root, 1);
ret = btrfs_commit_transaction(trans, root);