btrfs: move cond_wake_up functions out of ctree
authorDavid Sterba <dsterba@suse.com>
Wed, 21 Aug 2019 16:48:25 +0000 (18:48 +0200)
committerDavid Sterba <dsterba@suse.com>
Mon, 9 Sep 2019 12:59:15 +0000 (14:59 +0200)
The file ctree.h serves as a header for everything and has become quite
bloated. Split some helpers that are generic and create a new file that
should be the catch-all for code that's not btrfs-specific.

Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de>
Signed-off-by: David Sterba <dsterba@suse.com>
12 files changed:
fs/btrfs/compression.c
fs/btrfs/ctree.h
fs/btrfs/delayed-inode.c
fs/btrfs/dev-replace.c
fs/btrfs/extent-tree.c
fs/btrfs/inode.c
fs/btrfs/locking.c
fs/btrfs/misc.h [new file with mode: 0644]
fs/btrfs/ordered-data.c
fs/btrfs/transaction.c
fs/btrfs/tree-log.c
fs/btrfs/zstd.c

index fe7a8b5ff96c7d4f121dd8451ff7a9259754f39f..b05b361e2062337eef9837cb71753a7f0a26ba2d 100644 (file)
@@ -18,6 +18,7 @@
 #include <linux/sched/mm.h>
 #include <linux/log2.h>
 #include <crypto/hash.h>
+#include "misc.h"
 #include "ctree.h"
 #include "disk-io.h"
 #include "transaction.h"
index ef40fffb5e46db907feaff4907f7132c4f10f073..5cb410cc150252fa27d1e837f0321d061cdbe128 100644 (file)
@@ -3517,26 +3517,4 @@ static inline int btrfs_is_testing(struct btrfs_fs_info *fs_info)
 }
 #endif
 
-static inline void cond_wake_up(struct wait_queue_head *wq)
-{
-       /*
-        * This implies a full smp_mb barrier, see comments for
-        * waitqueue_active why.
-        */
-       if (wq_has_sleeper(wq))
-               wake_up(wq);
-}
-
-static inline void cond_wake_up_nomb(struct wait_queue_head *wq)
-{
-       /*
-        * Special case for conditional wakeup where the barrier required for
-        * waitqueue_active is implied by some of the preceding code. Eg. one
-        * of such atomic operations (atomic_dec_and_return, ...), or a
-        * unlock/lock sequence, etc.
-        */
-       if (waitqueue_active(wq))
-               wake_up(wq);
-}
-
 #endif
index 9318cf761a07b81e6c66e0ee3d32c2b34781aaa2..1f7f39b10bd00ac45fc74c726852329122a31571 100644 (file)
@@ -6,6 +6,7 @@
 
 #include <linux/slab.h>
 #include <linux/iversion.h>
+#include "misc.h"
 #include "delayed-inode.h"
 #include "disk-io.h"
 #include "transaction.h"
index 00ea828beb002c63cd1fd89750881713b78cf3d4..48890826b5e666d0d358495ff84bf72c9e1a55c2 100644 (file)
@@ -9,6 +9,7 @@
 #include <linux/blkdev.h>
 #include <linux/kthread.h>
 #include <linux/math64.h>
+#include "misc.h"
 #include "ctree.h"
 #include "extent_map.h"
 #include "disk-io.h"
index af76314720739159a0329806d9c38b7c4932bac0..795b592e5269d3fa9031ec76ea9e1fdf573f828b 100644 (file)
@@ -16,6 +16,7 @@
 #include <linux/percpu_counter.h>
 #include <linux/lockdep.h>
 #include <linux/crc32c.h>
+#include "misc.h"
 #include "tree-log.h"
 #include "disk-io.h"
 #include "print-tree.h"
index d79ad5abd06e5465e8d5c14fa6f79c5e8ba808cd..07f77c7e6b22ab10ef24a5026cb6af6343cb0f5c 100644 (file)
@@ -30,6 +30,7 @@
 #include <linux/swap.h>
 #include <linux/sched/mm.h>
 #include <asm/unaligned.h>
+#include "misc.h"
 #include "ctree.h"
 #include "disk-io.h"
 #include "transaction.h"
index e4309bcf0b5f243ad32ffdb2d271d87918eb0fe0..7f9a578a1a206baa7b04c657d5807e6b815ae7a0 100644 (file)
@@ -8,6 +8,7 @@
 #include <linux/spinlock.h>
 #include <linux/page-flags.h>
 #include <asm/bug.h>
+#include "misc.h"
 #include "ctree.h"
 #include "extent_io.h"
 #include "locking.h"
diff --git a/fs/btrfs/misc.h b/fs/btrfs/misc.h
new file mode 100644 (file)
index 0000000..ef39012
--- /dev/null
@@ -0,0 +1,33 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+
+#ifndef BTRFS_MISC_H
+#define BTRFS_MISC_H
+
+#include <linux/sched.h>
+#include <linux/wait.h>
+
+#define in_range(b, first, len) ((b) >= (first) && (b) < (first) + (len))
+
+static inline void cond_wake_up(struct wait_queue_head *wq)
+{
+       /*
+        * This implies a full smp_mb barrier, see comments for
+        * waitqueue_active why.
+        */
+       if (wq_has_sleeper(wq))
+               wake_up(wq);
+}
+
+static inline void cond_wake_up_nomb(struct wait_queue_head *wq)
+{
+       /*
+        * Special case for conditional wakeup where the barrier required for
+        * waitqueue_active is implied by some of the preceding code. Eg. one
+        * of such atomic operations (atomic_dec_and_return, ...), or a
+        * unlock/lock sequence, etc.
+        */
+       if (waitqueue_active(wq))
+               wake_up(wq);
+}
+
+#endif
index ae7f64a8facb8758822f5cbd05f0bd0094de361a..24b6c72b9a59054743d316fe7e5e71f42a89efec 100644 (file)
@@ -7,6 +7,7 @@
 #include <linux/blkdev.h>
 #include <linux/writeback.h>
 #include <linux/sched/mm.h>
+#include "misc.h"
 #include "ctree.h"
 #include "transaction.h"
 #include "btrfs_inode.h"
index f21416d68c2c87827243c41cc0e46154db8f4bf5..8624bdee8c5b62d3190605f56b0d85dabbc6230a 100644 (file)
@@ -10,6 +10,7 @@
 #include <linux/pagemap.h>
 #include <linux/blkdev.h>
 #include <linux/uuid.h>
+#include "misc.h"
 #include "ctree.h"
 #include "disk-io.h"
 #include "transaction.h"
index 19a4b9dc669faee603167930866f41171be113f7..34d087008b72eebb7af75e70acae7edaf86fdee3 100644 (file)
@@ -8,6 +8,7 @@
 #include <linux/blkdev.h>
 #include <linux/list_sort.h>
 #include <linux/iversion.h>
+#include "misc.h"
 #include "ctree.h"
 #include "tree-log.h"
 #include "disk-io.h"
index 0af4a5cd4313ed394a8cfa915b5864803cf4ee24..764d47b107e569e35be29665c04869a66971b96b 100644 (file)
@@ -17,6 +17,7 @@
 #include <linux/sched.h>
 #include <linux/slab.h>
 #include <linux/zstd.h>
+#include "misc.h"
 #include "compression.h"
 #include "ctree.h"