md/raid5: Make logic blocking check consistent with logic that blocks
The check in raid5_make_request differs very slightly from the logic that causes it to block lower down. This likely does not cause a bug as the check is fuzzy anyway (as reshape may move on between the first check and the subsequent check). However, make it consistent so it can be cleaned up in a subsequent patch. The condition which causes the schedule is: !(mddev->reshape_backwards ? logical_sector < conf->reshape_progress : logical_sector >= conf->reshape_progress) && (mddev->reshape_backwards ? logical_sector < conf->reshape_safe : logical_sector >= conf->reshape_safe) The condition that causes the early bailout is made to match this. Signed-off-by: Logan Gunthorpe <logang@deltatee.com> Signed-off-by: Song Liu <song@kernel.org> Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
parent
9dfbdafda3
commit
6e3f50d30a
|
@ -5842,7 +5842,7 @@ static bool raid5_make_request(struct mddev *mddev, struct bio * bi)
|
|||
if ((bi->bi_opf & REQ_NOWAIT) &&
|
||||
(conf->reshape_progress != MaxSector) &&
|
||||
(mddev->reshape_backwards
|
||||
? (logical_sector > conf->reshape_progress && logical_sector <= conf->reshape_safe)
|
||||
? (logical_sector >= conf->reshape_progress && logical_sector < conf->reshape_safe)
|
||||
: (logical_sector >= conf->reshape_safe && logical_sector < conf->reshape_progress))) {
|
||||
bio_wouldblock_error(bi);
|
||||
if (rw == WRITE)
|
||||
|
|
Loading…
Reference in New Issue