Lines Matching refs:mw

440 				    struct ocfs2_mask_waiter *mw, int ret)  in ocfs2_update_lock_stats()  argument
453 kt = ktime_sub(ktime_get(), mw->mw_lock_start); in ocfs2_update_lock_stats()
476 static inline void ocfs2_init_start_time(struct ocfs2_mask_waiter *mw) in ocfs2_init_start_time() argument
478 mw->mw_lock_start = ktime_get(); in ocfs2_init_start_time()
485 int level, struct ocfs2_mask_waiter *mw, int ret) in ocfs2_update_lock_stats() argument
491 static inline void ocfs2_init_start_time(struct ocfs2_mask_waiter *mw) in ocfs2_init_start_time() argument
804 struct ocfs2_mask_waiter *mw, *tmp; in lockres_set_flags() local
810 list_for_each_entry_safe(mw, tmp, &lockres->l_mask_waiters, mw_item) { in lockres_set_flags()
811 if ((lockres->l_flags & mw->mw_mask) != mw->mw_goal) in lockres_set_flags()
814 list_del_init(&mw->mw_item); in lockres_set_flags()
815 mw->mw_status = 0; in lockres_set_flags()
816 complete(&mw->mw_complete); in lockres_set_flags()
1301 static void ocfs2_init_mask_waiter(struct ocfs2_mask_waiter *mw) in ocfs2_init_mask_waiter() argument
1303 INIT_LIST_HEAD(&mw->mw_item); in ocfs2_init_mask_waiter()
1304 init_completion(&mw->mw_complete); in ocfs2_init_mask_waiter()
1305 ocfs2_init_start_time(mw); in ocfs2_init_mask_waiter()
1308 static int ocfs2_wait_for_mask(struct ocfs2_mask_waiter *mw) in ocfs2_wait_for_mask() argument
1310 wait_for_completion(&mw->mw_complete); in ocfs2_wait_for_mask()
1312 reinit_completion(&mw->mw_complete); in ocfs2_wait_for_mask()
1313 return mw->mw_status; in ocfs2_wait_for_mask()
1317 struct ocfs2_mask_waiter *mw, in lockres_add_mask_waiter() argument
1321 BUG_ON(!list_empty(&mw->mw_item)); in lockres_add_mask_waiter()
1325 list_add_tail(&mw->mw_item, &lockres->l_mask_waiters); in lockres_add_mask_waiter()
1326 mw->mw_mask = mask; in lockres_add_mask_waiter()
1327 mw->mw_goal = goal; in lockres_add_mask_waiter()
1333 struct ocfs2_mask_waiter *mw) in __lockres_remove_mask_waiter() argument
1338 if (!list_empty(&mw->mw_item)) { in __lockres_remove_mask_waiter()
1339 if ((lockres->l_flags & mw->mw_mask) != mw->mw_goal) in __lockres_remove_mask_waiter()
1342 list_del_init(&mw->mw_item); in __lockres_remove_mask_waiter()
1343 init_completion(&mw->mw_complete); in __lockres_remove_mask_waiter()
1350 struct ocfs2_mask_waiter *mw) in lockres_remove_mask_waiter() argument
1356 ret = __lockres_remove_mask_waiter(lockres, mw); in lockres_remove_mask_waiter()
1363 static int ocfs2_wait_for_mask_interruptible(struct ocfs2_mask_waiter *mw, in ocfs2_wait_for_mask_interruptible() argument
1368 ret = wait_for_completion_interruptible(&mw->mw_complete); in ocfs2_wait_for_mask_interruptible()
1370 lockres_remove_mask_waiter(lockres, mw); in ocfs2_wait_for_mask_interruptible()
1372 ret = mw->mw_status; in ocfs2_wait_for_mask_interruptible()
1374 reinit_completion(&mw->mw_complete); in ocfs2_wait_for_mask_interruptible()
1386 struct ocfs2_mask_waiter mw; in __ocfs2_cluster_lock() local
1400 ocfs2_init_mask_waiter(&mw); in __ocfs2_cluster_lock()
1426 lockres_add_mask_waiter(lockres, &mw, OCFS2_LOCK_BUSY, 0); in __ocfs2_cluster_lock()
1454 lockres_add_mask_waiter(lockres, &mw, OCFS2_LOCK_BLOCKED, 0); in __ocfs2_cluster_lock()
1544 mw.mw_mask & (OCFS2_LOCK_BUSY|OCFS2_LOCK_BLOCKED)) { in __ocfs2_cluster_lock()
1547 if (__lockres_remove_mask_waiter(lockres, &mw)) { in __ocfs2_cluster_lock()
1559 ret = ocfs2_wait_for_mask(&mw); in __ocfs2_cluster_lock()
1564 ocfs2_update_lock_stats(lockres, level, &mw, ret); in __ocfs2_cluster_lock()
1814 struct ocfs2_mask_waiter mw; in ocfs2_flock_handle_signal() local
1816 ocfs2_init_mask_waiter(&mw); in ocfs2_flock_handle_signal()
1831 lockres_add_mask_waiter(lockres, &mw, OCFS2_LOCK_BUSY, 0); in ocfs2_flock_handle_signal()
1834 ocfs2_wait_for_mask(&mw); in ocfs2_flock_handle_signal()
1884 struct ocfs2_mask_waiter mw; in ocfs2_file_lock() local
1886 ocfs2_init_mask_waiter(&mw); in ocfs2_file_lock()
1899 lockres_add_mask_waiter(lockres, &mw, OCFS2_LOCK_BUSY, 0); in ocfs2_file_lock()
1912 ret = ocfs2_wait_for_mask(&mw); in ocfs2_file_lock()
1925 lockres_add_mask_waiter(lockres, &mw, OCFS2_LOCK_BUSY, 0); in ocfs2_file_lock()
1937 lockres_remove_mask_waiter(lockres, &mw); in ocfs2_file_lock()
1941 ret = ocfs2_wait_for_mask_interruptible(&mw, lockres); in ocfs2_file_lock()
1980 struct ocfs2_mask_waiter mw; in ocfs2_file_unlock() local
1982 ocfs2_init_mask_waiter(&mw); in ocfs2_file_unlock()
2002 lockres_add_mask_waiter(lockres, &mw, OCFS2_LOCK_BUSY, 0); in ocfs2_file_unlock()
2011 ret = ocfs2_wait_for_mask(&mw); in ocfs2_file_unlock()
3177 struct ocfs2_mask_waiter mw; in ocfs2_mark_lockres_freeing() local
3180 ocfs2_init_mask_waiter(&mw); in ocfs2_mark_lockres_freeing()
3219 lockres_add_mask_waiter(lockres, &mw, OCFS2_LOCK_QUEUED, 0); in ocfs2_mark_lockres_freeing()
3224 status = ocfs2_wait_for_mask(&mw); in ocfs2_mark_lockres_freeing()