On 11/26/19, 11:24 AM, "Christoph Hellwig" <hch@xxxxxx> wrote: On Wed, Nov 27, 2019 at 01:05:46AM +0900, Keith Busch wrote: > > +++ b/include/linux/blk_types.h > > @@ -84,6 +84,7 @@ static inline bool blk_path_error(blk_status_t error) > > case BLK_STS_NEXUS: > > case BLK_STS_MEDIUM: > > case BLK_STS_PROTECTION: > > + case BLK_STS_RESOURCE: > > return false; > > } > > I agree we need to make this status a non-path error, but we at least > need an Ack from Jens or have this patch go through linux-block if we're > changing BLK_STS_RESOURCE to mean a non-path error. >>> most resource errors are per-path, so blindly changing this is wrong. >>> That's why I really just wanted to decode the nvme status codes inside >>> nvme instead of going through a block layer mapping, as that is just >>> bound to lose some information. It wasn't my intention to turn NVME_SC_CMD_INTERRUPTED into non-path related error. The goal was to make the command retry after CDR on the same controller. So why does this patch change the meaning of BLK_STS_RESOURCE? /John