diff options
author | Chris Mason <chris.mason@oracle.com> | 2007-04-20 20:23:12 -0400 |
---|---|---|
committer | David Woodhouse <dwmw2@hera.kernel.org> | 2007-04-20 20:23:12 -0400 |
commit | 4d775673091d43b39fa9d086071009f98dec289e (patch) | |
tree | 854ec6faab9010dea724048685caf2ffdc955702 /fs/btrfs/extent-tree.c | |
parent | 33ade1f826a7c348856a98930814f33ced6d1337 (diff) |
Btrfs: add owner and type fields to the extents aand block headers
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Diffstat (limited to 'fs/btrfs/extent-tree.c')
-rw-r--r-- | fs/btrfs/extent-tree.c | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c index b2faad3e8791..49f7cd6e067c 100644 --- a/fs/btrfs/extent-tree.c +++ b/fs/btrfs/extent-tree.c | |||
@@ -460,9 +460,10 @@ error: | |||
460 | * | 460 | * |
461 | * returns 0 if everything worked, non-zero otherwise. | 461 | * returns 0 if everything worked, non-zero otherwise. |
462 | */ | 462 | */ |
463 | int btrfs_alloc_extent(struct btrfs_trans_handle *trans, struct btrfs_root | 463 | int btrfs_alloc_extent(struct btrfs_trans_handle *trans, |
464 | *root, u64 num_blocks, u64 search_start, u64 | 464 | struct btrfs_root *root, u64 owner, |
465 | search_end, struct btrfs_key *ins) | 465 | u8 type, u64 num_blocks, u64 search_start, |
466 | u64 search_end, struct btrfs_key *ins) | ||
466 | { | 467 | { |
467 | int ret; | 468 | int ret; |
468 | int pending_ret; | 469 | int pending_ret; |
@@ -472,6 +473,8 @@ int btrfs_alloc_extent(struct btrfs_trans_handle *trans, struct btrfs_root | |||
472 | struct btrfs_extent_item extent_item; | 473 | struct btrfs_extent_item extent_item; |
473 | 474 | ||
474 | btrfs_set_extent_refs(&extent_item, 1); | 475 | btrfs_set_extent_refs(&extent_item, 1); |
476 | btrfs_set_extent_owner(&extent_item, owner); | ||
477 | btrfs_set_extent_type(&extent_item, type); | ||
475 | 478 | ||
476 | if (root == extent_root) { | 479 | if (root == extent_root) { |
477 | BUG_ON(extent_root->fs_info->current_insert.offset == 0); | 480 | BUG_ON(extent_root->fs_info->current_insert.offset == 0); |
@@ -508,13 +511,15 @@ int btrfs_alloc_extent(struct btrfs_trans_handle *trans, struct btrfs_root | |||
508 | * returns the tree buffer or NULL. | 511 | * returns the tree buffer or NULL. |
509 | */ | 512 | */ |
510 | struct buffer_head *btrfs_alloc_free_block(struct btrfs_trans_handle *trans, | 513 | struct buffer_head *btrfs_alloc_free_block(struct btrfs_trans_handle *trans, |
511 | struct btrfs_root *root) | 514 | struct btrfs_root *root) |
512 | { | 515 | { |
513 | struct btrfs_key ins; | 516 | struct btrfs_key ins; |
514 | int ret; | 517 | int ret; |
515 | struct buffer_head *buf; | 518 | struct buffer_head *buf; |
516 | 519 | ||
517 | ret = btrfs_alloc_extent(trans, root, 1, 0, (unsigned long)-1, &ins); | 520 | ret = btrfs_alloc_extent(trans, root, root->root_key.objectid, |
521 | BTRFS_EXTENT_TREE, | ||
522 | 1, 0, (unsigned long)-1, &ins); | ||
518 | if (ret) { | 523 | if (ret) { |
519 | BUG(); | 524 | BUG(); |
520 | return NULL; | 525 | return NULL; |