static bool raid5_make_request(struct mddev *mddev, struct bio * bi) { ... if ((bi->bi_opf & REQ_NOWAIT) && (conf->reshape_progress != MaxSector) && get_reshape_loc(mddev, conf, logical_sector) == LOC_INSIDE_RESHAPE) { bio_wouldblock_error(bi); if (rw == WRITE) md_write_end(mddev); return true; } if (likely(conf->reshape_progress == MaxSector)) { ... } else { add_wait_queue(&conf->wait_for_reshape, &wait); on_wq = true; } ... } In raid5_make_request(), if a reshape is progressing and the current IO request is not within the reshape range and has the REQ_NOWAIT flag, does the thread entering the wait queue violate the semantics of REQ_NOWAIT?