> On Fri, Apr 16, 2021 at 10:12:11AM -0700, Yuanyuan Zhong wrote: > > > if (poll) > > > nvme_execute_rq_polled(req->q, NULL, req, at_head); > > You may need to audit other completion handlers for blk_execute_rq_nowait(). > > Why? Those callers already provide their own callback that directly get > the error. We should make sure all callbacks provided to blk_execute_rq_nowait() carry error back. i.e. by reusing rq->end_io_data. > > > How to get error ret from polled rq? > > Please see nvme_end_sync_rq() for that driver's polled handler callback. > It already has the error. nvme_end_sync_rq() currently doesn't store error in rq->end_io_data as you proposed in patch 1. - Casey