diff options
author | Roland Dreier <rolandd@cisco.com> | 2005-10-24 10:55:29 -0700 |
---|---|---|
committer | Roland Dreier <rolandd@cisco.com> | 2005-10-24 10:55:29 -0700 |
commit | ec329a135974f1c400214dab02f09584d4beeba9 (patch) | |
tree | 235be754f76f4e7d51975d2434f226cfc75cdd08 /drivers/md | |
parent | bbf207860931b6a033d0fbcd170ae2332c0d8216 (diff) | |
parent | 5d7edb3c1a01310725d86f0d83fb3be45685dc82 (diff) |
Manual merge of for-linus to upstream (fix conflicts in drivers/infiniband/core/ucm.c)
Diffstat (limited to 'drivers/md')
-rw-r--r-- | drivers/md/md.c | 4 |
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) { |