Skip to contentSkip to conversation

btrfs: Remove variable wake for cleanup

PATCH In review Miao Xie 1 participant 1 message May 20, 2010 Btrfs file system

lore
Share & tools
lore

Miao Xie

author
#0 lore raw

PATCH 3/10 btrfs: Remove variable wake for cleanup

From: Liu Bo <[email protected]>

- Put "worker->working" inside "if" to make code clearly.

- If "wake" is 1, "wake_up_process" will be called, meanwhile, "wake" is set to 1 if !worker->working, so remove "wake" and directly call "wake_up_process" if !worker->working.

---
 fs/btrfs/async-thread.c |   15 +++++----------
 1 files changed, 5 insertions(+), 10 deletions(-)
fs/btrfs/async-thread.c +5 -10
index c0861e7..fec412e 100644
@@ -620,7 +620,6 @@ int btrfs_requeue_work(struct btrfs_work *work)
 {
 	struct btrfs_worker_thread *worker = work->worker;
 	unsigned long flags;
-	int wake = 0;
 
 	if (test_and_set_bit(WORK_QUEUED_BIT, &work->flags))
 		goto out;
@@ -643,12 +642,10 @@ int btrfs_requeue_work(struct btrfs_work *work)
 		spin_unlock(&worker->workers->lock);
 	}
 	if (!worker->working) {
-		wake = 1;
 		worker->working = 1;
+		wake_up_process(worker->task);
 	}
 
-	if (wake)
-		wake_up_process(worker->task);
 	spin_unlock_irqrestore(&worker->lock, flags);
 out:
 
@@ -667,7 +664,6 @@ int btrfs_queue_worker(struct btrfs_workers *workers, struct btrfs_work *work)
 {
 	struct btrfs_worker_thread *worker;
 	unsigned long flags;
-	int wake = 0;
 
 	/* don't requeue something already on a list */
 	if (test_and_set_bit(WORK_QUEUED_BIT, &work->flags))
@@ -703,12 +699,11 @@ int btrfs_queue_worker(struct btrfs_workers *workers, struct btrfs_work *work)
 	 * avoid calling into wake_up_process if this thread has already
 	 * been kicked
 	 */
-	if (!worker->working)
-		wake = 1;
-	worker->working = 1;
-
-	if (wake)
+	if (!worker->working) {
+		worker->working = 1;
 		wake_up_process(worker->task);
+	}
+
 	spin_unlock_irqrestore(&worker->lock, flags);
 
 out:
Signature · 1 line
1.6.5.2