From: Nikolay Borisov <nborisov@suse.com>
To: linux-btrfs@vger.kernel.org
Cc: Nikolay Borisov <nborisov@suse.com>
Subject: [PATCH 15/15] btrfs-progs: Remove old delayed refs infrastructure
Date: Fri, 8 Jun 2018 15:47:58 +0300 [thread overview]
Message-ID: <1528462078-24490-16-git-send-email-nborisov@suse.com> (raw)
In-Reply-To: <1528462078-24490-1-git-send-email-nborisov@suse.com>
Given that the new delayed refs infrastructure is implemented and
wired up, there is no point in keeping the old code. So just remove it.
Signed-off-by: Nikolay Borisov <nborisov@suse.com>
---
ctree.h | 2 -
extent-tree.c | 137 ----------------------------------------------------------
2 files changed, 139 deletions(-)
diff --git a/ctree.h b/ctree.h
index d1ea45571d1e..3e9ca2ca8432 100644
--- a/ctree.h
+++ b/ctree.h
@@ -1098,7 +1098,6 @@ struct btrfs_fs_info {
struct extent_io_tree free_space_cache;
struct extent_io_tree block_group_cache;
struct extent_io_tree pinned_extents;
- struct extent_io_tree pending_del;
struct extent_io_tree extent_ins;
struct extent_io_tree *excluded_extents;
@@ -2503,7 +2502,6 @@ int btrfs_fix_block_accounting(struct btrfs_trans_handle *trans);
void btrfs_pin_extent(struct btrfs_fs_info *fs_info, u64 bytenr, u64 num_bytes);
void btrfs_unpin_extent(struct btrfs_fs_info *fs_info,
u64 bytenr, u64 num_bytes);
-int btrfs_extent_post_op(struct btrfs_trans_handle *trans);
struct btrfs_block_group_cache *btrfs_lookup_block_group(struct
btrfs_fs_info *info,
u64 bytenr);
diff --git a/extent-tree.c b/extent-tree.c
index 9d085158f2d8..b9d51b388c9a 100644
--- a/extent-tree.c
+++ b/extent-tree.c
@@ -52,8 +52,6 @@ static int __free_extent(struct btrfs_trans_handle *trans,
u64 bytenr, u64 num_bytes, u64 parent,
u64 root_objectid, u64 owner_objectid,
u64 owner_offset, int refs_to_drop);
-static int finish_current_insert(struct btrfs_trans_handle *trans);
-static int del_pending_extents(struct btrfs_trans_handle *trans);
static struct btrfs_block_group_cache *
btrfs_find_block_group(struct btrfs_root *root, struct btrfs_block_group_cache
*hint, u64 search_start, int data, int owner);
@@ -1422,13 +1420,6 @@ int btrfs_inc_extent_ref(struct btrfs_trans_handle *trans,
return err;
}
-int btrfs_extent_post_op(struct btrfs_trans_handle *trans)
-{
- finish_current_insert(trans);
- del_pending_extents(trans);
- return 0;
-}
-
int btrfs_lookup_extent_info(struct btrfs_trans_handle *trans,
struct btrfs_fs_info *fs_info, u64 bytenr,
u64 offset, int metadata, u64 *refs, u64 *flags)
@@ -2013,74 +2004,6 @@ int btrfs_finish_extent_commit(struct btrfs_trans_handle *trans,
return 0;
}
-static int extent_root_pending_ops(struct btrfs_fs_info *info)
-{
- u64 start;
- u64 end;
- int ret;
-
- ret = find_first_extent_bit(&info->extent_ins, 0, &start,
- &end, EXTENT_LOCKED);
- if (!ret) {
- ret = find_first_extent_bit(&info->pending_del, 0, &start, &end,
- EXTENT_LOCKED);
- }
- return ret == 0;
-
-}
-static int finish_current_insert(struct btrfs_trans_handle *trans)
-{
- u64 start;
- u64 end;
- u64 priv;
- struct btrfs_fs_info *info = trans->fs_info;
- struct btrfs_root *extent_root = info->extent_root;
- struct pending_extent_op *extent_op;
- struct btrfs_key key;
- int ret;
- int skinny_metadata =
- btrfs_fs_incompat(extent_root->fs_info, SKINNY_METADATA);
-
-
- while(1) {
- ret = find_first_extent_bit(&info->extent_ins, 0, &start,
- &end, EXTENT_LOCKED);
- if (ret)
- break;
-
- ret = get_state_private(&info->extent_ins, start, &priv);
- BUG_ON(ret);
- extent_op = (struct pending_extent_op *)(unsigned long)priv;
-
- if (extent_op->type == PENDING_EXTENT_INSERT) {
- key.objectid = start;
- if (skinny_metadata) {
- key.offset = extent_op->level;
- key.type = BTRFS_METADATA_ITEM_KEY;
- } else {
- key.offset = extent_op->num_bytes;
- key.type = BTRFS_EXTENT_ITEM_KEY;
- }
-
- ret = alloc_reserved_tree_block(trans,
- extent_root->root_key.objectid,
- trans->transid,
- extent_op->flags,
- &extent_op->key,
- extent_op->level, &key);
- BUG_ON(ret);
- } else {
- BUG_ON(1);
- }
-
-
- printf("shouldn't be executed\n");
- clear_extent_bits(&info->extent_ins, start, end, EXTENT_LOCKED);
- kfree(extent_op);
- }
- return 0;
-}
-
static int pin_down_bytes(struct btrfs_trans_handle *trans, u64 bytenr,
u64 num_bytes, int is_data)
{
@@ -2377,66 +2300,6 @@ static int __free_extent(struct btrfs_trans_handle *trans,
return ret;
}
-/*
- * find all the blocks marked as pending in the radix tree and remove
- * them from the extent map
- */
-static int del_pending_extents(struct btrfs_trans_handle *trans)
-{
- int ret;
- int err = 0;
- u64 start;
- u64 end;
- u64 priv;
- struct extent_io_tree *pending_del;
- struct extent_io_tree *extent_ins;
- struct pending_extent_op *extent_op;
- struct btrfs_fs_info *fs_info = trans->fs_info;
- struct btrfs_root *extent_root = fs_info->extent_root;
-
- extent_ins = &extent_root->fs_info->extent_ins;
- pending_del = &extent_root->fs_info->pending_del;
-
- while(1) {
- ret = find_first_extent_bit(pending_del, 0, &start, &end,
- EXTENT_LOCKED);
- if (ret)
- break;
-
- ret = get_state_private(pending_del, start, &priv);
- BUG_ON(ret);
- extent_op = (struct pending_extent_op *)(unsigned long)priv;
-
- clear_extent_bits(pending_del, start, end, EXTENT_LOCKED);
-
- if (!test_range_bit(extent_ins, start, end,
- EXTENT_LOCKED, 0)) {
- ret = __free_extent(trans, start, end + 1 - start, 0,
- extent_root->root_key.objectid,
- extent_op->level, 0, 1);
- kfree(extent_op);
- } else {
- kfree(extent_op);
- ret = get_state_private(extent_ins, start, &priv);
- BUG_ON(ret);
- extent_op = (struct pending_extent_op *)
- (unsigned long)priv;
-
- clear_extent_bits(extent_ins, start, end,
- EXTENT_LOCKED);
-
- if (extent_op->type == PENDING_BACKREF_UPDATE)
- BUG_ON(1);
-
- kfree(extent_op);
- }
- if (ret)
- err = ret;
- }
- return err;
-}
-
-
int btrfs_free_tree_block(struct btrfs_trans_handle *trans,
struct btrfs_root *root,
struct extent_buffer *buf,
--
2.7.4
next prev parent reply other threads:[~2018-06-08 12:48 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-06-08 12:47 [PATCH 00/15] Add delayed-refs support to btrfs-progs Nikolay Borisov
2018-06-08 12:47 ` [PATCH 01/15] btrfs-progs: Remove root argument from pin_down_bytes Nikolay Borisov
2018-06-11 4:41 ` Qu Wenruo
2018-06-08 12:47 ` [PATCH 02/15] btrfs-progs: Remove root argument from btrfs_del_csums Nikolay Borisov
2018-06-11 4:46 ` Qu Wenruo
2018-06-11 7:02 ` Nikolay Borisov
2018-06-11 7:40 ` Qu Wenruo
2018-06-11 7:48 ` Nikolay Borisov
2018-06-11 8:08 ` Qu Wenruo
2018-06-11 8:09 ` Nikolay Borisov
2018-06-08 12:47 ` [PATCH 03/15] btrfs-progs: Add functions to modify the used space by a root Nikolay Borisov
2018-06-11 4:47 ` Qu Wenruo
2018-06-08 12:47 ` [PATCH 04/15] btrfs-progs: Refactor the root used bytes are updated Nikolay Borisov
2018-06-08 12:47 ` [PATCH 05/15] btrfs-progs: Make update_block_group take fs_info instead of root Nikolay Borisov
2018-06-11 4:49 ` Qu Wenruo
2018-06-08 12:47 ` [PATCH 06/15] btrfs-progs: check: Drop trans/root arguments from free_extent_hook Nikolay Borisov
2018-06-11 4:55 ` Qu Wenruo
2018-06-11 7:04 ` Nikolay Borisov
2018-06-08 12:47 ` [PATCH 07/15] btrfs-progs: Remove root argument from __free_extent Nikolay Borisov
2018-06-11 4:58 ` Qu Wenruo
2018-06-11 7:06 ` Nikolay Borisov
2018-06-08 12:47 ` [PATCH 08/15] btrfs-progs: Remove root argument from alloc_reserved_tree_block Nikolay Borisov
2018-06-08 12:47 ` [PATCH 09/15] btrfs-progs: Always pass 0 for offset when calling btrfs_free_extent for btree blocks Nikolay Borisov
2018-06-11 5:05 ` Qu Wenruo
2018-06-08 12:47 ` [PATCH 10/15] btrfs-progs: Add boolean to signal whether we are re-initing extent tree Nikolay Borisov
2018-06-08 12:47 ` [PATCH 11/15] btrfs-progs: Add delayed refs infrastructure Nikolay Borisov
2018-06-08 14:53 ` [PATCH 11/15 v2] " Nikolay Borisov
2018-06-11 5:20 ` [PATCH 11/15] " Qu Wenruo
2018-06-11 7:10 ` Nikolay Borisov
2018-06-11 7:46 ` Qu Wenruo
2018-07-30 8:34 ` Misono Tomohiro
2018-07-30 9:11 ` Nikolay Borisov
2018-08-02 12:17 ` David Sterba
2018-06-08 12:47 ` [PATCH 12/15] btrfs-progs: Add __free_extent2 function Nikolay Borisov
2018-06-08 12:47 ` [PATCH 13/15] btrfs-progs: Add alloc_reserved_tree_block2 function Nikolay Borisov
2018-06-08 12:47 ` [PATCH 14/15] btrfs-progs: Wire up delayed refs Nikolay Borisov
2018-07-30 8:33 ` Misono Tomohiro
2018-07-30 9:30 ` Nikolay Borisov
2018-06-08 12:47 ` Nikolay Borisov [this message]
2018-06-08 14:49 ` [PATCH 15/15 v2] btrfs-progs: Remove old delayed refs infrastructure Nikolay Borisov
2018-06-08 13:50 ` [PATCH 00/15] Add delayed-refs support to btrfs-progs Qu Wenruo
2018-06-08 14:08 ` Nikolay Borisov
2018-06-08 14:21 ` Qu Wenruo
2018-07-16 15:39 ` David Sterba
2018-09-12 11:51 ` Su Yue
2018-09-12 18:02 ` David Sterba
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1528462078-24490-16-git-send-email-nborisov@suse.com \
--to=nborisov@suse.com \
--cc=linux-btrfs@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).