Lines Matching refs:hsi

447 	spin_lock(&sbi->hsi.list_lock);
448 if (!sbi->hsi.is_executing) {
449 sbi->hsi.is_executing = true;
451 spin_unlock(&sbi->hsi.list_lock);
454 list_add_tail(&item.list, &sbi->hsi.wait_list);
455 spin_unlock(&sbi->hsi.list_lock);
469 spin_lock(&sbi->hsi.v_lock);
470 sbi->hsi.version++;
472 * Attention: We put @sbi->hsi.remote_ret and @sbi->hsi.wait_count
477 * sbi->hsi.remote_ret = 0;
478 * atomic_set(&sbi->hsi.wait_count, 0);
481 * sbi->hsi.remote_ret = resp->ret_code
482 * atomic_dec(&sbi->hsi.wait_count);
488 * @sbi->hsi.remote_ret and @sbi->hsi.wait_count can be assigned
492 sbi->hsi.remote_ret = 0;
493 atomic_set(&sbi->hsi.wait_count, 0);
494 spin_unlock(&sbi->hsi.v_lock);
530 sbi->hsi.remote_ret = err;
536 atomic_inc(&sbi->hsi.wait_count);
548 sbi->hsi.wq, atomic_read(&sbi->hsi.wait_count) == 0);
554 if (!err && sbi->hsi.remote_ret)
555 err = sbi->hsi.remote_ret;
558 list_for_each_entry_safe(entry, tmp, &sbi->hsi.pending_list, list) {
562 INIT_LIST_HEAD(&sbi->hsi.pending_list);
565 spin_lock(&sbi->hsi.list_lock);
566 if (list_empty(&sbi->hsi.wait_list)) {
567 sbi->hsi.is_executing = false;
569 entry = list_last_entry(&sbi->hsi.wait_list, struct syncfs_item,
572 list_splice_init(&sbi->hsi.wait_list, &sbi->hsi.pending_list);
576 spin_unlock(&sbi->hsi.list_lock);
579 trace_hmdfs_syncfs_exit(sbi, atomic_read(&sbi->hsi.wait_count),
966 spin_lock_init(&sbi->hsi.v_lock);
967 init_waitqueue_head(&sbi->hsi.wq);
968 sbi->hsi.version = 0;
969 sbi->hsi.is_executing = false;
970 INIT_LIST_HEAD(&sbi->hsi.wait_list);
971 INIT_LIST_HEAD(&sbi->hsi.pending_list);
972 spin_lock_init(&sbi->hsi.list_lock);