aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/md/md.c
diff options
context:
space:
mode:
authorRafael J. Wysocki <rjw@sisk.pl>2006-11-08 20:44:48 -0500
committerLinus Torvalds <torvalds@g5.osdl.org>2006-11-08 21:29:24 -0500
commit4b438a23fb05b6566393f9f0a3987ea3dcc1c0c4 (patch)
tree3341d8c6da3aeabef790efd2f57faa1b21f33b04 /drivers/md/md.c
parent0692c6b1cf5537b190f90fb5903f1af89a41b0a8 (diff)
[PATCH] md: do not freeze md threads for suspend
If there's a swap file on a software RAID, it should be possible to use this file for saving the swsusp's suspend image. Also, this file should be available to the memory management subsystem when memory is being freed before the suspend image is created. For the above reasons it seems that md_threads should not be frozen during the suspend and the appended patch makes this happen, but then there is the question if they don't cause any data to be written to disks after the suspend image has been created, provided that all filesystems are frozen at that time. Signed-off-by: Neil Brown <neilb@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/md/md.c')
-rw-r--r--drivers/md/md.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/md/md.c b/drivers/md/md.c
index ae50a2419cc6..8cbf9c9df1c3 100644
--- a/drivers/md/md.c
+++ b/drivers/md/md.c
@@ -4486,6 +4486,7 @@ static int md_thread(void * arg)
4486 * many dirty RAID5 blocks. 4486 * many dirty RAID5 blocks.
4487 */ 4487 */
4488 4488
4489 current->flags |= PF_NOFREEZE;
4489 allow_signal(SIGKILL); 4490 allow_signal(SIGKILL);
4490 while (!kthread_should_stop()) { 4491 while (!kthread_should_stop()) {
4491 4492
@@ -4502,7 +4503,6 @@ static int md_thread(void * arg)
4502 test_bit(THREAD_WAKEUP, &thread->flags) 4503 test_bit(THREAD_WAKEUP, &thread->flags)
4503 || kthread_should_stop(), 4504 || kthread_should_stop(),
4504 thread->timeout); 4505 thread->timeout);
4505 try_to_freeze();
4506 4506
4507 clear_bit(THREAD_WAKEUP, &thread->flags); 4507 clear_bit(THREAD_WAKEUP, &thread->flags);
4508 4508