diff options
| -rw-r--r-- | drivers/nvme/host/constants.c | 2 | ||||
| -rw-r--r-- | drivers/nvme/host/core.c | 1 | ||||
| -rw-r--r-- | drivers/nvme/host/pr.c | 2 | ||||
| -rw-r--r-- | drivers/nvme/target/core.c | 9 | ||||
| -rw-r--r-- | drivers/nvme/target/io-cmd-bdev.c | 9 | ||||
| -rw-r--r-- | include/linux/nvme.h | 2 | 
6 files changed, 4 insertions, 21 deletions
| diff --git a/drivers/nvme/host/constants.c b/drivers/nvme/host/constants.c index 2b9e6cfaf2a8..1a0058be5821 100644 --- a/drivers/nvme/host/constants.c +++ b/drivers/nvme/host/constants.c @@ -145,7 +145,7 @@ static const char * const nvme_statuses[] = {  	[NVME_SC_BAD_ATTRIBUTES] = "Conflicting Attributes",  	[NVME_SC_INVALID_PI] = "Invalid Protection Information",  	[NVME_SC_READ_ONLY] = "Attempted Write to Read Only Range", -	[NVME_SC_ONCS_NOT_SUPPORTED] = "ONCS Not Supported", +	[NVME_SC_CMD_SIZE_LIM_EXCEEDED	] = "Command Size Limits Exceeded",  	[NVME_SC_ZONE_BOUNDARY_ERROR] = "Zoned Boundary Error",  	[NVME_SC_ZONE_FULL] = "Zone Is Full",  	[NVME_SC_ZONE_READ_ONLY] = "Zone Is Read Only", diff --git a/drivers/nvme/host/core.c b/drivers/nvme/host/core.c index f69a232a000a..7ba35b573335 100644 --- a/drivers/nvme/host/core.c +++ b/drivers/nvme/host/core.c @@ -290,7 +290,6 @@ static blk_status_t nvme_error_status(u16 status)  	case NVME_SC_NS_NOT_READY:  		return BLK_STS_TARGET;  	case NVME_SC_BAD_ATTRIBUTES: -	case NVME_SC_ONCS_NOT_SUPPORTED:  	case NVME_SC_INVALID_OPCODE:  	case NVME_SC_INVALID_FIELD:  	case NVME_SC_INVALID_NS: diff --git a/drivers/nvme/host/pr.c b/drivers/nvme/host/pr.c index cf2d2c5039dd..ca6a74607b13 100644 --- a/drivers/nvme/host/pr.c +++ b/drivers/nvme/host/pr.c @@ -82,8 +82,6 @@ static int nvme_status_to_pr_err(int status)  		return PR_STS_SUCCESS;  	case NVME_SC_RESERVATION_CONFLICT:  		return PR_STS_RESERVATION_CONFLICT; -	case NVME_SC_ONCS_NOT_SUPPORTED: -		return -EOPNOTSUPP;  	case NVME_SC_BAD_ATTRIBUTES:  	case NVME_SC_INVALID_OPCODE:  	case NVME_SC_INVALID_FIELD: diff --git a/drivers/nvme/target/core.c b/drivers/nvme/target/core.c index db7b17d1094e..e824f149746a 100644 --- a/drivers/nvme/target/core.c +++ b/drivers/nvme/target/core.c @@ -62,14 +62,7 @@ inline u16 errno_to_nvme_status(struct nvmet_req *req, int errno)  		return  NVME_SC_LBA_RANGE | NVME_STATUS_DNR;  	case -EOPNOTSUPP:  		req->error_loc = offsetof(struct nvme_common_command, opcode); -		switch (req->cmd->common.opcode) { -		case nvme_cmd_dsm: -		case nvme_cmd_write_zeroes: -			return NVME_SC_ONCS_NOT_SUPPORTED | NVME_STATUS_DNR; -		default: -			return NVME_SC_INVALID_OPCODE | NVME_STATUS_DNR; -		} -		break; +		return NVME_SC_INVALID_OPCODE | NVME_STATUS_DNR;  	case -ENODATA:  		req->error_loc = offsetof(struct nvme_rw_command, nsid);  		return NVME_SC_ACCESS_DENIED; diff --git a/drivers/nvme/target/io-cmd-bdev.c b/drivers/nvme/target/io-cmd-bdev.c index 83be0657e6df..1cfa13d029bf 100644 --- a/drivers/nvme/target/io-cmd-bdev.c +++ b/drivers/nvme/target/io-cmd-bdev.c @@ -145,15 +145,8 @@ u16 blk_to_nvme_status(struct nvmet_req *req, blk_status_t blk_sts)  		req->error_loc = offsetof(struct nvme_rw_command, slba);  		break;  	case BLK_STS_NOTSUPP: +		status = NVME_SC_INVALID_OPCODE | NVME_STATUS_DNR;  		req->error_loc = offsetof(struct nvme_common_command, opcode); -		switch (req->cmd->common.opcode) { -		case nvme_cmd_dsm: -		case nvme_cmd_write_zeroes: -			status = NVME_SC_ONCS_NOT_SUPPORTED | NVME_STATUS_DNR; -			break; -		default: -			status = NVME_SC_INVALID_OPCODE | NVME_STATUS_DNR; -		}  		break;  	case BLK_STS_MEDIUM:  		status = NVME_SC_ACCESS_DENIED; diff --git a/include/linux/nvme.h b/include/linux/nvme.h index 51308f65b72f..b65a1b9f2116 100644 --- a/include/linux/nvme.h +++ b/include/linux/nvme.h @@ -2171,7 +2171,7 @@ enum {  	NVME_SC_BAD_ATTRIBUTES		= 0x180,  	NVME_SC_INVALID_PI		= 0x181,  	NVME_SC_READ_ONLY		= 0x182, -	NVME_SC_ONCS_NOT_SUPPORTED	= 0x183, +	NVME_SC_CMD_SIZE_LIM_EXCEEDED	= 0x183,  	/*  	 * I/O Command Set Specific - Fabrics commands: | 
