On 6/3/22 21:45, Keith Busch wrote:
On Fri, Jun 03, 2022 at 01:55:34AM -0500, Mike Christie wrote:
@@ -171,6 +171,7 @@ static const struct {
/* zone device specific errors */
[BLK_STS_ZONE_OPEN_RESOURCE] = { -ETOOMANYREFS, "open zones exceeded" },
[BLK_STS_ZONE_ACTIVE_RESOURCE] = { -EOVERFLOW, "active zones exceeded" },
+ [BLK_STS_RSV_CONFLICT] = { -EBADE, "resevation conflict" },
You misspelled "reservation". :)
And since you want a different error, why reuse EBADE for the errno? That is
already used for BLK_STS_NEXUS that you're trying to differentiate from, right?
At least for nvme, this error code is returned when the host lacks sufficient
rights, so something like EACCESS might make sense.
Looks good otherwise.
Welll ... BLK_STS_NEXUS _is_ the reservation error.
I'd rather modify the existing code to return BLK_STS_RSV_CONFLICT
instead of BLK_STS_NEXUS, but keep the 'EBADE' mapping.
Userspace ABI and all that.
Cheers,
Hannes
--
Dr. Hannes Reinecke Kernel Storage Architect
hare@xxxxxxx +49 911 74053 688
SUSE Software Solutions GmbH, Maxfeldstr. 5, 90409 Nürnberg
HRB 36809 (AG Nürnberg), Geschäftsführer: Ivo Totev, Andrew
Myers, Andrew McDonald, Martje Boudien Moerman