diff --git a/csi.proto b/csi.proto index 93a18b2f..d7019ad2 100644 --- a/csi.proto +++ b/csi.proto @@ -1095,7 +1095,14 @@ message NodeStageVolumeRequest { // that the path is directory and that the process serving the // request has `read` and `write` permission to that directory. The // CO SHALL be responsible for creating the directory if it does not - // exist. + // exist. The CO MUST pass the same staging_target_directory to + // NodeStageVolume and NodePublishVolume. + // The SP MAY use staging_target_directory in + // any way it chooses, including but not limited to: + // - as a mount point to stage the volume directly + // - as a parent directory for a newly created mount point + // - as a parent directory for an attached device + // - as a parent directory for metadata files // This is a REQUIRED field. string staging_target_path = 3; diff --git a/lib/go/csi/csi.pb.go b/lib/go/csi/csi.pb.go index ecd09770..b16c510c 100644 --- a/lib/go/csi/csi.pb.go +++ b/lib/go/csi/csi.pb.go @@ -3385,7 +3385,14 @@ type NodeStageVolumeRequest struct { // that the path is directory and that the process serving the // request has `read` and `write` permission to that directory. The // CO SHALL be responsible for creating the directory if it does not - // exist. + // exist. The CO MUST pass the same staging_target_directory to + // NodeStageVolume and NodePublishVolume. + // The SP MAY use staging_target_directory in + // any way it chooses, including but not limited to: + // - as a mount point to stage the volume directly + // - as a parent directory for a newly created mount point + // - as a parent directory for an attached device + // - as a parent directory for metadata files // This is a REQUIRED field. StagingTargetPath string `protobuf:"bytes,3,opt,name=staging_target_path,json=stagingTargetPath,proto3" json:"staging_target_path,omitempty"` // Volume capability describing how the CO intends to use this volume. diff --git a/spec.md b/spec.md index 4b47a313..8544592f 100644 --- a/spec.md +++ b/spec.md @@ -1931,7 +1931,14 @@ message NodeStageVolumeRequest { // that the path is directory and that the process serving the // request has `read` and `write` permission to that directory. The // CO SHALL be responsible for creating the directory if it does not - // exist. + // exist. The CO MUST pass the same staging_target_directory to + // NodeStageVolume and NodePublishVolume. + // The SP MAY use staging_target_directory in + // any way it chooses, including but not limited to: + // - as a mount point to stage the volume directly + // - as a parent directory for a newly created mount point + // - as a parent directory for an attached device + // - as a parent directory for metadata files // This is a REQUIRED field. string staging_target_path = 3;