Lines Matching refs:gl

131 	void (*lm_put_lock) (struct gfs2_glock *gl);
132 int (*lm_lock) (struct gfs2_glock *gl, unsigned int req_state,
134 void (*lm_cancel) (struct gfs2_glock *gl);
139 static inline struct gfs2_holder *gfs2_glock_is_locked_by_me(struct gfs2_glock *gl) in gfs2_glock_is_locked_by_me() argument
145 spin_lock(&gl->gl_lockref.lock); in gfs2_glock_is_locked_by_me()
147 list_for_each_entry(gh, &gl->gl_holders, gh_list) { in gfs2_glock_is_locked_by_me()
155 spin_unlock(&gl->gl_lockref.lock); in gfs2_glock_is_locked_by_me()
160 static inline int gfs2_glock_is_held_excl(struct gfs2_glock *gl) in gfs2_glock_is_held_excl() argument
162 return gl->gl_state == LM_ST_EXCLUSIVE; in gfs2_glock_is_held_excl()
165 static inline int gfs2_glock_is_held_dfrd(struct gfs2_glock *gl) in gfs2_glock_is_held_dfrd() argument
167 return gl->gl_state == LM_ST_DEFERRED; in gfs2_glock_is_held_dfrd()
170 static inline int gfs2_glock_is_held_shrd(struct gfs2_glock *gl) in gfs2_glock_is_held_shrd() argument
172 return gl->gl_state == LM_ST_SHARED; in gfs2_glock_is_held_shrd()
175 static inline struct address_space *gfs2_glock2aspace(struct gfs2_glock *gl) in gfs2_glock2aspace() argument
177 if (gl->gl_ops->go_flags & GLOF_ASPACE) in gfs2_glock2aspace()
178 return (struct address_space *)(gl + 1); in gfs2_glock2aspace()
185 extern void gfs2_glock_hold(struct gfs2_glock *gl);
186 extern void gfs2_glock_put(struct gfs2_glock *gl);
187 extern void gfs2_glock_queue_put(struct gfs2_glock *gl);
188 extern void gfs2_holder_init(struct gfs2_glock *gl, unsigned int state,
205 extern void gfs2_dump_glock(struct seq_file *seq, const struct gfs2_glock *gl);
206 #define GLOCK_BUG_ON(gl,x) do { if (unlikely(x)) { gfs2_dump_glock(NULL, gl); BUG(); } } while(0) argument
220 static inline int gfs2_glock_nq_init(struct gfs2_glock *gl, in gfs2_glock_nq_init() argument
226 gfs2_holder_init(gl, state, flags, gh); in gfs2_glock_nq_init()
235 extern void gfs2_glock_cb(struct gfs2_glock *gl, unsigned int state);
236 extern void gfs2_glock_complete(struct gfs2_glock *gl, int ret);
240 extern void gfs2_glock_add_to_lru(struct gfs2_glock *gl);
241 extern void gfs2_glock_free(struct gfs2_glock *gl);
268 static inline void glock_set_object(struct gfs2_glock *gl, void *object) in glock_set_object() argument
270 spin_lock(&gl->gl_lockref.lock); in glock_set_object()
271 if (gfs2_assert_warn(gl->gl_name.ln_sbd, gl->gl_object == NULL)) in glock_set_object()
272 gfs2_dump_glock(NULL, gl); in glock_set_object()
273 gl->gl_object = object; in glock_set_object()
274 spin_unlock(&gl->gl_lockref.lock); in glock_set_object()
295 static inline void glock_clear_object(struct gfs2_glock *gl, void *object) in glock_clear_object() argument
297 spin_lock(&gl->gl_lockref.lock); in glock_clear_object()
298 if (gl->gl_object == object) in glock_clear_object()
299 gl->gl_object = NULL; in glock_clear_object()
300 spin_unlock(&gl->gl_lockref.lock); in glock_clear_object()