aboutsummaryrefslogtreecommitdiff
path: root/drivers/md/md.c
diff options
context:
space:
mode:
authorJeff Garzik <jgarzik@pobox.com>2005-10-21 21:33:27 -0400
committerJeff Garzik <jgarzik@pobox.com>2005-10-21 21:33:27 -0400
commite78a57de94480226f7fc90d0b4837bfc6c99a9e0 (patch)
treebfe0a664f88b6cb9d284869d615ae2d7fdb7cf63 /drivers/md/md.c
parent77501f3cb648e18733509a951ed31eddd7ef2c0b (diff)
parent452503f993feffe96e8cc9fbff4888b96e2c5e40 (diff)
Merge branch 'upstream'
Diffstat (limited to 'drivers/md/md.c')
-rw-r--r--drivers/md/md.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/md/md.c b/drivers/md/md.c
index 2897df90df4..e9476075aa1 100644
--- a/drivers/md/md.c
+++ b/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) {