From 3ecb5d3aa43166f6454697a64418614c7d7d424d Mon Sep 17 00:00:00 2001 From: NeilBrown Date: Wed, 19 Oct 2005 21:23:47 -0700 Subject: [PATCH] --- yaml --- r: 10020 b: refs/heads/master c: 6985c43f39b3d799999c390099c56ebbee27d4f4 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/md/md.c | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index f91535bd96fc..c3405806327a 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 4a9949d7ac9e2bc51939f27b184be6e1bd99004e +refs/heads/master: 6985c43f39b3d799999c390099c56ebbee27d4f4 diff --git a/trunk/drivers/md/md.c b/trunk/drivers/md/md.c index 2897df90df44..e9476075aa13 100644 --- a/trunk/drivers/md/md.c +++ b/trunk/drivers/md/md.c @@ -3063,6 +3063,7 @@ static int md_thread(void * arg) * many dirty RAID5 blocks. */ + allow_signal(SIGKILL); complete(thread->event); while (!kthread_should_stop()) { void (*run)(mddev_t *); @@ -3111,7 +3112,7 @@ mdk_thread_t *md_register_thread(void (*run) (mddev_t *), mddev_t *mddev, thread->mddev = mddev; thread->name = name; thread->timeout = MAX_SCHEDULE_TIMEOUT; - thread->tsk = kthread_run(md_thread, thread, mdname(thread->mddev)); + thread->tsk = kthread_run(md_thread, thread, name, mdname(thread->mddev)); if (IS_ERR(thread->tsk)) { kfree(thread); return NULL; @@ -3569,6 +3570,7 @@ static void md_do_sync(mddev_t *mddev) try_again: if (signal_pending(current)) { flush_signals(current); + set_bit(MD_RECOVERY_INTR, &mddev->recovery); goto skip; } ITERATE_MDDEV(mddev2,tmp) {