Lines Matching defs:thread

92 static void md_wakeup_thread_directly(struct md_thread __rcu *thread);
442 struct md_thread *thread = rcu_dereference_protected(mddev->thread,
445 WARN_ON_ONCE(thread && current == thread->tsk);
478 md_wakeup_thread(mddev->thread);
815 md_wakeup_thread(mddev->thread);
2864 md_wakeup_thread(mddev->thread);
2981 md_wakeup_thread(mddev->thread);
3012 md_wakeup_thread(rdev->mddev->thread);
3050 md_wakeup_thread(rdev->mddev->thread);
3180 md_wakeup_thread(rdev->mddev->thread);
4106 if (!mddev->thread)
4429 md_wakeup_thread(mddev->thread);
4928 md_wakeup_thread(mddev->thread);
5831 md_wakeup_thread(mddev->thread);
6152 md_wakeup_thread(mddev->thread);
6173 md_wakeup_thread(mddev->thread);
6218 md_wakeup_thread(mddev->thread);
6327 md_unregister_thread(mddev, &mddev->thread);
6382 md_wakeup_thread(mddev->thread);
6425 md_wakeup_thread(mddev->thread);
6447 md_wakeup_thread(mddev->thread);
6474 md_wakeup_thread(mddev->thread);
7015 if (mddev->thread)
7016 md_wakeup_thread(mddev->thread);
7083 if (!mddev->thread)
7099 md_wakeup_thread(mddev->thread);
7113 if (!mddev->pers->quiesce || !mddev->thread)
7450 if (mddev->pers->quiesce == NULL || mddev->thread == NULL) {
7683 /* need to ensure recovery thread has run */
7782 /* mddev_unlock will wake thread */
7968 struct md_thread *thread = arg;
7971 * md_thread is a 'system-thread', it's priority should be very
7994 (thread->wqueue,
7995 test_bit(THREAD_WAKEUP, &thread->flags)
7997 thread->timeout);
7999 clear_bit(THREAD_WAKEUP, &thread->flags);
8003 thread->run(thread);
8009 static void md_wakeup_thread_directly(struct md_thread __rcu *thread)
8014 t = rcu_dereference(thread);
8020 void md_wakeup_thread(struct md_thread __rcu *thread)
8025 t = rcu_dereference(thread);
8027 pr_debug("md: waking up MD thread %s.\n", t->tsk->comm);
8038 struct md_thread *thread;
8040 thread = kzalloc(sizeof(struct md_thread), GFP_KERNEL);
8041 if (!thread)
8044 init_waitqueue_head(&thread->wqueue);
8046 thread->run = run;
8047 thread->mddev = mddev;
8048 thread->timeout = MAX_SCHEDULE_TIMEOUT;
8049 thread->tsk = kthread_run(md_thread, thread,
8051 mdname(thread->mddev),
8053 if (IS_ERR(thread->tsk)) {
8054 kfree(thread);
8057 return thread;
8063 struct md_thread *thread = rcu_dereference_protected(*threadp,
8066 if (!thread)
8072 pr_debug("interrupting MD-thread pid %d\n", task_pid_nr(thread->tsk));
8073 kthread_stop(thread->tsk);
8074 kfree(thread);
8096 md_wakeup_thread(mddev->thread);
8607 md_wakeup_thread(mddev->thread);
8632 md_wakeup_thread(mddev->thread);
8648 md_wakeup_thread(mddev->thread);
8691 md_wakeup_thread(mddev->thread);
8802 void md_do_sync(struct md_thread *thread)
8804 struct mddev *mddev = thread->mddev;
8819 /* just incase thread restarts... */
9217 md_wakeup_thread(mddev->thread);
9231 /* Mustn't remove devices when resync thread is running */
9322 pr_warn("%s: could not start resync thread...\n",
9344 * Raid personalities that don't have a thread (linear/raid0) do not
9350 * "->recovery" and create a thread at ->sync_thread.
9351 * When the thread finishes it sets MD_RECOVERY_DONE
9352 * and wakeups up this thread which will reap the thread and finish up.
9353 * This thread also removes any faulty devices (with nr_pending == 0).
9357 * 2/ If a recovery thread is running, don't do anything else.
9361 * 6/ If array has spares or is not in-sync, start a resync thread.
9366 /* Write superblock - thread that called mddev_suspend()
9430 /* There is no thread, but we need to call
9463 * Never start a new sync thread if MD_RECOVERY_RUNNING is
9661 md_wakeup_thread(rdev->mddev->thread);
9824 /* wakeup mddev->thread here, so array could
9827 md_wakeup_thread(mddev->thread);