public inbox for linux-btrfs@vger.kernel.org
 help / color / mirror / Atom feed
From: Josef Bacik <josef@toxicpanda.com>
To: linux-btrfs@vger.kernel.org, kernel-team@fb.com
Subject: [PATCH v2 18/36] btrfs: unexport all the temporary exports for extent-io-tree.c
Date: Fri,  9 Sep 2022 17:53:31 -0400	[thread overview]
Message-ID: <d8eda49459cf376e5d2fa4e239fe41fc7b794ba5.1662760286.git.josef@toxicpanda.com> (raw)
In-Reply-To: <cover.1662760286.git.josef@toxicpanda.com>

Now that we've moved everything we can unexport all the temporary
exports, move the random helpers, and mark everything as static again.

Signed-off-by: Josef Bacik <josef@toxicpanda.com>
---
 fs/btrfs/extent-io-tree.c | 69 ++++++++++++++++++++++++++-------------
 fs/btrfs/extent-io-tree.h | 47 --------------------------
 2 files changed, 47 insertions(+), 69 deletions(-)

diff --git a/fs/btrfs/extent-io-tree.c b/fs/btrfs/extent-io-tree.c
index 6e1945fef01f..e462b81a8d3e 100644
--- a/fs/btrfs/extent-io-tree.c
+++ b/fs/btrfs/extent-io-tree.c
@@ -9,6 +9,11 @@
 
 static struct kmem_cache *extent_state_cache;
 
+static inline bool extent_state_in_tree(const struct extent_state *state)
+{
+	return !RB_EMPTY_NODE(&state->rb_node);
+}
+
 #ifdef CONFIG_BTRFS_DEBUG
 static LIST_HEAD(states);
 static DEFINE_SPINLOCK(leak_lock);
@@ -81,6 +86,12 @@ static inline void __btrfs_debug_check_extent_io_range(const char *caller,
  */
 static struct lock_class_key file_extent_tree_class;
 
+struct tree_entry {
+	u64 start;
+	u64 end;
+	struct rb_node rb_node;
+};
+
 void extent_io_tree_init(struct btrfs_fs_info *fs_info,
 			 struct extent_io_tree *tree, unsigned int owner,
 			 void *private_data)
@@ -124,7 +135,7 @@ void extent_io_tree_release(struct extent_io_tree *tree)
 	spin_unlock(&tree->lock);
 }
 
-struct extent_state *alloc_extent_state(gfp_t mask)
+static struct extent_state *alloc_extent_state(gfp_t mask)
 {
 	struct extent_state *state;
 
@@ -145,7 +156,7 @@ struct extent_state *alloc_extent_state(gfp_t mask)
 	return state;
 }
 
-struct extent_state *alloc_extent_state_atomic(struct extent_state *prealloc)
+static struct extent_state *alloc_extent_state_atomic(struct extent_state *prealloc)
 {
 	if (!prealloc)
 		prealloc = alloc_extent_state(GFP_ATOMIC);
@@ -183,6 +194,15 @@ static int add_extent_changeset(struct extent_state *state, u32 bits,
 	return ret;
 }
 
+static inline struct extent_state *next_state(struct extent_state *state)
+{
+	struct rb_node *next = rb_next(&state->rb_node);
+	if (next)
+		return rb_entry(next, struct extent_state, rb_node);
+	else
+		return NULL;
+}
+
 /**
  * Search @tree for an entry that contains @offset. Such entry would have
  * entry->start <= offset && entry->end >= offset.
@@ -200,9 +220,10 @@ static int add_extent_changeset(struct extent_state *state, u32 bits,
  * If no such entry exists, return pointer to entry that ends before @offset
  * and fill parameters @node_ret and @parent_ret, ie. does not return NULL.
  */
-struct rb_node *tree_search_for_insert(struct extent_io_tree *tree, u64 offset,
-				       struct rb_node ***node_ret,
-				       struct rb_node **parent_ret)
+static inline struct rb_node *tree_search_for_insert(struct extent_io_tree *tree,
+						     u64 offset,
+						     struct rb_node ***node_ret,
+						     struct rb_node **parent_ret)
 {
 	struct rb_root *root = &tree->state;
 	struct rb_node **node = &root->rb_node;
@@ -247,9 +268,10 @@ struct rb_node *tree_search_for_insert(struct extent_io_tree *tree, u64 offset,
  * such entry exists, then return NULL and fill @prev_ret and @next_ret.
  * Otherwise return the found entry and other pointers are left untouched.
  */
-struct rb_node *tree_search_prev_next(struct extent_io_tree *tree, u64 offset,
-				      struct rb_node **prev_ret,
-				      struct rb_node **next_ret)
+static inline struct rb_node *tree_search_prev_next(struct extent_io_tree *tree,
+						    u64 offset,
+						    struct rb_node **prev_ret,
+						    struct rb_node **next_ret)
 {
 	struct rb_root *root = &tree->state;
 	struct rb_node **node = &root->rb_node;
@@ -313,7 +335,7 @@ static void extent_io_tree_panic(struct extent_io_tree *tree, int err)
  *
  * This should be called with the tree lock held.
  */
-void merge_state(struct extent_io_tree *tree, struct extent_state *state)
+static void merge_state(struct extent_io_tree *tree, struct extent_state *state)
 {
 	struct extent_state *other;
 	struct rb_node *other_node;
@@ -353,8 +375,9 @@ void merge_state(struct extent_io_tree *tree, struct extent_state *state)
 	}
 }
 
-void set_state_bits(struct extent_io_tree *tree, struct extent_state *state,
-		    u32 bits, struct extent_changeset *changeset)
+static void set_state_bits(struct extent_io_tree *tree,
+			   struct extent_state *state,
+			   u32 bits, struct extent_changeset *changeset)
 {
 	u32 bits_to_set = bits & ~EXTENT_CTLBITS;
 	int ret;
@@ -381,8 +404,9 @@ void set_state_bits(struct extent_io_tree *tree, struct extent_state *state,
  * The tree lock is not taken internally.  This is a utility function and
  * probably isn't what you want to call (see set/clear_extent_bit).
  */
-int insert_state(struct extent_io_tree *tree, struct extent_state *state,
-		 u32 bits, struct extent_changeset *changeset)
+static int insert_state(struct extent_io_tree *tree,
+			struct extent_state *state,
+			u32 bits, struct extent_changeset *changeset)
 {
 	struct rb_node **node;
 	struct rb_node *parent;
@@ -419,9 +443,10 @@ int insert_state(struct extent_io_tree *tree, struct extent_state *state,
 /*
  * Insert state to @tree to the location given by @node and @parent.
  */
-void insert_state_fast(struct extent_io_tree *tree, struct extent_state *state,
-		       struct rb_node **node, struct rb_node *parent,
-		       unsigned bits, struct extent_changeset *changeset)
+static void insert_state_fast(struct extent_io_tree *tree,
+			      struct extent_state *state, struct rb_node **node,
+			      struct rb_node *parent, unsigned bits,
+			      struct extent_changeset *changeset)
 {
 	set_state_bits(tree, state, bits, changeset);
 	rb_link_node(&state->rb_node, parent, node);
@@ -443,8 +468,8 @@ void insert_state_fast(struct extent_io_tree *tree, struct extent_state *state,
  * The tree locks are not taken by this function. They need to be held
  * by the caller.
  */
-int split_state(struct extent_io_tree *tree, struct extent_state *orig,
-		struct extent_state *prealloc, u64 split)
+static int split_state(struct extent_io_tree *tree, struct extent_state *orig,
+		       struct extent_state *prealloc, u64 split)
 {
 	struct rb_node *parent = NULL;
 	struct rb_node **node;
@@ -489,10 +514,10 @@ int split_state(struct extent_io_tree *tree, struct extent_state *orig,
  * If no bits are set on the state struct after clearing things, the
  * struct is freed and removed from the tree
  */
-struct extent_state *clear_state_bit(struct extent_io_tree *tree,
-				     struct extent_state *state, u32 bits,
-				     int wake,
-				     struct extent_changeset *changeset)
+static struct extent_state *clear_state_bit(struct extent_io_tree *tree,
+					    struct extent_state *state,
+					    u32 bits, int wake,
+					    struct extent_changeset *changeset)
 {
 	struct extent_state *next;
 	u32 bits_to_clear = bits & ~EXTENT_CTLBITS;
diff --git a/fs/btrfs/extent-io-tree.h b/fs/btrfs/extent-io-tree.h
index d01aba02ae2f..3b17cc33bcec 100644
--- a/fs/btrfs/extent-io-tree.h
+++ b/fs/btrfs/extent-io-tree.h
@@ -260,51 +260,4 @@ void btrfs_free_io_failure_record(struct btrfs_inode *inode, u64 start,
 		u64 end);
 int btrfs_clean_io_failure(struct btrfs_inode *inode, u64 start,
 			   struct page *page, unsigned int pg_offset);
-
-struct extent_state *alloc_extent_state_atomic(struct extent_state *prealloc);
-struct extent_state *alloc_extent_state(gfp_t mask);
-
-static inline bool extent_state_in_tree(const struct extent_state *state)
-{
-	return !RB_EMPTY_NODE(&state->rb_node);
-}
-
-struct tree_entry {
-	u64 start;
-	u64 end;
-	struct rb_node rb_node;
-};
-
-struct rb_node *tree_search_for_insert(struct extent_io_tree *tree, u64 offset,
-				       struct rb_node ***node_ret,
-				       struct rb_node **parent_ret);
-struct rb_node *tree_search_prev_next(struct extent_io_tree *tree, u64 offset,
-				      struct rb_node **prev_ret,
-				      struct rb_node **next_ret);
-void merge_state(struct extent_io_tree *tree, struct extent_state *state);
-
-static inline struct extent_state *next_state(struct extent_state *state)
-{
-	struct rb_node *next = rb_next(&state->rb_node);
-	if (next)
-		return rb_entry(next, struct extent_state, rb_node);
-	else
-		return NULL;
-}
-struct extent_state *clear_state_bit(struct extent_io_tree *tree,
-				     struct extent_state *state, u32 bits,
-				     int wake,
-				     struct extent_changeset *changeset);
-int insert_state(struct extent_io_tree *tree, struct extent_state *state,
-		 u32 bits, struct extent_changeset *changeset);
-int split_state(struct extent_io_tree *tree, struct extent_state *orig,
-		struct extent_state *prealloc, u64 split);
-int insert_state(struct extent_io_tree *tree, struct extent_state *state,
-		 u32 bits, struct extent_changeset *changeset);
-void insert_state_fast(struct extent_io_tree *tree, struct extent_state *state,
-		       struct rb_node **node, struct rb_node *parent,
-		       unsigned bits, struct extent_changeset *changeset);
-void set_state_bits(struct extent_io_tree *tree, struct extent_state *state,
-		    u32 bits, struct extent_changeset *changeset);
-
 #endif /* BTRFS_EXTENT_IO_TREE_H */
-- 
2.26.3


  parent reply	other threads:[~2022-09-09 21:54 UTC|newest]

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-09-09 21:53 [PATCH v2 00/36] btrfs: move extent_io_tree code and cleanups Josef Bacik
2022-09-09 21:53 ` [PATCH v2 01/36] btrfs: rename clean_io_failure and remove extraneous args Josef Bacik
2022-09-12 13:29   ` Johannes Thumshirn
2022-09-12 14:08   ` Christoph Hellwig
2022-09-12 18:01     ` Josef Bacik
2022-09-13  5:10       ` Christoph Hellwig
2022-09-13 12:49       ` David Sterba
2022-09-09 21:53 ` [PATCH v2 02/36] btrfs: unexport internal failrec functions Josef Bacik
2022-09-12 13:34   ` Johannes Thumshirn
2022-09-12 14:09   ` Christoph Hellwig
2022-09-09 21:53 ` [PATCH v2 03/36] btrfs: convert the io_failure_tree to a plain rb_tree Josef Bacik
2022-09-12 14:09   ` Christoph Hellwig
2022-09-09 21:53 ` [PATCH v2 04/36] btrfs: use find_first_extent_bit in btrfs_clean_io_failure Josef Bacik
2022-09-09 21:53 ` [PATCH v2 05/36] btrfs: separate out the extent state and extent buffer init code Josef Bacik
2022-09-09 21:53 ` [PATCH v2 06/36] btrfs: separate out the eb and extent state leak helpers Josef Bacik
2022-09-09 21:53 ` [PATCH v2 07/36] btrfs: temporarily export alloc_extent_state helpers Josef Bacik
2022-09-09 21:53 ` [PATCH v2 08/36] btrfs: move extent state init and alloc functions to their own file Josef Bacik
2022-09-09 21:53 ` [PATCH v2 09/36] btrfs: convert BUG_ON(EXTENT_BIT_LOCKED) checks to ASSERT's Josef Bacik
2022-09-09 21:53 ` [PATCH v2 10/36] btrfs: move simple extent bit helpers out of extent_io.c Josef Bacik
2022-09-09 21:53 ` [PATCH v2 11/36] btrfs: export wait_extent_bit Josef Bacik
2022-09-09 21:53 ` [PATCH v2 12/36] btrfs: move btrfs_debug_check_extent_io_range into extent-io-tree.c Josef Bacik
2022-09-09 21:53 ` [PATCH v2 13/36] btrfs: temporarily export and move core extent_io_tree tree functions Josef Bacik
2022-09-10 12:48   ` kernel test robot
2022-09-09 21:53 ` [PATCH v2 14/36] btrfs: temporarily export and then move extent state helpers Josef Bacik
2022-09-09 21:53 ` [PATCH v2 15/36] btrfs: move a few exported extent_io_tree helpers to extent-io-tree.c Josef Bacik
2022-09-09 21:53 ` [PATCH v2 16/36] btrfs: move core extent_io_tree functions " Josef Bacik
2022-09-09 21:53 ` [PATCH v2 17/36] btrfs: unexport btrfs_debug_check_extent_io_range Josef Bacik
2022-09-09 21:53 ` Josef Bacik [this message]
2022-09-09 21:53 ` [PATCH v2 19/36] btrfs: remove struct tree_entry Josef Bacik
2022-09-09 21:53 ` [PATCH v2 20/36] btrfs: use next_state instead of rb_next where we can Josef Bacik
2022-09-09 21:53 ` [PATCH v2 21/36] btrfs: make tree_search return struct extent_state Josef Bacik
2022-09-09 21:53 ` [PATCH v2 22/36] btrfs: make tree_search_for_insert return extent_state Josef Bacik
2022-09-09 21:53 ` [PATCH v2 23/36] btrfs: make tree_search_prev_next return extent_state's Josef Bacik
2022-09-09 21:53 ` [PATCH v2 24/36] btrfs: use next_state/prev_state in merge_state Josef Bacik
2022-09-09 21:53 ` [PATCH v2 25/36] btrfs: move irrelevant prototypes to their appropriate header Josef Bacik
2022-09-09 21:53 ` [PATCH v2 26/36] btrfs: drop exclusive_bits from set_extent_bit Josef Bacik
2022-09-09 21:53 ` [PATCH v2 27/36] btrfs: remove the wake argument from clear_extent_bits Josef Bacik
2022-09-09 21:53 ` [PATCH v2 28/36] btrfs: remove failed_start argument from set_extent_bit Josef Bacik
2022-09-09 21:53 ` [PATCH v2 29/36] btrfs: drop extent_changeset " Josef Bacik
2022-09-09 21:53 ` [PATCH v2 30/36] btrfs: unify the lock/unlock extent variants Josef Bacik
2022-09-09 21:53 ` [PATCH v2 31/36] btrfs: remove extent_io_tree::track_uptodate Josef Bacik
2022-09-09 21:53 ` [PATCH v2 32/36] btrfs: get rid of extent_io_tree::dirty_bytes Josef Bacik
2022-09-09 21:53 ` [PATCH v2 33/36] btrfs: don't clear CTL bits when trying to release extent state Josef Bacik
2022-09-09 21:53 ` [PATCH v2 34/36] btrfs: replace delete argument with EXTENT_CLEAR_ALL_BITS Josef Bacik
2022-09-09 21:53 ` [PATCH v2 35/36] btrfs: don't init io tree with private data for non inodes Josef Bacik
2022-09-09 21:53 ` [PATCH v2 36/36] btrfs: remove is_data_inode() checks in extent-io-tree.c Josef Bacik
2022-09-14 14:05 ` [PATCH v2 00/36] btrfs: move extent_io_tree code and cleanups 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=d8eda49459cf376e5d2fa4e239fe41fc7b794ba5.1662760286.git.josef@toxicpanda.com \
    --to=josef@toxicpanda.com \
    --cc=kernel-team@fb.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