Skip to contentSkip to conversation

Freezer: Fix JFFS2 garbage collector freezing issue (rev. 2)

PATCH Applied Rafael J. Wysocki 2 participants 2 messages Dec 3, 2007 – Dec 4, 2007 Journalling flash file system V2 (JFFS2)

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Freezer: Fix JFFS2 garbage collector freezing issue (rev. 2)

[This is a replacement for freezer-fix-jffs2-garbage-collector-freezing-issue.patch]
---
From: Rafael J. Wysocki <[email protected]>

Fix breakage caused by commit d5d8c5976d6adeddb8208c240460411e2198b393 "freezer: do not send signals to kernel threads" in jffs2_garbage_collect_thread() that assumed it would be sent signals by the freezer.

Cc David Woodhouse <[email protected]>
Cc Pete MacKay <[email protected]>
---
 fs/jffs2/background.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
fs/jffs2/background.c +1 -1
Index: linux-2.6/fs/jffs2/background.c
===================================================================
@@ -105,7 +105,7 @@ static int jffs2_garbage_collect_thread(
 
 		/* Put_super will send a SIGKILL and then wait on the sem.
 		 */
-		while (signal_pending(current)) {
+		while (signal_pending(current) || freezing(current)) {
 			siginfo_t info;
 			unsigned long signr;
 
Applied
#1 lore raw

Applied to suspend branch.

thanks,
-len

Quoted 31 lines · Rafael J. Wysocki

[This is a replacement for freezer-fix-jffs2-garbage-collector-freezing-issue.patch]
---
From: Rafael J. Wysocki <[email protected]>

Fix breakage caused by commit d5d8c5976d6adeddb8208c240460411e2198b393 "freezer: do not send signals to kernel threads" in jffs2_garbage_collect_thread() that assumed it would be sent signals by the freezer.

Cc David Woodhouse <[email protected]>
Cc Pete MacKay <[email protected]>
---
 fs/jffs2/background.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Index: linux-2.6/fs/jffs2/background.c
===================================================================

fs/jffs2/background.c +1 -1
@@ -105,7 +105,7 @@ static int jffs2_garbage_collect_thread(
 
 		/* Put_super will send a SIGKILL and then wait on the sem.
 		 */
-		while (signal_pending(current)) {
+		while (signal_pending(current) || freezing(current)) {
 			siginfo_t info;
 			unsigned long signr;