diff --git a/spec.md b/spec.md index 10c7dacb..54b58b41 100644 --- a/spec.md +++ b/spec.md @@ -2529,6 +2529,9 @@ The `staging_target_path` field is not required, for backwards compatibility, bu Plugins can use this field to determine if `volume_path` is where the volume is published or staged, and setting this field to non-empty allows plugins to function with less stored state on the node. +If a plugin does not support expansion of `readonly` volumes it can return `Volume in use or readonly` error and CO must not retry. + + ```protobuf message NodeExpandVolumeRequest { // The ID of the volume. This field is REQUIRED. @@ -2576,7 +2579,7 @@ message NodeExpandVolumeResponse { |-----------------------|-----------|-----------------------|-----------------------------------| | Exceeds capabilities | 3 INVALID_ARGUMENT | Indicates that CO has specified capabilities not supported by the volume. | Caller MAY verify volume capabilities by calling ValidateVolumeCapabilities and retry with matching capabilities. | | Volume does not exist | 5 NOT FOUND | Indicates that a volume corresponding to the specified volume_id does not exist. | Caller MUST verify that the volume_id is correct and that the volume is accessible and has not been deleted before retrying with exponential back off. | -| Volume in use | 9 FAILED_PRECONDITION | Indicates that the volume corresponding to the specified `volume_id` could not be expanded because it is node-published or node-staged and the underlying filesystem does not support expansion of published or staged volumes. | Caller MUST NOT retry. | +| Volume in use or readonly | 9 FAILED_PRECONDITION | Indicates that the volume corresponding to the specified `volume_id` could not be expanded because it is node-published or node-staged or readonly and the storage provider does not support expansion of published or staged or readonly volumes. | Caller MUST NOT retry. | | Unsupported capacity_range | 11 OUT_OF_RANGE | Indicates that the capacity range is not allowed by the Plugin. More human-readable information MAY be provided in the gRPC `status.message` field. | Caller MUST fix the capacity range before retrying. | ## Protocol