Lines Matching refs:new_lock
436 static void set_hash_lock(struct data_vio *data_vio, struct hash_lock *new_lock) in set_hash_lock() argument
465 if (new_lock != NULL) { in set_hash_lock()
470 list_move_tail(&data_vio->hash_lock_entry, &new_lock->duplicate_vios); in set_hash_lock()
471 new_lock->reference_count += 1; in set_hash_lock()
472 if (new_lock->max_references < new_lock->reference_count) in set_hash_lock()
473 new_lock->max_references = new_lock->reference_count; in set_hash_lock()
475 data_vio->hash_lock = new_lock; in set_hash_lock()
868 struct hash_lock *lock, *new_lock; in acquire_lock() local
880 new_lock = list_entry(zone->lock_pool.prev, struct hash_lock, pool_node); in acquire_lock()
881 list_del_init(&new_lock->pool_node); in acquire_lock()
887 new_lock->hash = *hash; in acquire_lock()
889 result = vdo_int_map_put(zone->hash_lock_map, hash_lock_key(new_lock), in acquire_lock()
890 new_lock, (replace_lock != NULL), (void **) &lock); in acquire_lock()
892 return_hash_lock_to_pool(zone, vdo_forget(new_lock)); in acquire_lock()
907 lock = new_lock; in acquire_lock()
911 return_hash_lock_to_pool(zone, vdo_forget(new_lock)); in acquire_lock()
927 struct hash_lock *new_lock = context; in enter_forked_lock() local
929 set_hash_lock(data_vio, new_lock); in enter_forked_lock()
930 wait_on_hash_lock(new_lock, data_vio); in enter_forked_lock()
943 struct hash_lock *new_lock; in fork_hash_lock() local
947 &new_lock); in fork_hash_lock()
958 new_lock->update_advice = true; in fork_hash_lock()
960 set_hash_lock(new_agent, new_lock); in fork_hash_lock()
961 new_lock->agent = new_agent; in fork_hash_lock()
963 vdo_waitq_notify_all_waiters(&old_lock->waiters, enter_forked_lock, new_lock); in fork_hash_lock()
966 start_writing(new_lock, new_agent); in fork_hash_lock()