summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@gmail.com>2015-03-23 17:33:37 -0700
committerKent Overstreet <kent.overstreet@gmail.com>2016-10-07 12:33:36 -0800
commit5fa5a6086f50b45ead6f87ee7f015f27de43c342 (patch)
tree749f339a00bd690750cb1fc3040e244662478153
parentca5064cd7ad159d3a468390d8c8f5d496ee0640e (diff)
bcache: Fix try_to_freeze() calls
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
-rw-r--r--drivers/md/bcache/gc.c2
-rw-r--r--drivers/md/bcache/util.c12
-rw-r--r--drivers/md/bcache/util.h2
-rw-r--r--drivers/md/bcache/writeback.c2
4 files changed, 9 insertions, 9 deletions
diff --git a/drivers/md/bcache/gc.c b/drivers/md/bcache/gc.c
index bcc6da832d35..4879b11ad2a7 100644
--- a/drivers/md/bcache/gc.c
+++ b/drivers/md/bcache/gc.c
@@ -683,8 +683,8 @@ static int bch_gc_thread(void *arg)
if (kthread_should_stop())
break;
- try_to_freeze();
schedule();
+ try_to_freeze();
}
return 0;
diff --git a/drivers/md/bcache/util.c b/drivers/md/bcache/util.c
index 0533fb43bf59..ff33161dff5f 100644
--- a/drivers/md/bcache/util.c
+++ b/drivers/md/bcache/util.c
@@ -246,15 +246,15 @@ int bch_ratelimit_wait_freezable_stoppable(struct bch_ratelimit *d,
return 1;
}
- if (freezing(current)) {
- closure_sync(cl);
- try_to_freeze();
- }
-
if (!delay)
return 0;
schedule_timeout(delay);
+
+ if (freezing(current)) {
+ closure_sync(cl);
+ try_to_freeze();
+ }
}
}
@@ -509,8 +509,8 @@ int bch_kthread_loop_ratelimit(unsigned long *last, unsigned long delay)
if (kthread_should_stop())
return -1;
- try_to_freeze();
schedule_timeout(max_t(long, 0, next - jiffies));
+ try_to_freeze();
*last = jiffies;
return 0;
diff --git a/drivers/md/bcache/util.h b/drivers/md/bcache/util.h
index 3a829dc7b534..708fd9b5d9ac 100644
--- a/drivers/md/bcache/util.h
+++ b/drivers/md/bcache/util.h
@@ -596,8 +596,8 @@ int bch_kthread_loop_ratelimit(unsigned long *, unsigned long);
if (cond) \
break; \
\
- try_to_freeze(); \
schedule(); \
+ try_to_freeze(); \
} \
set_current_state(TASK_RUNNING); \
_ret; \
diff --git a/drivers/md/bcache/writeback.c b/drivers/md/bcache/writeback.c
index d5d2e1982615..d2bb18bbfc39 100644
--- a/drivers/md/bcache/writeback.c
+++ b/drivers/md/bcache/writeback.c
@@ -419,8 +419,8 @@ static void bch_writeback(struct cached_dev *dc)
if (kthread_should_stop())
return;
- try_to_freeze();
schedule();
+ try_to_freeze();
return;
}