Lines Matching defs:thread
74 * mddev->thread when the mutex cannot be held.
502 WARN_ON_ONCE(mddev->thread && current == mddev->thread->tsk);
532 md_wakeup_thread(mddev->thread);
853 * make sure the thread doesn't disappear
856 md_wakeup_thread(mddev->thread);
2940 md_wakeup_thread(mddev->thread);
3056 md_wakeup_thread(mddev->thread);
3087 md_wakeup_thread(rdev->mddev->thread);
3125 md_wakeup_thread(rdev->mddev->thread);
3255 md_wakeup_thread(rdev->mddev->thread);
4162 if (!mddev->thread)
4485 md_wakeup_thread(mddev->thread);
4954 md_wakeup_thread(mddev->thread);
5853 md_wakeup_thread(mddev->thread);
6148 md_wakeup_thread(mddev->thread);
6170 md_wakeup_thread(mddev->thread);
6215 md_wakeup_thread(mddev->thread);
6316 md_unregister_thread(&mddev->thread);
6363 md_wakeup_thread(mddev->thread);
6389 md_wakeup_thread(mddev->thread);
6404 md_wakeup_thread(mddev->thread);
6427 md_wakeup_thread(mddev->thread);
6452 md_wakeup_thread(mddev->thread);
7000 if (mddev->thread)
7001 md_wakeup_thread(mddev->thread);
7069 if (!mddev->thread)
7076 md_wakeup_thread(mddev->thread);
7090 if (!mddev->pers->quiesce || !mddev->thread)
7418 if (mddev->pers->quiesce == NULL || mddev->thread == NULL) {
7623 /* need to ensure recovery thread has run */
7778 /* mddev_unlock will wake thread */
7940 struct md_thread *thread = arg;
7943 * md_thread is a 'system-thread', it's priority should be very
7966 (thread->wqueue,
7967 test_bit(THREAD_WAKEUP, &thread->flags)
7969 thread->timeout);
7971 clear_bit(THREAD_WAKEUP, &thread->flags);
7975 thread->run(thread);
7981 void md_wakeup_thread(struct md_thread *thread)
7983 if (thread) {
7984 pr_debug("md: waking up MD thread %s.\n", thread->tsk->comm);
7985 set_bit(THREAD_WAKEUP, &thread->flags);
7986 wake_up(&thread->wqueue);
7994 struct md_thread *thread;
7996 thread = kzalloc(sizeof(struct md_thread), GFP_KERNEL);
7997 if (!thread)
8000 init_waitqueue_head(&thread->wqueue);
8002 thread->run = run;
8003 thread->mddev = mddev;
8004 thread->timeout = MAX_SCHEDULE_TIMEOUT;
8005 thread->tsk = kthread_run(md_thread, thread,
8007 mdname(thread->mddev),
8009 if (IS_ERR(thread->tsk)) {
8010 kfree(thread);
8013 return thread;
8019 struct md_thread *thread;
8023 * non-existent thread
8026 thread = *threadp;
8027 if (!thread) {
8034 pr_debug("interrupting MD-thread pid %d\n", task_pid_nr(thread->tsk));
8035 kthread_stop(thread->tsk);
8036 kfree(thread);
8053 md_wakeup_thread(mddev->thread);
8545 md_wakeup_thread(mddev->thread);
8570 md_wakeup_thread(mddev->thread);
8586 md_wakeup_thread(mddev->thread);
8629 md_wakeup_thread(mddev->thread);
8678 void md_do_sync(struct md_thread *thread)
8680 struct mddev *mddev = thread->mddev;
8696 /* just incase thread restarts... */
9093 md_wakeup_thread(mddev->thread);
9107 /* Mustn't remove devices when resync thread is running */
9199 pr_warn("%s: could not start resync thread...\n",
9221 * Raid personalities that don't have a thread (linear/raid0) do not
9227 * "->recovery" and create a thread at ->sync_thread.
9228 * When the thread finishes it sets MD_RECOVERY_DONE
9229 * and wakeups up this thread which will reap the thread and finish up.
9230 * This thread also removes any faulty devices (with nr_pending == 0).
9234 * 2/ If a recovery thread is running, don't do anything else.
9238 * 6/ If array has spares or is not in-sync, start a resync thread.
9243 /* Write superblock - thread that called mddev_suspend()
9306 /* There is no thread, but we need to call
9527 md_wakeup_thread(rdev->mddev->thread);
9685 /* wakeup mddev->thread here, so array could
9688 md_wakeup_thread(mddev->thread);