Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit df2ce34c authored by Chris Mason's avatar Chris Mason Committed by David Woodhouse
Browse files

Btrfs: properly set new buffers for new blocks up to date

parent d5719762
Loading
Loading
Loading
Loading
+7 −2
Original line number Original line Diff line number Diff line
@@ -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))
	if (buf->b_blocknr != btrfs_header_blocknr(&node->header))
		BUG();
		BUG();
	if (root->node && btrfs_header_parentid(&node->header) !=
	if (root->node && btrfs_header_parentid(&node->header) !=
	    btrfs_header_parentid(btrfs_buffer_header(root->node)))
	    btrfs_header_parentid(btrfs_buffer_header(root->node))) {
		BUG();
		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;
	return 0;
}
}


+1 −1
Original line number Original line Diff line number Diff line
@@ -467,7 +467,7 @@ struct buffer_head *btrfs_alloc_free_block(struct btrfs_trans_handle *trans,
		return NULL;
		return NULL;
	}
	}
	buf = find_tree_block(root, ins.objectid);
	buf = find_tree_block(root, ins.objectid);
	dirty_tree_block(trans, root, buf);
	set_buffer_uptodate(buf);
	return buf;
	return buf;
}
}


+3 −0
Original line number Original line Diff line number Diff line
@@ -473,7 +473,10 @@ static int btrfs_sync_fs(struct super_block *sb, int wait)
	struct btrfs_trans_handle *trans;
	struct btrfs_trans_handle *trans;
	struct btrfs_root *root;
	struct btrfs_root *root;
	int ret;
	int ret;

	sb->s_dirt = 0;
	sb->s_dirt = 0;
	return 0;

	root = btrfs_sb(sb);
	root = btrfs_sb(sb);
	trans = btrfs_start_transaction(root, 1);
	trans = btrfs_start_transaction(root, 1);
	ret = btrfs_commit_transaction(trans, root);
	ret = btrfs_commit_transaction(trans, root);