Symbol: lockref
fs/erofs/zdata.c
1498
spin_lock(&pcl->lockref.lock);
fs/erofs/zdata.c
1500
spin_unlock(&pcl->lockref.lock);
fs/erofs/zdata.c
1559
spin_lock(&pcl->lockref.lock);
fs/erofs/zdata.c
1563
spin_unlock(&pcl->lockref.lock);
fs/erofs/zdata.c
1568
spin_unlock(&pcl->lockref.lock);
fs/erofs/zdata.c
43
struct lockref lockref;
fs/erofs/zdata.c
572
spin_lock(&pcl->lockref.lock);
fs/erofs/zdata.c
576
spin_unlock(&pcl->lockref.lock);
fs/erofs/zdata.c
579
spin_unlock(&pcl->lockref.lock);
fs/erofs/zdata.c
628
spin_lock(&pcl->lockref.lock);
fs/erofs/zdata.c
629
if (pcl->lockref.count <= 0) {
fs/erofs/zdata.c
640
spin_unlock(&pcl->lockref.lock);
fs/erofs/zdata.c
700
spin_lock(&pcl->lockref.lock);
fs/erofs/zdata.c
705
spin_unlock(&pcl->lockref.lock);
fs/erofs/zdata.c
708
spin_unlock(&pcl->lockref.lock);
fs/erofs/zdata.c
724
if (lockref_get_not_zero(&pcl->lockref))
fs/erofs/zdata.c
727
spin_lock(&pcl->lockref.lock);
fs/erofs/zdata.c
728
if (__lockref_is_dead(&pcl->lockref)) {
fs/erofs/zdata.c
729
spin_unlock(&pcl->lockref.lock);
fs/erofs/zdata.c
733
if (!pcl->lockref.count++)
fs/erofs/zdata.c
735
spin_unlock(&pcl->lockref.lock);
fs/erofs/zdata.c
753
lockref_init(&pcl->lockref); /* one ref for this request */
fs/erofs/zdata.c
883
if (pcl->lockref.count)
fs/erofs/zdata.c
900
lockref_mark_dead(&pcl->lockref);
fs/erofs/zdata.c
909
spin_lock(&pcl->lockref.lock);
fs/erofs/zdata.c
911
spin_unlock(&pcl->lockref.lock);
fs/erofs/zdata.c
945
if (lockref_put_or_lock(&pcl->lockref))
fs/erofs/zdata.c
948
DBG_BUGON(__lockref_is_dead(&pcl->lockref));
fs/erofs/zdata.c
949
if (!--pcl->lockref.count) {
fs/erofs/zdata.c
956
spin_unlock(&pcl->lockref.lock);
fs/gfs2/incore.h
338
struct lockref gl_lockref;
fs/gfs2/incore.h
449
struct lockref qd_lockref;
fs/xfs/xfs_buf.h
150
struct lockref b_lockref; /* refcount + lock */
fs/xfs/xfs_dquot.h
74
struct lockref q_lockref;
include/linux/dcache.h
114
struct lockref d_lockref; /* per-dentry lock and refcount
include/linux/lockref.h
43
static inline void lockref_init(struct lockref *lockref)
include/linux/lockref.h
45
spin_lock_init(&lockref->lock);
include/linux/lockref.h
46
lockref->count = 1;
include/linux/lockref.h
49
void lockref_get(struct lockref *lockref);
include/linux/lockref.h
50
int lockref_put_return(struct lockref *lockref);
include/linux/lockref.h
51
bool lockref_get_not_zero(struct lockref *lockref);
include/linux/lockref.h
52
bool lockref_put_or_lock(struct lockref *lockref) __cond_acquires(false, &lockref->lock);
include/linux/lockref.h
54
void lockref_mark_dead(struct lockref *lockref);
include/linux/lockref.h
55
bool lockref_get_not_dead(struct lockref *lockref);
include/linux/lockref.h
58
static inline bool __lockref_is_dead(const struct lockref *l)
lib/lockref.c
108
bool lockref_put_or_lock(struct lockref *lockref)
lib/lockref.c
118
spin_lock(&lockref->lock);
lib/lockref.c
119
if (lockref->count <= 1)
lib/lockref.c
121
lockref->count--;
lib/lockref.c
122
spin_unlock(&lockref->lock);
lib/lockref.c
13
struct lockref old; \
lib/lockref.c
131
void lockref_mark_dead(struct lockref *lockref)
lib/lockref.c
133
assert_spin_locked(&lockref->lock);
lib/lockref.c
134
lockref->count = -128;
lib/lockref.c
143
bool lockref_get_not_dead(struct lockref *lockref)
lib/lockref.c
15
old.lock_count = READ_ONCE(lockref->lock_count); \
lib/lockref.c
155
spin_lock(&lockref->lock);
lib/lockref.c
156
if (lockref->count >= 0) {
lib/lockref.c
157
lockref->count++;
lib/lockref.c
160
spin_unlock(&lockref->lock);
lib/lockref.c
17
struct lockref new = old; \
lib/lockref.c
19
if (likely(try_cmpxchg64_relaxed(&lockref->lock_count, \
lib/lockref.c
42
void lockref_get(struct lockref *lockref)
lib/lockref.c
50
spin_lock(&lockref->lock);
lib/lockref.c
51
lockref->count++;
lib/lockref.c
52
spin_unlock(&lockref->lock);
lib/lockref.c
61
bool lockref_get_not_zero(struct lockref *lockref)
lib/lockref.c
73
spin_lock(&lockref->lock);
lib/lockref.c
74
if (lockref->count > 0) {
lib/lockref.c
75
lockref->count++;
lib/lockref.c
78
spin_unlock(&lockref->lock);
lib/lockref.c
90
int lockref_put_return(struct lockref *lockref)