From ffc1e02ada1a356423855e8ae40bbd941afcd891 Mon Sep 17 00:00:00 2001 From: Amit Gud Date: Thu, 2 Apr 2009 17:01:27 -0400 Subject: [PATCH] --- yaml --- r: 140335 b: refs/heads/master c: b5555f77115bfba3630fefff2d4e68140b644171 h: refs/heads/master i: 140333: b3e425162c3ee59b9d928c40dd7b6f2b59880ceb 140331: 6787cb68d20bcff42d6168621f08987ec3f80e61 140327: ff725550e2e34cfb32e3947e990ec75d7f341868 140319: d4c0d694ed226261bf681e4c857c9307a544ad84 v: v3 --- [refs] | 2 +- trunk/fs/btrfs/async-thread.c | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index c1a5e0e6baa3..727f2d4fdd62 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: dccae99995089641fbac452ebc7f0cab18751ddb +refs/heads/master: b5555f77115bfba3630fefff2d4e68140b644171 diff --git a/trunk/fs/btrfs/async-thread.c b/trunk/fs/btrfs/async-thread.c index c84ca1f5259a..cba701dba350 100644 --- a/trunk/fs/btrfs/async-thread.c +++ b/trunk/fs/btrfs/async-thread.c @@ -195,6 +195,9 @@ static int worker_loop(void *arg) if (!list_empty(&worker->pending)) continue; + if (kthread_should_stop()) + break; + /* still no more work?, sleep for real */ spin_lock_irq(&worker->lock); set_current_state(TASK_INTERRUPTIBLE); @@ -208,7 +211,8 @@ static int worker_loop(void *arg) worker->working = 0; spin_unlock_irq(&worker->lock); - schedule(); + if (!kthread_should_stop()) + schedule(); } __set_current_state(TASK_RUNNING); }