Lines Matching refs:lock

229 #define	SET_LOCK_TO_FIRST_ACTIVE_VP(gp, lock, vp) \  argument
231 (lock) = (lock_descriptor_t *)vp->v_filocks; \
234 #define SET_LOCK_TO_FIRST_SLEEP_VP(gp, lock, vp) \ argument
236 for ((lock) = SLEEPING_HEAD((gp))->l_next; ((lock) != SLEEPING_HEAD((gp)) && \
237 (lock)->l_vnode != (vp)); (lock) = (lock)->l_next) \
239 (lock) = ((lock) == SLEEPING_HEAD((gp))) ? NULL : (lock); \
248 #define IS_INITIAL(lock) ((lock)->l_status == FLK_INITIAL_STATE) argument
249 #define IS_ACTIVE(lock) ((lock)->l_status == FLK_ACTIVE_STATE) argument
250 #define IS_SLEEPING(lock) ((lock)->l_status == FLK_SLEEPING_STATE) argument
251 #define IS_GRANTED(lock) ((lock)->l_status == FLK_GRANTED_STATE) argument
252 #define IS_INTERRUPTED(lock) ((lock)->l_status == FLK_INTERRUPTED_STATE) argument
253 #define IS_CANCELLED(lock) ((lock)->l_status == FLK_CANCELLED_STATE) argument
254 #define IS_DEAD(lock) ((lock)->l_status == FLK_DEAD_STATE) argument
256 #define IS_QUERY_LOCK(lock) ((lock)->l_state & QUERY_LOCK) argument
257 #define IS_RECOMPUTE(lock) ((lock)->l_state & RECOMPUTE_LOCK) argument
258 #define IS_BARRIER(lock) ((lock)->l_state & BARRIER_LOCK) argument
259 #define IS_DELETED(lock) ((lock)->l_state & DELETED_LOCK) argument
260 #define IS_REFERENCED(lock) ((lock)->l_state & REFERENCED_LOCK) argument
261 #define IS_IO_LOCK(lock) ((lock)->l_state & IO_LOCK) argument
262 #define IS_WILLING_TO_SLEEP(lock) \ argument
263 ((lock)->l_state & WILLING_TO_SLEEP_LOCK)
264 #define IS_LOCKMGR(lock) ((lock)->l_state & LOCKMGR_LOCK) argument
265 #define IS_NLM_UP(lock) ((lock)->l_nlm_state == FLK_NLM_UP) argument
267 #define IS_PXFS(lock) ((lock)->l_state & PXFS_LOCK) argument
278 #define IS_LOCAL(lock) (GETSYSID((lock)->l_flock.l_sysid) == 0) argument
279 #define IS_REMOTE(lock) (! IS_LOCAL(lock)) argument
294 extern void cl_flk_state_transition_notify(lock_descriptor_t *lock,
318 #define NOT_BLOCKED(lock) \ argument
319 ((lock)->l_edge.edge_adj_next == &(lock)->l_edge && !IS_GRANTED(lock))
321 #define GRANT_WAKEUP(lock) \ argument
323 flk_set_state(lock, FLK_GRANTED_STATE); \
324 (lock)->l_state |= GRANTED_LOCK; \
329 if (!IS_PXFS(lock)) { \
330 cv_signal(&(lock)->l_cv); \
334 #define CANCEL_WAKEUP(lock) \ argument
336 flk_set_state(lock, FLK_CANCELLED_STATE); \
337 (lock)->l_state |= CANCELLED_LOCK; \
342 if (!IS_PXFS(lock)) { \
343 cv_signal(&(lock)->l_cv); \
347 #define INTERRUPT_WAKEUP(lock) \ argument
349 flk_set_state(lock, FLK_INTERRUPTED_STATE); \
350 (lock)->l_state |= INTERRUPTED_LOCK; \
355 if (!IS_PXFS(lock)) { \
356 cv_signal(&(lock)->l_cv); \
360 #define REMOVE_SLEEP_QUEUE(lock) \ argument
362 ASSERT(IS_SLEEPING(lock) || IS_GRANTED(lock) || \
363 IS_INTERRUPTED(lock) || IS_CANCELLED(lock)); \
364 (lock)->l_state &= ~SLEEPING_LOCK; \
365 (lock)->l_next->l_prev = (lock)->l_prev; \
366 (lock)->l_prev->l_next = (lock)->l_next; \
367 (lock)->l_next = (lock)->l_prev = (lock_descriptor_t *)NULL; \
370 #define NO_DEPENDENTS(lock) \ argument
371 ((lock)->l_edge.edge_in_next == &(lock)->l_edge)
373 #define GRANT(lock) \ argument
375 (lock)->l_state |= GRANTED_LOCK; \
376 flk_set_state(lock, FLK_GRANTED_STATE); \
379 #define FIRST_IN(lock) ((lock)->l_edge.edge_in_next) argument
380 #define FIRST_ADJ(lock) ((lock)->l_edge.edge_adj_next) argument
381 #define HEAD(lock) (&(lock)->l_edge) argument
384 #define IN_ADJ_INIT(lock) \ argument
386 (lock)->l_edge.edge_adj_next = (lock)->l_edge.edge_adj_prev = &(lock)->l_edge; \
387 (lock)->l_edge.edge_in_next = (lock)->l_edge.edge_in_prev = &(lock)->l_edge; \
407 #define SET_NLM_STATE(lock, nlm_state) ((lock)->l_nlm_state = nlm_state) argument
408 #define GET_NLM_STATE(lock) ((lock)->l_nlm_state) argument
479 #define PROC_SAME_OWNER(lock, pvertex) \ argument
480 (((lock)->l_flock.l_pid == (pvertex)->pid) && \
481 ((lock)->l_flock.l_sysid == (pvertex)->sysid))