@@ -800,8 +800,28 @@ message ListVolumesRequest {
800800}
801801
802802message ListVolumesResponse {
803+ message VolumeStatus {
804+ // A list of all `node_id` of nodes that the volume in this entry
805+ // is controller published on.
806+ // This field is OPTIONAL. If it is not specified and the SP has
807+ // the LIST_VOLUMES_PUBLISHED_NODES controller capability, the CO
808+ // MAY assume the volume is not controller published to any nodes.
809+ // If the field is not specified and the SP does not have the
810+ // LIST_VOLUMES_PUBLISHED_NODES controller capability, the CO MUST
811+ // not interpret this field.
812+ // published_node_ids MAY include nodes not published to or
813+ // reported by the SP. The CO MUST be resilient to that.
814+ repeated string published_node_ids = 1 ;
815+ }
816+
803817 message Entry {
818+ // This field is REQUIRED
804819 Volume volume = 1 ;
820+
821+ // This field is OPTIONAL. This field MUST be specified if the
822+ // LIST_VOLUMES_PUBLISHED_NODES controller capability is
823+ // supported.
824+ VolumeStatus status = 2 ;
805825 }
806826
807827 repeated Entry entries = 1 ;
@@ -884,6 +904,10 @@ message ControllerServiceCapability {
884904
885905 // See VolumeExpansion for details.
886906 EXPAND_VOLUME = 9 ;
907+
908+ // Indicates the SP supports the
909+ // ListVolumesResponse.entry.published_nodes field
910+ LIST_VOLUMES_PUBLISHED_NODES = 10 ;
887911 }
888912
889913 Type type = 1 ;
0 commit comments