btrfs: move cond_wake_up functions out of ctree
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>
このコミットが含まれているのは:
@@ -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
|
||||
|
新しいイシューから参照
ユーザーをブロックする