diff options
Diffstat (limited to 'libbcachefs/clock.c')
-rw-r--r-- | libbcachefs/clock.c | 3 |
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) |