25 #ifndef __MOTR_LONG_LOCK_H__ 26 #define __MOTR_LONG_LOCK_H__ 190 #define M0_BE_LONG_LOCK_PAD (264 + 88) 192 #define M0_BE_LONG_LOCK_PAD (136 + 40) 214 #define M0_FOM_LONG_LOCK_RETURN(rc) ((rc) ? M0_FSO_AGAIN : M0_FSO_WAIT)
M0_INTERNAL void m0_long_lock_fini(struct m0_long_lock *lock)
static struct m0_mutex lock
M0_INTERNAL void m0_long_lock_link_init(struct m0_long_lock_link *link, struct m0_fom *fom, struct m0_long_lock_addb2 *addb2)
enum m0_long_lock_state l_state
#define M0_FIELD_VALUE(type, field)
struct m0_tlink lll_lock_linkage
M0_INTERNAL void m0_long_write_unlock(struct m0_long_lock *lock, struct m0_long_lock_link *link)
M0_BOB_DECLARE(M0_EXTERN, m0_long_lock)
struct m0_long_lock llock
struct m0_be_long_lock M0_XCA_DOMAIN(be)
M0_INTERNAL bool m0_long_write_lock(struct m0_long_lock *lk, struct m0_long_lock_link *link, int next_phase)
struct m0_long_lock_addb2 * lll_addb2
M0_INTERNAL bool m0_long_lock(struct m0_long_lock *lock, bool write, struct m0_long_lock_link *link, int next_phase)
M0_INTERNAL void m0_long_unlock(struct m0_long_lock *lock, struct m0_long_lock_link *link)
#define M0_BE_LONG_LOCK_PAD
M0_INTERNAL void m0_long_lock_link_fini(struct m0_long_lock_link *link)
union m0_be_long_lock::@190 bll_u
M0_INTERNAL bool m0_long_is_read_locked(struct m0_long_lock *lock, const struct m0_fom *fom)
M0_BASSERT(sizeof(struct m0_long_lock)<=sizeof(M0_FIELD_VALUE(struct m0_be_long_lock, bll_u.pad)))
M0_INTERNAL bool m0_long_is_write_locked(struct m0_long_lock *lock, const struct m0_fom *fom)
char pad[M0_BE_LONG_LOCK_PAD]
M0_INTERNAL void m0_long_lock_init(struct m0_long_lock *lock)
M0_INTERNAL void m0_long_read_unlock(struct m0_long_lock *lock, struct m0_long_lock_link *link)
M0_INTERNAL bool m0_long_read_lock(struct m0_long_lock *lk, struct m0_long_lock_link *link, int next_phase)
M0_INTERNAL void m0_fom_ll_global_init(void)
static struct m0_be_ut_backend be
enum m0_long_lock_type lll_lock_type