diff options
author | Kent Overstreet <kent.overstreet@linux.dev> | 2024-02-05 23:09:25 -0500 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2024-02-06 01:07:16 -0500 |
commit | f3f005c76eb5636542a8f5b137bd1904d57e8f86 (patch) | |
tree | ecada3604cb1668411386264ed92d0e61536a93a /include/linux/spinlock.h | |
parent | 1ef396b684a419b5a50ab215103486d189068800 (diff) |
Update bcachefs sources to 50847e296b34 bcachefs: Check subvol <-> inode pointers in check_inode()
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'include/linux/spinlock.h')
-rw-r--r-- | include/linux/spinlock.h | 66 |
1 files changed, 1 insertions, 65 deletions
diff --git a/include/linux/spinlock.h b/include/linux/spinlock.h index 6c4a623c..28ce667b 100644 --- a/include/linux/spinlock.h +++ b/include/linux/spinlock.h @@ -1,65 +1 @@ -#ifndef __TOOLS_LINUX_SPINLOCK_H -#define __TOOLS_LINUX_SPINLOCK_H - -#include <linux/atomic.h> -#include <pthread.h> - -typedef struct { - pthread_mutex_t lock; -} raw_spinlock_t; - -#define __RAW_SPIN_LOCK_UNLOCKED(name) (raw_spinlock_t) { .lock = PTHREAD_MUTEX_INITIALIZER } - -static inline void raw_spin_lock_init(raw_spinlock_t *lock) -{ - pthread_mutex_init(&lock->lock, NULL); -} - -static inline bool raw_spin_trylock(raw_spinlock_t *lock) -{ - return !pthread_mutex_trylock(&lock->lock); -} - -static inline void raw_spin_lock(raw_spinlock_t *lock) -{ - pthread_mutex_lock(&lock->lock); -} - -static inline void raw_spin_unlock(raw_spinlock_t *lock) -{ - pthread_mutex_unlock(&lock->lock); -} - -#define raw_spin_lock_irq(lock) raw_spin_lock(lock) -#define raw_spin_unlock_irq(lock) raw_spin_unlock(lock) - -#define raw_spin_lock_irqsave(lock, flags) \ -do { \ - flags = 0; \ - raw_spin_lock(lock); \ -} while (0) - -#define raw_spin_unlock_irqrestore(lock, flags) raw_spin_unlock(lock) - -typedef raw_spinlock_t spinlock_t; - -#define __SPIN_LOCK_UNLOCKED(name) __RAW_SPIN_LOCK_UNLOCKED(name) - -#define DEFINE_SPINLOCK(x) spinlock_t x = __SPIN_LOCK_UNLOCKED(x) - -#define spin_lock_init(lock) raw_spin_lock_init(lock) -#define spin_lock(lock) raw_spin_lock(lock) -#define spin_unlock(lock) raw_spin_unlock(lock) - -#define spin_lock_nested(lock, n) spin_lock(lock) - -#define spin_lock_bh(lock) raw_spin_lock(lock) -#define spin_unlock_bh(lock) raw_spin_unlock(lock) - -#define spin_lock_irq(lock) raw_spin_lock(lock) -#define spin_unlock_irq(lock) raw_spin_unlock(lock) - -#define spin_lock_irqsave(lock, flags) raw_spin_lock_irqsave(lock, flags) -#define spin_unlock_irqrestore(lock, flags) raw_spin_unlock_irqrestore(lock, flags) - -#endif /* __TOOLS_LINUX_SPINLOCK_H */ +#include "linux/spinlock_types.h" |