diff options
| author | Abd-Alrhman Masalkhi <abd.masalkhi@gmail.com> | 2026-06-11 08:35:14 +0000 |
|---|---|---|
| committer | Yu Kuai <yukuai@fygo.io> | 2026-06-21 04:19:27 +0800 |
| commit | a286cb88ddb26c5f4377859d8e77233d9181eb82 (patch) | |
| tree | 4505203530565644d992e3e82ceaaa6a2378dbcb /include/linux/timerqueue.h | |
| parent | 53528031e7a6e16f0f05347f3826ffb4f957b7e4 (diff) | |
md/raid1: honor REQ_NOWAIT when waiting for behind writes
raid1 supports REQ_NOWAIT reads by avoiding waits in the barrier path
through wait_read_barrier(). However, a read can still block on a
WriteMostly device when the array uses a bitmap and there are
outstanding behind writes.
In that case raid1 unconditionally calls wait_behind_writes(), which
may sleep until all behind writes complete. As a result, a REQ_NOWAIT
read can block despite the caller explicitly requesting non-blocking
behavior.
This ensures that raid1 consistently honors REQ_NOWAIT reads across all
paths that may otherwise wait for behind writes.
Fixes: 5aa705039c4f ("md: raid1 add nowait support")
Signed-off-by: Abd-Alrhman Masalkhi <abd.masalkhi@gmail.com>
Link: https://patch.msgid.link/20260611083514.754922-1-abd.masalkhi@gmail.com
Signed-off-by: Yu Kuai <yukuai@fygo.io>
Diffstat (limited to 'include/linux/timerqueue.h')
0 files changed, 0 insertions, 0 deletions
