Lines Matching refs:hsi
425 spin_lock(&sbi->hsi.list_lock); in hmdfs_sync_fs()
426 if (!sbi->hsi.is_executing) { in hmdfs_sync_fs()
427 sbi->hsi.is_executing = true; in hmdfs_sync_fs()
429 spin_unlock(&sbi->hsi.list_lock); in hmdfs_sync_fs()
432 list_add_tail(&item.list, &sbi->hsi.wait_list); in hmdfs_sync_fs()
433 spin_unlock(&sbi->hsi.list_lock); in hmdfs_sync_fs()
447 spin_lock(&sbi->hsi.v_lock); in hmdfs_sync_fs()
448 sbi->hsi.version++; in hmdfs_sync_fs()
470 sbi->hsi.remote_ret = 0; in hmdfs_sync_fs()
471 atomic_set(&sbi->hsi.wait_count, 0); in hmdfs_sync_fs()
472 spin_unlock(&sbi->hsi.v_lock); in hmdfs_sync_fs()
508 sbi->hsi.remote_ret = err; in hmdfs_sync_fs()
514 atomic_inc(&sbi->hsi.wait_count); in hmdfs_sync_fs()
526 sbi->hsi.wq, atomic_read(&sbi->hsi.wait_count) == 0); in hmdfs_sync_fs()
532 if (!err && sbi->hsi.remote_ret) in hmdfs_sync_fs()
533 err = sbi->hsi.remote_ret; in hmdfs_sync_fs()
536 list_for_each_entry_safe(entry, tmp, &sbi->hsi.pending_list, list) { in hmdfs_sync_fs()
540 INIT_LIST_HEAD(&sbi->hsi.pending_list); in hmdfs_sync_fs()
543 spin_lock(&sbi->hsi.list_lock); in hmdfs_sync_fs()
544 if (list_empty(&sbi->hsi.wait_list)) { in hmdfs_sync_fs()
545 sbi->hsi.is_executing = false; in hmdfs_sync_fs()
547 entry = list_last_entry(&sbi->hsi.wait_list, struct syncfs_item, in hmdfs_sync_fs()
550 list_splice_init(&sbi->hsi.wait_list, &sbi->hsi.pending_list); in hmdfs_sync_fs()
554 spin_unlock(&sbi->hsi.list_lock); in hmdfs_sync_fs()
557 trace_hmdfs_syncfs_exit(sbi, atomic_read(&sbi->hsi.wait_count), in hmdfs_sync_fs()
939 spin_lock_init(&sbi->hsi.v_lock); in hmdfs_fill_super()
940 init_waitqueue_head(&sbi->hsi.wq); in hmdfs_fill_super()
941 sbi->hsi.version = 0; in hmdfs_fill_super()
942 sbi->hsi.is_executing = false; in hmdfs_fill_super()
943 INIT_LIST_HEAD(&sbi->hsi.wait_list); in hmdfs_fill_super()
944 INIT_LIST_HEAD(&sbi->hsi.pending_list); in hmdfs_fill_super()
945 spin_lock_init(&sbi->hsi.list_lock); in hmdfs_fill_super()