summaryrefslogtreecommitdiff
path: root/libbcachefs/clock.c
diff options
context:
space:
mode:
Diffstat (limited to 'libbcachefs/clock.c')
-rw-r--r--libbcachefs/clock.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/libbcachefs/clock.c b/libbcachefs/clock.c
index c36bfc62..f4188909 100644
--- a/libbcachefs/clock.c
+++ b/libbcachefs/clock.c
@@ -95,6 +95,7 @@ void bch2_kthread_io_clock_wait(struct io_clock *clock,
unsigned long io_until,
unsigned long cpu_timeout)
{
+ bool kthread = (current->flags & PF_KTHREAD) != 0;
struct io_clock_wait wait;
wait.io_timer.expire = io_until;
@@ -110,7 +111,7 @@ void bch2_kthread_io_clock_wait(struct io_clock *clock,
while (1) {
set_current_state(TASK_INTERRUPTIBLE);
- if (kthread_should_stop())
+ if (kthread && kthread_should_stop())
break;
if (wait.expired)