diff --git a/csi.proto b/csi.proto
index 8758601f..cb7624a5 100644
--- a/csi.proto
+++ b/csi.proto
@@ -78,10 +78,14 @@ service Node {
   rpc NodeGetVolumeStats (NodeGetVolumeStatsRequest)
     returns (NodeGetVolumeStatsResponse) {}
 
-
   rpc NodeExpandVolume(NodeExpandVolumeRequest)
     returns (NodeExpandVolumeResponse) {}
 
+  rpc NodeFreezeVolumeFilesystem(NodeFreezeVolumeFilesystemRequest)
+    returns (NodeFreezeVolumeFilesystemResponse) {}
+
+  rpc NodeUnfreezeVolumeFilesystem(NodeUnfreezeVolumeFilesystemRequest)
+    returns (NodeUnfreezeVolumeFilesystemResponse) {}
 
   rpc NodeGetCapabilities (NodeGetCapabilitiesRequest)
     returns (NodeGetCapabilitiesResponse) {}
@@ -1233,6 +1237,9 @@ message NodeServiceCapability {
       GET_VOLUME_STATS = 2;
       // See VolumeExpansion for details.
       EXPAND_VOLUME = 3;
+      // See NodeFreezeVolumeFilesystem and
+      // NodeUnfreezeVolumeFilesystem for details.
+      FREEZE_UNFREEZE_VOLUME_FILESYSTEM = 4;
     }
 
     Type type = 1;
@@ -1303,3 +1310,31 @@ message NodeExpandVolumeResponse {
   // The capacity of the volume in bytes. This field is OPTIONAL.
   int64 capacity_bytes = 1;
 }
+message NodeFreezeVolumeFilesystemRequest {
+  // The ID of the volume. This field is REQUIRED.
+  string volume_id = 1;
+
+  // It can be any valid path where volume was previously
+  // staged or published.
+  // It MUST be an absolute path in the root filesystem of
+  // the process serving this request.
+  // This is a REQUIRED field.
+  string volume_path = 2;
+}
+
+message NodeFreezeVolumeFilesystemResponse {
+}
+message NodeUnfreezeVolumeFilesystemRequest {
+  // The ID of the volume. This field is REQUIRED.
+  string volume_id = 1;
+
+  // It can be any valid path where volume was previously
+  // staged or published.
+  // It MUST be an absolute path in the root filesystem of
+  // the process serving this request.
+  // This is a REQUIRED field.
+  string volume_path = 2;
+}
+
+message NodeUnfreezeVolumeFilesystemResponse {
+}
diff --git a/lib/go/csi/csi.pb.go b/lib/go/csi/csi.pb.go
index eb2e6203..67c3f991 100644
--- a/lib/go/csi/csi.pb.go
+++ b/lib/go/csi/csi.pb.go
@@ -63,7 +63,7 @@ func (x PluginCapability_Service_Type) String() string {
 	return proto.EnumName(PluginCapability_Service_Type_name, int32(x))
 }
 func (PluginCapability_Service_Type) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_csi_0bd9c8bbafae69e2, []int{4, 0, 0}
+	return fileDescriptor_csi_25a43fd4f5bff71f, []int{4, 0, 0}
 }
 
 type PluginCapability_VolumeExpansion_Type int32
@@ -124,7 +124,7 @@ func (x PluginCapability_VolumeExpansion_Type) String() string {
 	return proto.EnumName(PluginCapability_VolumeExpansion_Type_name, int32(x))
 }
 func (PluginCapability_VolumeExpansion_Type) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_csi_0bd9c8bbafae69e2, []int{4, 1, 0}
+	return fileDescriptor_csi_25a43fd4f5bff71f, []int{4, 1, 0}
 }
 
 type VolumeCapability_AccessMode_Mode int32
@@ -168,7 +168,7 @@ func (x VolumeCapability_AccessMode_Mode) String() string {
 	return proto.EnumName(VolumeCapability_AccessMode_Mode_name, int32(x))
 }
 func (VolumeCapability_AccessMode_Mode) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_csi_0bd9c8bbafae69e2, []int{10, 2, 0}
+	return fileDescriptor_csi_25a43fd4f5bff71f, []int{10, 2, 0}
 }
 
 type ControllerServiceCapability_RPC_Type int32
@@ -226,7 +226,7 @@ func (x ControllerServiceCapability_RPC_Type) String() string {
 	return proto.EnumName(ControllerServiceCapability_RPC_Type_name, int32(x))
 }
 func (ControllerServiceCapability_RPC_Type) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_csi_0bd9c8bbafae69e2, []int{29, 0, 0}
+	return fileDescriptor_csi_25a43fd4f5bff71f, []int{29, 0, 0}
 }
 
 type VolumeUsage_Unit int32
@@ -252,7 +252,7 @@ func (x VolumeUsage_Unit) String() string {
 	return proto.EnumName(VolumeUsage_Unit_name, int32(x))
 }
 func (VolumeUsage_Unit) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_csi_0bd9c8bbafae69e2, []int{49, 0}
+	return fileDescriptor_csi_25a43fd4f5bff71f, []int{49, 0}
 }
 
 type NodeServiceCapability_RPC_Type int32
@@ -266,6 +266,9 @@ const (
 	NodeServiceCapability_RPC_GET_VOLUME_STATS NodeServiceCapability_RPC_Type = 2
 	// See VolumeExpansion for details.
 	NodeServiceCapability_RPC_EXPAND_VOLUME NodeServiceCapability_RPC_Type = 3
+	// See NodeFreezeVolumeFilesystem and
+	// NodeUnfreezeVolumeFilesystem for details.
+	NodeServiceCapability_RPC_FREEZE_UNFREEZE_VOLUME_FILESYSTEM NodeServiceCapability_RPC_Type = 4
 )
 
 var NodeServiceCapability_RPC_Type_name = map[int32]string{
@@ -273,19 +276,21 @@ var NodeServiceCapability_RPC_Type_name = map[int32]string{
 	1: "STAGE_UNSTAGE_VOLUME",
 	2: "GET_VOLUME_STATS",
 	3: "EXPAND_VOLUME",
+	4: "FREEZE_UNFREEZE_VOLUME_FILESYSTEM",
 }
 var NodeServiceCapability_RPC_Type_value = map[string]int32{
-	"UNKNOWN":              0,
-	"STAGE_UNSTAGE_VOLUME": 1,
-	"GET_VOLUME_STATS":     2,
-	"EXPAND_VOLUME":        3,
+	"UNKNOWN":                           0,
+	"STAGE_UNSTAGE_VOLUME":              1,
+	"GET_VOLUME_STATS":                  2,
+	"EXPAND_VOLUME":                     3,
+	"FREEZE_UNFREEZE_VOLUME_FILESYSTEM": 4,
 }
 
 func (x NodeServiceCapability_RPC_Type) String() string {
 	return proto.EnumName(NodeServiceCapability_RPC_Type_name, int32(x))
 }
 func (NodeServiceCapability_RPC_Type) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_csi_0bd9c8bbafae69e2, []int{52, 0, 0}
+	return fileDescriptor_csi_25a43fd4f5bff71f, []int{52, 0, 0}
 }
 
 type GetPluginInfoRequest struct {
@@ -298,7 +303,7 @@ func (m *GetPluginInfoRequest) Reset()         { *m = GetPluginInfoRequest{} }
 func (m *GetPluginInfoRequest) String() string { return proto.CompactTextString(m) }
 func (*GetPluginInfoRequest) ProtoMessage()    {}
 func (*GetPluginInfoRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_csi_0bd9c8bbafae69e2, []int{0}
+	return fileDescriptor_csi_25a43fd4f5bff71f, []int{0}
 }
 func (m *GetPluginInfoRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_GetPluginInfoRequest.Unmarshal(m, b)
@@ -340,7 +345,7 @@ func (m *GetPluginInfoResponse) Reset()         { *m = GetPluginInfoResponse{} }
 func (m *GetPluginInfoResponse) String() string { return proto.CompactTextString(m) }
 func (*GetPluginInfoResponse) ProtoMessage()    {}
 func (*GetPluginInfoResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_csi_0bd9c8bbafae69e2, []int{1}
+	return fileDescriptor_csi_25a43fd4f5bff71f, []int{1}
 }
 func (m *GetPluginInfoResponse) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_GetPluginInfoResponse.Unmarshal(m, b)
@@ -391,7 +396,7 @@ func (m *GetPluginCapabilitiesRequest) Reset()         { *m = GetPluginCapabilit
 func (m *GetPluginCapabilitiesRequest) String() string { return proto.CompactTextString(m) }
 func (*GetPluginCapabilitiesRequest) ProtoMessage()    {}
 func (*GetPluginCapabilitiesRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_csi_0bd9c8bbafae69e2, []int{2}
+	return fileDescriptor_csi_25a43fd4f5bff71f, []int{2}
 }
 func (m *GetPluginCapabilitiesRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_GetPluginCapabilitiesRequest.Unmarshal(m, b)
@@ -424,7 +429,7 @@ func (m *GetPluginCapabilitiesResponse) Reset()         { *m = GetPluginCapabili
 func (m *GetPluginCapabilitiesResponse) String() string { return proto.CompactTextString(m) }
 func (*GetPluginCapabilitiesResponse) ProtoMessage()    {}
 func (*GetPluginCapabilitiesResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_csi_0bd9c8bbafae69e2, []int{3}
+	return fileDescriptor_csi_25a43fd4f5bff71f, []int{3}
 }
 func (m *GetPluginCapabilitiesResponse) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_GetPluginCapabilitiesResponse.Unmarshal(m, b)
@@ -466,7 +471,7 @@ func (m *PluginCapability) Reset()         { *m = PluginCapability{} }
 func (m *PluginCapability) String() string { return proto.CompactTextString(m) }
 func (*PluginCapability) ProtoMessage()    {}
 func (*PluginCapability) Descriptor() ([]byte, []int) {
-	return fileDescriptor_csi_0bd9c8bbafae69e2, []int{4}
+	return fileDescriptor_csi_25a43fd4f5bff71f, []int{4}
 }
 func (m *PluginCapability) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_PluginCapability.Unmarshal(m, b)
@@ -608,7 +613,7 @@ func (m *PluginCapability_Service) Reset()         { *m = PluginCapability_Servi
 func (m *PluginCapability_Service) String() string { return proto.CompactTextString(m) }
 func (*PluginCapability_Service) ProtoMessage()    {}
 func (*PluginCapability_Service) Descriptor() ([]byte, []int) {
-	return fileDescriptor_csi_0bd9c8bbafae69e2, []int{4, 0}
+	return fileDescriptor_csi_25a43fd4f5bff71f, []int{4, 0}
 }
 func (m *PluginCapability_Service) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_PluginCapability_Service.Unmarshal(m, b)
@@ -645,7 +650,7 @@ func (m *PluginCapability_VolumeExpansion) Reset()         { *m = PluginCapabili
 func (m *PluginCapability_VolumeExpansion) String() string { return proto.CompactTextString(m) }
 func (*PluginCapability_VolumeExpansion) ProtoMessage()    {}
 func (*PluginCapability_VolumeExpansion) Descriptor() ([]byte, []int) {
-	return fileDescriptor_csi_0bd9c8bbafae69e2, []int{4, 1}
+	return fileDescriptor_csi_25a43fd4f5bff71f, []int{4, 1}
 }
 func (m *PluginCapability_VolumeExpansion) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_PluginCapability_VolumeExpansion.Unmarshal(m, b)
@@ -675,7 +680,7 @@ func (m *ProbeRequest) Reset()         { *m = ProbeRequest{} }
 func (m *ProbeRequest) String() string { return proto.CompactTextString(m) }
 func (*ProbeRequest) ProtoMessage()    {}
 func (*ProbeRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_csi_0bd9c8bbafae69e2, []int{5}
+	return fileDescriptor_csi_25a43fd4f5bff71f, []int{5}
 }
 func (m *ProbeRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_ProbeRequest.Unmarshal(m, b)
@@ -726,7 +731,7 @@ func (m *ProbeResponse) Reset()         { *m = ProbeResponse{} }
 func (m *ProbeResponse) String() string { return proto.CompactTextString(m) }
 func (*ProbeResponse) ProtoMessage()    {}
 func (*ProbeResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_csi_0bd9c8bbafae69e2, []int{6}
+	return fileDescriptor_csi_25a43fd4f5bff71f, []int{6}
 }
 func (m *ProbeResponse) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_ProbeResponse.Unmarshal(m, b)
@@ -835,7 +840,7 @@ func (m *CreateVolumeRequest) Reset()         { *m = CreateVolumeRequest{} }
 func (m *CreateVolumeRequest) String() string { return proto.CompactTextString(m) }
 func (*CreateVolumeRequest) ProtoMessage()    {}
 func (*CreateVolumeRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_csi_0bd9c8bbafae69e2, []int{7}
+	return fileDescriptor_csi_25a43fd4f5bff71f, []int{7}
 }
 func (m *CreateVolumeRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_CreateVolumeRequest.Unmarshal(m, b)
@@ -920,7 +925,7 @@ func (m *VolumeContentSource) Reset()         { *m = VolumeContentSource{} }
 func (m *VolumeContentSource) String() string { return proto.CompactTextString(m) }
 func (*VolumeContentSource) ProtoMessage()    {}
 func (*VolumeContentSource) Descriptor() ([]byte, []int) {
-	return fileDescriptor_csi_0bd9c8bbafae69e2, []int{8}
+	return fileDescriptor_csi_25a43fd4f5bff71f, []int{8}
 }
 func (m *VolumeContentSource) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_VolumeContentSource.Unmarshal(m, b)
@@ -1066,7 +1071,7 @@ func (m *VolumeContentSource_SnapshotSource) Reset()         { *m = VolumeConten
 func (m *VolumeContentSource_SnapshotSource) String() string { return proto.CompactTextString(m) }
 func (*VolumeContentSource_SnapshotSource) ProtoMessage()    {}
 func (*VolumeContentSource_SnapshotSource) Descriptor() ([]byte, []int) {
-	return fileDescriptor_csi_0bd9c8bbafae69e2, []int{8, 0}
+	return fileDescriptor_csi_25a43fd4f5bff71f, []int{8, 0}
 }
 func (m *VolumeContentSource_SnapshotSource) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_VolumeContentSource_SnapshotSource.Unmarshal(m, b)
@@ -1107,7 +1112,7 @@ func (m *VolumeContentSource_VolumeSource) Reset()         { *m = VolumeContentS
 func (m *VolumeContentSource_VolumeSource) String() string { return proto.CompactTextString(m) }
 func (*VolumeContentSource_VolumeSource) ProtoMessage()    {}
 func (*VolumeContentSource_VolumeSource) Descriptor() ([]byte, []int) {
-	return fileDescriptor_csi_0bd9c8bbafae69e2, []int{8, 1}
+	return fileDescriptor_csi_25a43fd4f5bff71f, []int{8, 1}
 }
 func (m *VolumeContentSource_VolumeSource) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_VolumeContentSource_VolumeSource.Unmarshal(m, b)
@@ -1148,7 +1153,7 @@ func (m *CreateVolumeResponse) Reset()         { *m = CreateVolumeResponse{} }
 func (m *CreateVolumeResponse) String() string { return proto.CompactTextString(m) }
 func (*CreateVolumeResponse) ProtoMessage()    {}
 func (*CreateVolumeResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_csi_0bd9c8bbafae69e2, []int{9}
+	return fileDescriptor_csi_25a43fd4f5bff71f, []int{9}
 }
 func (m *CreateVolumeResponse) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_CreateVolumeResponse.Unmarshal(m, b)
@@ -1195,7 +1200,7 @@ func (m *VolumeCapability) Reset()         { *m = VolumeCapability{} }
 func (m *VolumeCapability) String() string { return proto.CompactTextString(m) }
 func (*VolumeCapability) ProtoMessage()    {}
 func (*VolumeCapability) Descriptor() ([]byte, []int) {
-	return fileDescriptor_csi_0bd9c8bbafae69e2, []int{10}
+	return fileDescriptor_csi_25a43fd4f5bff71f, []int{10}
 }
 func (m *VolumeCapability) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_VolumeCapability.Unmarshal(m, b)
@@ -1344,7 +1349,7 @@ func (m *VolumeCapability_BlockVolume) Reset()         { *m = VolumeCapability_B
 func (m *VolumeCapability_BlockVolume) String() string { return proto.CompactTextString(m) }
 func (*VolumeCapability_BlockVolume) ProtoMessage()    {}
 func (*VolumeCapability_BlockVolume) Descriptor() ([]byte, []int) {
-	return fileDescriptor_csi_0bd9c8bbafae69e2, []int{10, 0}
+	return fileDescriptor_csi_25a43fd4f5bff71f, []int{10, 0}
 }
 func (m *VolumeCapability_BlockVolume) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_VolumeCapability_BlockVolume.Unmarshal(m, b)
@@ -1384,7 +1389,7 @@ func (m *VolumeCapability_MountVolume) Reset()         { *m = VolumeCapability_M
 func (m *VolumeCapability_MountVolume) String() string { return proto.CompactTextString(m) }
 func (*VolumeCapability_MountVolume) ProtoMessage()    {}
 func (*VolumeCapability_MountVolume) Descriptor() ([]byte, []int) {
-	return fileDescriptor_csi_0bd9c8bbafae69e2, []int{10, 1}
+	return fileDescriptor_csi_25a43fd4f5bff71f, []int{10, 1}
 }
 func (m *VolumeCapability_MountVolume) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_VolumeCapability_MountVolume.Unmarshal(m, b)
@@ -1431,7 +1436,7 @@ func (m *VolumeCapability_AccessMode) Reset()         { *m = VolumeCapability_Ac
 func (m *VolumeCapability_AccessMode) String() string { return proto.CompactTextString(m) }
 func (*VolumeCapability_AccessMode) ProtoMessage()    {}
 func (*VolumeCapability_AccessMode) Descriptor() ([]byte, []int) {
-	return fileDescriptor_csi_0bd9c8bbafae69e2, []int{10, 2}
+	return fileDescriptor_csi_25a43fd4f5bff71f, []int{10, 2}
 }
 func (m *VolumeCapability_AccessMode) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_VolumeCapability_AccessMode.Unmarshal(m, b)
@@ -1479,7 +1484,7 @@ func (m *CapacityRange) Reset()         { *m = CapacityRange{} }
 func (m *CapacityRange) String() string { return proto.CompactTextString(m) }
 func (*CapacityRange) ProtoMessage()    {}
 func (*CapacityRange) Descriptor() ([]byte, []int) {
-	return fileDescriptor_csi_0bd9c8bbafae69e2, []int{11}
+	return fileDescriptor_csi_25a43fd4f5bff71f, []int{11}
 }
 func (m *CapacityRange) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_CapacityRange.Unmarshal(m, b)
@@ -1584,7 +1589,7 @@ func (m *Volume) Reset()         { *m = Volume{} }
 func (m *Volume) String() string { return proto.CompactTextString(m) }
 func (*Volume) ProtoMessage()    {}
 func (*Volume) Descriptor() ([]byte, []int) {
-	return fileDescriptor_csi_0bd9c8bbafae69e2, []int{12}
+	return fileDescriptor_csi_25a43fd4f5bff71f, []int{12}
 }
 func (m *Volume) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Volume.Unmarshal(m, b)
@@ -1776,7 +1781,7 @@ func (m *TopologyRequirement) Reset()         { *m = TopologyRequirement{} }
 func (m *TopologyRequirement) String() string { return proto.CompactTextString(m) }
 func (*TopologyRequirement) ProtoMessage()    {}
 func (*TopologyRequirement) Descriptor() ([]byte, []int) {
-	return fileDescriptor_csi_0bd9c8bbafae69e2, []int{13}
+	return fileDescriptor_csi_25a43fd4f5bff71f, []int{13}
 }
 func (m *TopologyRequirement) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_TopologyRequirement.Unmarshal(m, b)
@@ -1850,7 +1855,7 @@ func (m *Topology) Reset()         { *m = Topology{} }
 func (m *Topology) String() string { return proto.CompactTextString(m) }
 func (*Topology) ProtoMessage()    {}
 func (*Topology) Descriptor() ([]byte, []int) {
-	return fileDescriptor_csi_0bd9c8bbafae69e2, []int{14}
+	return fileDescriptor_csi_25a43fd4f5bff71f, []int{14}
 }
 func (m *Topology) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Topology.Unmarshal(m, b)
@@ -1894,7 +1899,7 @@ func (m *DeleteVolumeRequest) Reset()         { *m = DeleteVolumeRequest{} }
 func (m *DeleteVolumeRequest) String() string { return proto.CompactTextString(m) }
 func (*DeleteVolumeRequest) ProtoMessage()    {}
 func (*DeleteVolumeRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_csi_0bd9c8bbafae69e2, []int{15}
+	return fileDescriptor_csi_25a43fd4f5bff71f, []int{15}
 }
 func (m *DeleteVolumeRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_DeleteVolumeRequest.Unmarshal(m, b)
@@ -1938,7 +1943,7 @@ func (m *DeleteVolumeResponse) Reset()         { *m = DeleteVolumeResponse{} }
 func (m *DeleteVolumeResponse) String() string { return proto.CompactTextString(m) }
 func (*DeleteVolumeResponse) ProtoMessage()    {}
 func (*DeleteVolumeResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_csi_0bd9c8bbafae69e2, []int{16}
+	return fileDescriptor_csi_25a43fd4f5bff71f, []int{16}
 }
 func (m *DeleteVolumeResponse) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_DeleteVolumeResponse.Unmarshal(m, b)
@@ -1992,7 +1997,7 @@ func (m *ControllerPublishVolumeRequest) Reset()         { *m = ControllerPublis
 func (m *ControllerPublishVolumeRequest) String() string { return proto.CompactTextString(m) }
 func (*ControllerPublishVolumeRequest) ProtoMessage()    {}
 func (*ControllerPublishVolumeRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_csi_0bd9c8bbafae69e2, []int{17}
+	return fileDescriptor_csi_25a43fd4f5bff71f, []int{17}
 }
 func (m *ControllerPublishVolumeRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_ControllerPublishVolumeRequest.Unmarshal(m, b)
@@ -2078,7 +2083,7 @@ func (m *ControllerPublishVolumeResponse) Reset()         { *m = ControllerPubli
 func (m *ControllerPublishVolumeResponse) String() string { return proto.CompactTextString(m) }
 func (*ControllerPublishVolumeResponse) ProtoMessage()    {}
 func (*ControllerPublishVolumeResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_csi_0bd9c8bbafae69e2, []int{18}
+	return fileDescriptor_csi_25a43fd4f5bff71f, []int{18}
 }
 func (m *ControllerPublishVolumeResponse) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_ControllerPublishVolumeResponse.Unmarshal(m, b)
@@ -2129,7 +2134,7 @@ func (m *ControllerUnpublishVolumeRequest) Reset()         { *m = ControllerUnpu
 func (m *ControllerUnpublishVolumeRequest) String() string { return proto.CompactTextString(m) }
 func (*ControllerUnpublishVolumeRequest) ProtoMessage()    {}
 func (*ControllerUnpublishVolumeRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_csi_0bd9c8bbafae69e2, []int{19}
+	return fileDescriptor_csi_25a43fd4f5bff71f, []int{19}
 }
 func (m *ControllerUnpublishVolumeRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_ControllerUnpublishVolumeRequest.Unmarshal(m, b)
@@ -2180,7 +2185,7 @@ func (m *ControllerUnpublishVolumeResponse) Reset()         { *m = ControllerUnp
 func (m *ControllerUnpublishVolumeResponse) String() string { return proto.CompactTextString(m) }
 func (*ControllerUnpublishVolumeResponse) ProtoMessage()    {}
 func (*ControllerUnpublishVolumeResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_csi_0bd9c8bbafae69e2, []int{20}
+	return fileDescriptor_csi_25a43fd4f5bff71f, []int{20}
 }
 func (m *ControllerUnpublishVolumeResponse) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_ControllerUnpublishVolumeResponse.Unmarshal(m, b)
@@ -2227,7 +2232,7 @@ func (m *ValidateVolumeCapabilitiesRequest) Reset()         { *m = ValidateVolum
 func (m *ValidateVolumeCapabilitiesRequest) String() string { return proto.CompactTextString(m) }
 func (*ValidateVolumeCapabilitiesRequest) ProtoMessage()    {}
 func (*ValidateVolumeCapabilitiesRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_csi_0bd9c8bbafae69e2, []int{21}
+	return fileDescriptor_csi_25a43fd4f5bff71f, []int{21}
 }
 func (m *ValidateVolumeCapabilitiesRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_ValidateVolumeCapabilitiesRequest.Unmarshal(m, b)
@@ -2305,7 +2310,7 @@ func (m *ValidateVolumeCapabilitiesResponse) Reset()         { *m = ValidateVolu
 func (m *ValidateVolumeCapabilitiesResponse) String() string { return proto.CompactTextString(m) }
 func (*ValidateVolumeCapabilitiesResponse) ProtoMessage()    {}
 func (*ValidateVolumeCapabilitiesResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_csi_0bd9c8bbafae69e2, []int{22}
+	return fileDescriptor_csi_25a43fd4f5bff71f, []int{22}
 }
 func (m *ValidateVolumeCapabilitiesResponse) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_ValidateVolumeCapabilitiesResponse.Unmarshal(m, b)
@@ -2362,7 +2367,7 @@ func (m *ValidateVolumeCapabilitiesResponse_Confirmed) String() string {
 }
 func (*ValidateVolumeCapabilitiesResponse_Confirmed) ProtoMessage() {}
 func (*ValidateVolumeCapabilitiesResponse_Confirmed) Descriptor() ([]byte, []int) {
-	return fileDescriptor_csi_0bd9c8bbafae69e2, []int{22, 0}
+	return fileDescriptor_csi_25a43fd4f5bff71f, []int{22, 0}
 }
 func (m *ValidateVolumeCapabilitiesResponse_Confirmed) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_ValidateVolumeCapabilitiesResponse_Confirmed.Unmarshal(m, b)
@@ -2427,7 +2432,7 @@ func (m *ListVolumesRequest) Reset()         { *m = ListVolumesRequest{} }
 func (m *ListVolumesRequest) String() string { return proto.CompactTextString(m) }
 func (*ListVolumesRequest) ProtoMessage()    {}
 func (*ListVolumesRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_csi_0bd9c8bbafae69e2, []int{23}
+	return fileDescriptor_csi_25a43fd4f5bff71f, []int{23}
 }
 func (m *ListVolumesRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_ListVolumesRequest.Unmarshal(m, b)
@@ -2479,7 +2484,7 @@ func (m *ListVolumesResponse) Reset()         { *m = ListVolumesResponse{} }
 func (m *ListVolumesResponse) String() string { return proto.CompactTextString(m) }
 func (*ListVolumesResponse) ProtoMessage()    {}
 func (*ListVolumesResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_csi_0bd9c8bbafae69e2, []int{24}
+	return fileDescriptor_csi_25a43fd4f5bff71f, []int{24}
 }
 func (m *ListVolumesResponse) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_ListVolumesResponse.Unmarshal(m, b)
@@ -2524,7 +2529,7 @@ func (m *ListVolumesResponse_Entry) Reset()         { *m = ListVolumesResponse_E
 func (m *ListVolumesResponse_Entry) String() string { return proto.CompactTextString(m) }
 func (*ListVolumesResponse_Entry) ProtoMessage()    {}
 func (*ListVolumesResponse_Entry) Descriptor() ([]byte, []int) {
-	return fileDescriptor_csi_0bd9c8bbafae69e2, []int{24, 0}
+	return fileDescriptor_csi_25a43fd4f5bff71f, []int{24, 0}
 }
 func (m *ListVolumesResponse_Entry) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_ListVolumesResponse_Entry.Unmarshal(m, b)
@@ -2579,7 +2584,7 @@ func (m *GetCapacityRequest) Reset()         { *m = GetCapacityRequest{} }
 func (m *GetCapacityRequest) String() string { return proto.CompactTextString(m) }
 func (*GetCapacityRequest) ProtoMessage()    {}
 func (*GetCapacityRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_csi_0bd9c8bbafae69e2, []int{25}
+	return fileDescriptor_csi_25a43fd4f5bff71f, []int{25}
 }
 func (m *GetCapacityRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_GetCapacityRequest.Unmarshal(m, b)
@@ -2637,7 +2642,7 @@ func (m *GetCapacityResponse) Reset()         { *m = GetCapacityResponse{} }
 func (m *GetCapacityResponse) String() string { return proto.CompactTextString(m) }
 func (*GetCapacityResponse) ProtoMessage()    {}
 func (*GetCapacityResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_csi_0bd9c8bbafae69e2, []int{26}
+	return fileDescriptor_csi_25a43fd4f5bff71f, []int{26}
 }
 func (m *GetCapacityResponse) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_GetCapacityResponse.Unmarshal(m, b)
@@ -2674,7 +2679,7 @@ func (m *ControllerGetCapabilitiesRequest) Reset()         { *m = ControllerGetC
 func (m *ControllerGetCapabilitiesRequest) String() string { return proto.CompactTextString(m) }
 func (*ControllerGetCapabilitiesRequest) ProtoMessage()    {}
 func (*ControllerGetCapabilitiesRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_csi_0bd9c8bbafae69e2, []int{27}
+	return fileDescriptor_csi_25a43fd4f5bff71f, []int{27}
 }
 func (m *ControllerGetCapabilitiesRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_ControllerGetCapabilitiesRequest.Unmarshal(m, b)
@@ -2707,7 +2712,7 @@ func (m *ControllerGetCapabilitiesResponse) Reset()         { *m = ControllerGet
 func (m *ControllerGetCapabilitiesResponse) String() string { return proto.CompactTextString(m) }
 func (*ControllerGetCapabilitiesResponse) ProtoMessage()    {}
 func (*ControllerGetCapabilitiesResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_csi_0bd9c8bbafae69e2, []int{28}
+	return fileDescriptor_csi_25a43fd4f5bff71f, []int{28}
 }
 func (m *ControllerGetCapabilitiesResponse) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_ControllerGetCapabilitiesResponse.Unmarshal(m, b)
@@ -2748,7 +2753,7 @@ func (m *ControllerServiceCapability) Reset()         { *m = ControllerServiceCa
 func (m *ControllerServiceCapability) String() string { return proto.CompactTextString(m) }
 func (*ControllerServiceCapability) ProtoMessage()    {}
 func (*ControllerServiceCapability) Descriptor() ([]byte, []int) {
-	return fileDescriptor_csi_0bd9c8bbafae69e2, []int{29}
+	return fileDescriptor_csi_25a43fd4f5bff71f, []int{29}
 }
 func (m *ControllerServiceCapability) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_ControllerServiceCapability.Unmarshal(m, b)
@@ -2858,7 +2863,7 @@ func (m *ControllerServiceCapability_RPC) Reset()         { *m = ControllerServi
 func (m *ControllerServiceCapability_RPC) String() string { return proto.CompactTextString(m) }
 func (*ControllerServiceCapability_RPC) ProtoMessage()    {}
 func (*ControllerServiceCapability_RPC) Descriptor() ([]byte, []int) {
-	return fileDescriptor_csi_0bd9c8bbafae69e2, []int{29, 0}
+	return fileDescriptor_csi_25a43fd4f5bff71f, []int{29, 0}
 }
 func (m *ControllerServiceCapability_RPC) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_ControllerServiceCapability_RPC.Unmarshal(m, b)
@@ -2920,7 +2925,7 @@ func (m *CreateSnapshotRequest) Reset()         { *m = CreateSnapshotRequest{} }
 func (m *CreateSnapshotRequest) String() string { return proto.CompactTextString(m) }
 func (*CreateSnapshotRequest) ProtoMessage()    {}
 func (*CreateSnapshotRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_csi_0bd9c8bbafae69e2, []int{30}
+	return fileDescriptor_csi_25a43fd4f5bff71f, []int{30}
 }
 func (m *CreateSnapshotRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_CreateSnapshotRequest.Unmarshal(m, b)
@@ -2982,7 +2987,7 @@ func (m *CreateSnapshotResponse) Reset()         { *m = CreateSnapshotResponse{}
 func (m *CreateSnapshotResponse) String() string { return proto.CompactTextString(m) }
 func (*CreateSnapshotResponse) ProtoMessage()    {}
 func (*CreateSnapshotResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_csi_0bd9c8bbafae69e2, []int{31}
+	return fileDescriptor_csi_25a43fd4f5bff71f, []int{31}
 }
 func (m *CreateSnapshotResponse) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_CreateSnapshotResponse.Unmarshal(m, b)
@@ -3049,7 +3054,7 @@ func (m *Snapshot) Reset()         { *m = Snapshot{} }
 func (m *Snapshot) String() string { return proto.CompactTextString(m) }
 func (*Snapshot) ProtoMessage()    {}
 func (*Snapshot) Descriptor() ([]byte, []int) {
-	return fileDescriptor_csi_0bd9c8bbafae69e2, []int{32}
+	return fileDescriptor_csi_25a43fd4f5bff71f, []int{32}
 }
 func (m *Snapshot) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Snapshot.Unmarshal(m, b)
@@ -3121,7 +3126,7 @@ func (m *DeleteSnapshotRequest) Reset()         { *m = DeleteSnapshotRequest{} }
 func (m *DeleteSnapshotRequest) String() string { return proto.CompactTextString(m) }
 func (*DeleteSnapshotRequest) ProtoMessage()    {}
 func (*DeleteSnapshotRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_csi_0bd9c8bbafae69e2, []int{33}
+	return fileDescriptor_csi_25a43fd4f5bff71f, []int{33}
 }
 func (m *DeleteSnapshotRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_DeleteSnapshotRequest.Unmarshal(m, b)
@@ -3165,7 +3170,7 @@ func (m *DeleteSnapshotResponse) Reset()         { *m = DeleteSnapshotResponse{}
 func (m *DeleteSnapshotResponse) String() string { return proto.CompactTextString(m) }
 func (*DeleteSnapshotResponse) ProtoMessage()    {}
 func (*DeleteSnapshotResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_csi_0bd9c8bbafae69e2, []int{34}
+	return fileDescriptor_csi_25a43fd4f5bff71f, []int{34}
 }
 func (m *DeleteSnapshotResponse) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_DeleteSnapshotResponse.Unmarshal(m, b)
@@ -3220,7 +3225,7 @@ func (m *ListSnapshotsRequest) Reset()         { *m = ListSnapshotsRequest{} }
 func (m *ListSnapshotsRequest) String() string { return proto.CompactTextString(m) }
 func (*ListSnapshotsRequest) ProtoMessage()    {}
 func (*ListSnapshotsRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_csi_0bd9c8bbafae69e2, []int{35}
+	return fileDescriptor_csi_25a43fd4f5bff71f, []int{35}
 }
 func (m *ListSnapshotsRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_ListSnapshotsRequest.Unmarshal(m, b)
@@ -3286,7 +3291,7 @@ func (m *ListSnapshotsResponse) Reset()         { *m = ListSnapshotsResponse{} }
 func (m *ListSnapshotsResponse) String() string { return proto.CompactTextString(m) }
 func (*ListSnapshotsResponse) ProtoMessage()    {}
 func (*ListSnapshotsResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_csi_0bd9c8bbafae69e2, []int{36}
+	return fileDescriptor_csi_25a43fd4f5bff71f, []int{36}
 }
 func (m *ListSnapshotsResponse) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_ListSnapshotsResponse.Unmarshal(m, b)
@@ -3331,7 +3336,7 @@ func (m *ListSnapshotsResponse_Entry) Reset()         { *m = ListSnapshotsRespon
 func (m *ListSnapshotsResponse_Entry) String() string { return proto.CompactTextString(m) }
 func (*ListSnapshotsResponse_Entry) ProtoMessage()    {}
 func (*ListSnapshotsResponse_Entry) Descriptor() ([]byte, []int) {
-	return fileDescriptor_csi_0bd9c8bbafae69e2, []int{36, 0}
+	return fileDescriptor_csi_25a43fd4f5bff71f, []int{36, 0}
 }
 func (m *ListSnapshotsResponse_Entry) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_ListSnapshotsResponse_Entry.Unmarshal(m, b)
@@ -3376,7 +3381,7 @@ func (m *ControllerExpandVolumeRequest) Reset()         { *m = ControllerExpandV
 func (m *ControllerExpandVolumeRequest) String() string { return proto.CompactTextString(m) }
 func (*ControllerExpandVolumeRequest) ProtoMessage()    {}
 func (*ControllerExpandVolumeRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_csi_0bd9c8bbafae69e2, []int{37}
+	return fileDescriptor_csi_25a43fd4f5bff71f, []int{37}
 }
 func (m *ControllerExpandVolumeRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_ControllerExpandVolumeRequest.Unmarshal(m, b)
@@ -3433,7 +3438,7 @@ func (m *ControllerExpandVolumeResponse) Reset()         { *m = ControllerExpand
 func (m *ControllerExpandVolumeResponse) String() string { return proto.CompactTextString(m) }
 func (*ControllerExpandVolumeResponse) ProtoMessage()    {}
 func (*ControllerExpandVolumeResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_csi_0bd9c8bbafae69e2, []int{38}
+	return fileDescriptor_csi_25a43fd4f5bff71f, []int{38}
 }
 func (m *ControllerExpandVolumeResponse) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_ControllerExpandVolumeResponse.Unmarshal(m, b)
@@ -3508,7 +3513,7 @@ func (m *NodeStageVolumeRequest) Reset()         { *m = NodeStageVolumeRequest{}
 func (m *NodeStageVolumeRequest) String() string { return proto.CompactTextString(m) }
 func (*NodeStageVolumeRequest) ProtoMessage()    {}
 func (*NodeStageVolumeRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_csi_0bd9c8bbafae69e2, []int{39}
+	return fileDescriptor_csi_25a43fd4f5bff71f, []int{39}
 }
 func (m *NodeStageVolumeRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_NodeStageVolumeRequest.Unmarshal(m, b)
@@ -3580,7 +3585,7 @@ func (m *NodeStageVolumeResponse) Reset()         { *m = NodeStageVolumeResponse
 func (m *NodeStageVolumeResponse) String() string { return proto.CompactTextString(m) }
 func (*NodeStageVolumeResponse) ProtoMessage()    {}
 func (*NodeStageVolumeResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_csi_0bd9c8bbafae69e2, []int{40}
+	return fileDescriptor_csi_25a43fd4f5bff71f, []int{40}
 }
 func (m *NodeStageVolumeResponse) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_NodeStageVolumeResponse.Unmarshal(m, b)
@@ -3616,7 +3621,7 @@ func (m *NodeUnstageVolumeRequest) Reset()         { *m = NodeUnstageVolumeReque
 func (m *NodeUnstageVolumeRequest) String() string { return proto.CompactTextString(m) }
 func (*NodeUnstageVolumeRequest) ProtoMessage()    {}
 func (*NodeUnstageVolumeRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_csi_0bd9c8bbafae69e2, []int{41}
+	return fileDescriptor_csi_25a43fd4f5bff71f, []int{41}
 }
 func (m *NodeUnstageVolumeRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_NodeUnstageVolumeRequest.Unmarshal(m, b)
@@ -3660,7 +3665,7 @@ func (m *NodeUnstageVolumeResponse) Reset()         { *m = NodeUnstageVolumeResp
 func (m *NodeUnstageVolumeResponse) String() string { return proto.CompactTextString(m) }
 func (*NodeUnstageVolumeResponse) ProtoMessage()    {}
 func (*NodeUnstageVolumeResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_csi_0bd9c8bbafae69e2, []int{42}
+	return fileDescriptor_csi_25a43fd4f5bff71f, []int{42}
 }
 func (m *NodeUnstageVolumeResponse) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_NodeUnstageVolumeResponse.Unmarshal(m, b)
@@ -3734,7 +3739,7 @@ func (m *NodePublishVolumeRequest) Reset()         { *m = NodePublishVolumeReque
 func (m *NodePublishVolumeRequest) String() string { return proto.CompactTextString(m) }
 func (*NodePublishVolumeRequest) ProtoMessage()    {}
 func (*NodePublishVolumeRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_csi_0bd9c8bbafae69e2, []int{43}
+	return fileDescriptor_csi_25a43fd4f5bff71f, []int{43}
 }
 func (m *NodePublishVolumeRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_NodePublishVolumeRequest.Unmarshal(m, b)
@@ -3820,7 +3825,7 @@ func (m *NodePublishVolumeResponse) Reset()         { *m = NodePublishVolumeResp
 func (m *NodePublishVolumeResponse) String() string { return proto.CompactTextString(m) }
 func (*NodePublishVolumeResponse) ProtoMessage()    {}
 func (*NodePublishVolumeResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_csi_0bd9c8bbafae69e2, []int{44}
+	return fileDescriptor_csi_25a43fd4f5bff71f, []int{44}
 }
 func (m *NodePublishVolumeResponse) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_NodePublishVolumeResponse.Unmarshal(m, b)
@@ -3857,7 +3862,7 @@ func (m *NodeUnpublishVolumeRequest) Reset()         { *m = NodeUnpublishVolumeR
 func (m *NodeUnpublishVolumeRequest) String() string { return proto.CompactTextString(m) }
 func (*NodeUnpublishVolumeRequest) ProtoMessage()    {}
 func (*NodeUnpublishVolumeRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_csi_0bd9c8bbafae69e2, []int{45}
+	return fileDescriptor_csi_25a43fd4f5bff71f, []int{45}
 }
 func (m *NodeUnpublishVolumeRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_NodeUnpublishVolumeRequest.Unmarshal(m, b)
@@ -3901,7 +3906,7 @@ func (m *NodeUnpublishVolumeResponse) Reset()         { *m = NodeUnpublishVolume
 func (m *NodeUnpublishVolumeResponse) String() string { return proto.CompactTextString(m) }
 func (*NodeUnpublishVolumeResponse) ProtoMessage()    {}
 func (*NodeUnpublishVolumeResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_csi_0bd9c8bbafae69e2, []int{46}
+	return fileDescriptor_csi_25a43fd4f5bff71f, []int{46}
 }
 func (m *NodeUnpublishVolumeResponse) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_NodeUnpublishVolumeResponse.Unmarshal(m, b)
@@ -3939,7 +3944,7 @@ func (m *NodeGetVolumeStatsRequest) Reset()         { *m = NodeGetVolumeStatsReq
 func (m *NodeGetVolumeStatsRequest) String() string { return proto.CompactTextString(m) }
 func (*NodeGetVolumeStatsRequest) ProtoMessage()    {}
 func (*NodeGetVolumeStatsRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_csi_0bd9c8bbafae69e2, []int{47}
+	return fileDescriptor_csi_25a43fd4f5bff71f, []int{47}
 }
 func (m *NodeGetVolumeStatsRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_NodeGetVolumeStatsRequest.Unmarshal(m, b)
@@ -3985,7 +3990,7 @@ func (m *NodeGetVolumeStatsResponse) Reset()         { *m = NodeGetVolumeStatsRe
 func (m *NodeGetVolumeStatsResponse) String() string { return proto.CompactTextString(m) }
 func (*NodeGetVolumeStatsResponse) ProtoMessage()    {}
 func (*NodeGetVolumeStatsResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_csi_0bd9c8bbafae69e2, []int{48}
+	return fileDescriptor_csi_25a43fd4f5bff71f, []int{48}
 }
 func (m *NodeGetVolumeStatsResponse) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_NodeGetVolumeStatsResponse.Unmarshal(m, b)
@@ -4033,7 +4038,7 @@ func (m *VolumeUsage) Reset()         { *m = VolumeUsage{} }
 func (m *VolumeUsage) String() string { return proto.CompactTextString(m) }
 func (*VolumeUsage) ProtoMessage()    {}
 func (*VolumeUsage) Descriptor() ([]byte, []int) {
-	return fileDescriptor_csi_0bd9c8bbafae69e2, []int{49}
+	return fileDescriptor_csi_25a43fd4f5bff71f, []int{49}
 }
 func (m *VolumeUsage) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_VolumeUsage.Unmarshal(m, b)
@@ -4091,7 +4096,7 @@ func (m *NodeGetCapabilitiesRequest) Reset()         { *m = NodeGetCapabilitiesR
 func (m *NodeGetCapabilitiesRequest) String() string { return proto.CompactTextString(m) }
 func (*NodeGetCapabilitiesRequest) ProtoMessage()    {}
 func (*NodeGetCapabilitiesRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_csi_0bd9c8bbafae69e2, []int{50}
+	return fileDescriptor_csi_25a43fd4f5bff71f, []int{50}
 }
 func (m *NodeGetCapabilitiesRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_NodeGetCapabilitiesRequest.Unmarshal(m, b)
@@ -4124,7 +4129,7 @@ func (m *NodeGetCapabilitiesResponse) Reset()         { *m = NodeGetCapabilities
 func (m *NodeGetCapabilitiesResponse) String() string { return proto.CompactTextString(m) }
 func (*NodeGetCapabilitiesResponse) ProtoMessage()    {}
 func (*NodeGetCapabilitiesResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_csi_0bd9c8bbafae69e2, []int{51}
+	return fileDescriptor_csi_25a43fd4f5bff71f, []int{51}
 }
 func (m *NodeGetCapabilitiesResponse) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_NodeGetCapabilitiesResponse.Unmarshal(m, b)
@@ -4165,7 +4170,7 @@ func (m *NodeServiceCapability) Reset()         { *m = NodeServiceCapability{} }
 func (m *NodeServiceCapability) String() string { return proto.CompactTextString(m) }
 func (*NodeServiceCapability) ProtoMessage()    {}
 func (*NodeServiceCapability) Descriptor() ([]byte, []int) {
-	return fileDescriptor_csi_0bd9c8bbafae69e2, []int{52}
+	return fileDescriptor_csi_25a43fd4f5bff71f, []int{52}
 }
 func (m *NodeServiceCapability) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_NodeServiceCapability.Unmarshal(m, b)
@@ -4275,7 +4280,7 @@ func (m *NodeServiceCapability_RPC) Reset()         { *m = NodeServiceCapability
 func (m *NodeServiceCapability_RPC) String() string { return proto.CompactTextString(m) }
 func (*NodeServiceCapability_RPC) ProtoMessage()    {}
 func (*NodeServiceCapability_RPC) Descriptor() ([]byte, []int) {
-	return fileDescriptor_csi_0bd9c8bbafae69e2, []int{52, 0}
+	return fileDescriptor_csi_25a43fd4f5bff71f, []int{52, 0}
 }
 func (m *NodeServiceCapability_RPC) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_NodeServiceCapability_RPC.Unmarshal(m, b)
@@ -4312,7 +4317,7 @@ func (m *NodeGetInfoRequest) Reset()         { *m = NodeGetInfoRequest{} }
 func (m *NodeGetInfoRequest) String() string { return proto.CompactTextString(m) }
 func (*NodeGetInfoRequest) ProtoMessage()    {}
 func (*NodeGetInfoRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_csi_0bd9c8bbafae69e2, []int{53}
+	return fileDescriptor_csi_25a43fd4f5bff71f, []int{53}
 }
 func (m *NodeGetInfoRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_NodeGetInfoRequest.Unmarshal(m, b)
@@ -4375,7 +4380,7 @@ func (m *NodeGetInfoResponse) Reset()         { *m = NodeGetInfoResponse{} }
 func (m *NodeGetInfoResponse) String() string { return proto.CompactTextString(m) }
 func (*NodeGetInfoResponse) ProtoMessage()    {}
 func (*NodeGetInfoResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_csi_0bd9c8bbafae69e2, []int{54}
+	return fileDescriptor_csi_25a43fd4f5bff71f, []int{54}
 }
 func (m *NodeGetInfoResponse) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_NodeGetInfoResponse.Unmarshal(m, b)
@@ -4437,7 +4442,7 @@ func (m *NodeExpandVolumeRequest) Reset()         { *m = NodeExpandVolumeRequest
 func (m *NodeExpandVolumeRequest) String() string { return proto.CompactTextString(m) }
 func (*NodeExpandVolumeRequest) ProtoMessage()    {}
 func (*NodeExpandVolumeRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_csi_0bd9c8bbafae69e2, []int{55}
+	return fileDescriptor_csi_25a43fd4f5bff71f, []int{55}
 }
 func (m *NodeExpandVolumeRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_NodeExpandVolumeRequest.Unmarshal(m, b)
@@ -4490,7 +4495,7 @@ func (m *NodeExpandVolumeResponse) Reset()         { *m = NodeExpandVolumeRespon
 func (m *NodeExpandVolumeResponse) String() string { return proto.CompactTextString(m) }
 func (*NodeExpandVolumeResponse) ProtoMessage()    {}
 func (*NodeExpandVolumeResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_csi_0bd9c8bbafae69e2, []int{56}
+	return fileDescriptor_csi_25a43fd4f5bff71f, []int{56}
 }
 func (m *NodeExpandVolumeResponse) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_NodeExpandVolumeResponse.Unmarshal(m, b)
@@ -4517,6 +4522,170 @@ func (m *NodeExpandVolumeResponse) GetCapacityBytes() int64 {
 	return 0
 }
 
+type NodeFreezeVolumeFilesystemRequest struct {
+	// The ID of the volume. This field is REQUIRED.
+	VolumeId string `protobuf:"bytes,1,opt,name=volume_id,json=volumeId,proto3" json:"volume_id,omitempty"`
+	// It can be any valid path where volume was previously
+	// staged or published.
+	// It MUST be an absolute path in the root filesystem of
+	// the process serving this request.
+	// This is a REQUIRED field.
+	VolumePath           string   `protobuf:"bytes,2,opt,name=volume_path,json=volumePath,proto3" json:"volume_path,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *NodeFreezeVolumeFilesystemRequest) Reset()         { *m = NodeFreezeVolumeFilesystemRequest{} }
+func (m *NodeFreezeVolumeFilesystemRequest) String() string { return proto.CompactTextString(m) }
+func (*NodeFreezeVolumeFilesystemRequest) ProtoMessage()    {}
+func (*NodeFreezeVolumeFilesystemRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_csi_25a43fd4f5bff71f, []int{57}
+}
+func (m *NodeFreezeVolumeFilesystemRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_NodeFreezeVolumeFilesystemRequest.Unmarshal(m, b)
+}
+func (m *NodeFreezeVolumeFilesystemRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_NodeFreezeVolumeFilesystemRequest.Marshal(b, m, deterministic)
+}
+func (dst *NodeFreezeVolumeFilesystemRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_NodeFreezeVolumeFilesystemRequest.Merge(dst, src)
+}
+func (m *NodeFreezeVolumeFilesystemRequest) XXX_Size() int {
+	return xxx_messageInfo_NodeFreezeVolumeFilesystemRequest.Size(m)
+}
+func (m *NodeFreezeVolumeFilesystemRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_NodeFreezeVolumeFilesystemRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_NodeFreezeVolumeFilesystemRequest proto.InternalMessageInfo
+
+func (m *NodeFreezeVolumeFilesystemRequest) GetVolumeId() string {
+	if m != nil {
+		return m.VolumeId
+	}
+	return ""
+}
+
+func (m *NodeFreezeVolumeFilesystemRequest) GetVolumePath() string {
+	if m != nil {
+		return m.VolumePath
+	}
+	return ""
+}
+
+type NodeFreezeVolumeFilesystemResponse struct {
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *NodeFreezeVolumeFilesystemResponse) Reset()         { *m = NodeFreezeVolumeFilesystemResponse{} }
+func (m *NodeFreezeVolumeFilesystemResponse) String() string { return proto.CompactTextString(m) }
+func (*NodeFreezeVolumeFilesystemResponse) ProtoMessage()    {}
+func (*NodeFreezeVolumeFilesystemResponse) Descriptor() ([]byte, []int) {
+	return fileDescriptor_csi_25a43fd4f5bff71f, []int{58}
+}
+func (m *NodeFreezeVolumeFilesystemResponse) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_NodeFreezeVolumeFilesystemResponse.Unmarshal(m, b)
+}
+func (m *NodeFreezeVolumeFilesystemResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_NodeFreezeVolumeFilesystemResponse.Marshal(b, m, deterministic)
+}
+func (dst *NodeFreezeVolumeFilesystemResponse) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_NodeFreezeVolumeFilesystemResponse.Merge(dst, src)
+}
+func (m *NodeFreezeVolumeFilesystemResponse) XXX_Size() int {
+	return xxx_messageInfo_NodeFreezeVolumeFilesystemResponse.Size(m)
+}
+func (m *NodeFreezeVolumeFilesystemResponse) XXX_DiscardUnknown() {
+	xxx_messageInfo_NodeFreezeVolumeFilesystemResponse.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_NodeFreezeVolumeFilesystemResponse proto.InternalMessageInfo
+
+type NodeUnfreezeVolumeFilesystemRequest struct {
+	// The ID of the volume. This field is REQUIRED.
+	VolumeId string `protobuf:"bytes,1,opt,name=volume_id,json=volumeId,proto3" json:"volume_id,omitempty"`
+	// It can be any valid path where volume was previously
+	// staged or published.
+	// It MUST be an absolute path in the root filesystem of
+	// the process serving this request.
+	// This is a REQUIRED field.
+	VolumePath           string   `protobuf:"bytes,2,opt,name=volume_path,json=volumePath,proto3" json:"volume_path,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *NodeUnfreezeVolumeFilesystemRequest) Reset()         { *m = NodeUnfreezeVolumeFilesystemRequest{} }
+func (m *NodeUnfreezeVolumeFilesystemRequest) String() string { return proto.CompactTextString(m) }
+func (*NodeUnfreezeVolumeFilesystemRequest) ProtoMessage()    {}
+func (*NodeUnfreezeVolumeFilesystemRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_csi_25a43fd4f5bff71f, []int{59}
+}
+func (m *NodeUnfreezeVolumeFilesystemRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_NodeUnfreezeVolumeFilesystemRequest.Unmarshal(m, b)
+}
+func (m *NodeUnfreezeVolumeFilesystemRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_NodeUnfreezeVolumeFilesystemRequest.Marshal(b, m, deterministic)
+}
+func (dst *NodeUnfreezeVolumeFilesystemRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_NodeUnfreezeVolumeFilesystemRequest.Merge(dst, src)
+}
+func (m *NodeUnfreezeVolumeFilesystemRequest) XXX_Size() int {
+	return xxx_messageInfo_NodeUnfreezeVolumeFilesystemRequest.Size(m)
+}
+func (m *NodeUnfreezeVolumeFilesystemRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_NodeUnfreezeVolumeFilesystemRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_NodeUnfreezeVolumeFilesystemRequest proto.InternalMessageInfo
+
+func (m *NodeUnfreezeVolumeFilesystemRequest) GetVolumeId() string {
+	if m != nil {
+		return m.VolumeId
+	}
+	return ""
+}
+
+func (m *NodeUnfreezeVolumeFilesystemRequest) GetVolumePath() string {
+	if m != nil {
+		return m.VolumePath
+	}
+	return ""
+}
+
+type NodeUnfreezeVolumeFilesystemResponse struct {
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *NodeUnfreezeVolumeFilesystemResponse) Reset()         { *m = NodeUnfreezeVolumeFilesystemResponse{} }
+func (m *NodeUnfreezeVolumeFilesystemResponse) String() string { return proto.CompactTextString(m) }
+func (*NodeUnfreezeVolumeFilesystemResponse) ProtoMessage()    {}
+func (*NodeUnfreezeVolumeFilesystemResponse) Descriptor() ([]byte, []int) {
+	return fileDescriptor_csi_25a43fd4f5bff71f, []int{60}
+}
+func (m *NodeUnfreezeVolumeFilesystemResponse) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_NodeUnfreezeVolumeFilesystemResponse.Unmarshal(m, b)
+}
+func (m *NodeUnfreezeVolumeFilesystemResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_NodeUnfreezeVolumeFilesystemResponse.Marshal(b, m, deterministic)
+}
+func (dst *NodeUnfreezeVolumeFilesystemResponse) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_NodeUnfreezeVolumeFilesystemResponse.Merge(dst, src)
+}
+func (m *NodeUnfreezeVolumeFilesystemResponse) XXX_Size() int {
+	return xxx_messageInfo_NodeUnfreezeVolumeFilesystemResponse.Size(m)
+}
+func (m *NodeUnfreezeVolumeFilesystemResponse) XXX_DiscardUnknown() {
+	xxx_messageInfo_NodeUnfreezeVolumeFilesystemResponse.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_NodeUnfreezeVolumeFilesystemResponse proto.InternalMessageInfo
+
 var E_CsiSecret = &proto.ExtensionDesc{
 	ExtendedType:  (*descriptor.FieldOptions)(nil),
 	ExtensionType: (*bool)(nil),
@@ -4622,6 +4791,10 @@ func init() {
 	proto.RegisterType((*NodeGetInfoResponse)(nil), "csi.v1.NodeGetInfoResponse")
 	proto.RegisterType((*NodeExpandVolumeRequest)(nil), "csi.v1.NodeExpandVolumeRequest")
 	proto.RegisterType((*NodeExpandVolumeResponse)(nil), "csi.v1.NodeExpandVolumeResponse")
+	proto.RegisterType((*NodeFreezeVolumeFilesystemRequest)(nil), "csi.v1.NodeFreezeVolumeFilesystemRequest")
+	proto.RegisterType((*NodeFreezeVolumeFilesystemResponse)(nil), "csi.v1.NodeFreezeVolumeFilesystemResponse")
+	proto.RegisterType((*NodeUnfreezeVolumeFilesystemRequest)(nil), "csi.v1.NodeUnfreezeVolumeFilesystemRequest")
+	proto.RegisterType((*NodeUnfreezeVolumeFilesystemResponse)(nil), "csi.v1.NodeUnfreezeVolumeFilesystemResponse")
 	proto.RegisterEnum("csi.v1.PluginCapability_Service_Type", PluginCapability_Service_Type_name, PluginCapability_Service_Type_value)
 	proto.RegisterEnum("csi.v1.PluginCapability_VolumeExpansion_Type", PluginCapability_VolumeExpansion_Type_name, PluginCapability_VolumeExpansion_Type_value)
 	proto.RegisterEnum("csi.v1.VolumeCapability_AccessMode_Mode", VolumeCapability_AccessMode_Mode_name, VolumeCapability_AccessMode_Mode_value)
@@ -5206,6 +5379,8 @@ type NodeClient interface {
 	NodeUnpublishVolume(ctx context.Context, in *NodeUnpublishVolumeRequest, opts ...grpc.CallOption) (*NodeUnpublishVolumeResponse, error)
 	NodeGetVolumeStats(ctx context.Context, in *NodeGetVolumeStatsRequest, opts ...grpc.CallOption) (*NodeGetVolumeStatsResponse, error)
 	NodeExpandVolume(ctx context.Context, in *NodeExpandVolumeRequest, opts ...grpc.CallOption) (*NodeExpandVolumeResponse, error)
+	NodeFreezeVolumeFilesystem(ctx context.Context, in *NodeFreezeVolumeFilesystemRequest, opts ...grpc.CallOption) (*NodeFreezeVolumeFilesystemResponse, error)
+	NodeUnfreezeVolumeFilesystem(ctx context.Context, in *NodeUnfreezeVolumeFilesystemRequest, opts ...grpc.CallOption) (*NodeUnfreezeVolumeFilesystemResponse, error)
 	NodeGetCapabilities(ctx context.Context, in *NodeGetCapabilitiesRequest, opts ...grpc.CallOption) (*NodeGetCapabilitiesResponse, error)
 	NodeGetInfo(ctx context.Context, in *NodeGetInfoRequest, opts ...grpc.CallOption) (*NodeGetInfoResponse, error)
 }
@@ -5272,6 +5447,24 @@ func (c *nodeClient) NodeExpandVolume(ctx context.Context, in *NodeExpandVolumeR
 	return out, nil
 }
 
+func (c *nodeClient) NodeFreezeVolumeFilesystem(ctx context.Context, in *NodeFreezeVolumeFilesystemRequest, opts ...grpc.CallOption) (*NodeFreezeVolumeFilesystemResponse, error) {
+	out := new(NodeFreezeVolumeFilesystemResponse)
+	err := c.cc.Invoke(ctx, "/csi.v1.Node/NodeFreezeVolumeFilesystem", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *nodeClient) NodeUnfreezeVolumeFilesystem(ctx context.Context, in *NodeUnfreezeVolumeFilesystemRequest, opts ...grpc.CallOption) (*NodeUnfreezeVolumeFilesystemResponse, error) {
+	out := new(NodeUnfreezeVolumeFilesystemResponse)
+	err := c.cc.Invoke(ctx, "/csi.v1.Node/NodeUnfreezeVolumeFilesystem", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
 func (c *nodeClient) NodeGetCapabilities(ctx context.Context, in *NodeGetCapabilitiesRequest, opts ...grpc.CallOption) (*NodeGetCapabilitiesResponse, error) {
 	out := new(NodeGetCapabilitiesResponse)
 	err := c.cc.Invoke(ctx, "/csi.v1.Node/NodeGetCapabilities", in, out, opts...)
@@ -5298,6 +5491,8 @@ type NodeServer interface {
 	NodeUnpublishVolume(context.Context, *NodeUnpublishVolumeRequest) (*NodeUnpublishVolumeResponse, error)
 	NodeGetVolumeStats(context.Context, *NodeGetVolumeStatsRequest) (*NodeGetVolumeStatsResponse, error)
 	NodeExpandVolume(context.Context, *NodeExpandVolumeRequest) (*NodeExpandVolumeResponse, error)
+	NodeFreezeVolumeFilesystem(context.Context, *NodeFreezeVolumeFilesystemRequest) (*NodeFreezeVolumeFilesystemResponse, error)
+	NodeUnfreezeVolumeFilesystem(context.Context, *NodeUnfreezeVolumeFilesystemRequest) (*NodeUnfreezeVolumeFilesystemResponse, error)
 	NodeGetCapabilities(context.Context, *NodeGetCapabilitiesRequest) (*NodeGetCapabilitiesResponse, error)
 	NodeGetInfo(context.Context, *NodeGetInfoRequest) (*NodeGetInfoResponse, error)
 }
@@ -5414,6 +5609,42 @@ func _Node_NodeExpandVolume_Handler(srv interface{}, ctx context.Context, dec fu
 	return interceptor(ctx, in, info, handler)
 }
 
+func _Node_NodeFreezeVolumeFilesystem_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(NodeFreezeVolumeFilesystemRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(NodeServer).NodeFreezeVolumeFilesystem(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/csi.v1.Node/NodeFreezeVolumeFilesystem",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(NodeServer).NodeFreezeVolumeFilesystem(ctx, req.(*NodeFreezeVolumeFilesystemRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _Node_NodeUnfreezeVolumeFilesystem_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(NodeUnfreezeVolumeFilesystemRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(NodeServer).NodeUnfreezeVolumeFilesystem(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/csi.v1.Node/NodeUnfreezeVolumeFilesystem",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(NodeServer).NodeUnfreezeVolumeFilesystem(ctx, req.(*NodeUnfreezeVolumeFilesystemRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
 func _Node_NodeGetCapabilities_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 	in := new(NodeGetCapabilitiesRequest)
 	if err := dec(in); err != nil {
@@ -5478,6 +5709,14 @@ var _Node_serviceDesc = grpc.ServiceDesc{
 			MethodName: "NodeExpandVolume",
 			Handler:    _Node_NodeExpandVolume_Handler,
 		},
+		{
+			MethodName: "NodeFreezeVolumeFilesystem",
+			Handler:    _Node_NodeFreezeVolumeFilesystem_Handler,
+		},
+		{
+			MethodName: "NodeUnfreezeVolumeFilesystem",
+			Handler:    _Node_NodeUnfreezeVolumeFilesystem_Handler,
+		},
 		{
 			MethodName: "NodeGetCapabilities",
 			Handler:    _Node_NodeGetCapabilities_Handler,
@@ -5492,214 +5731,220 @@ var _Node_serviceDesc = grpc.ServiceDesc{
 }
 
 func init() {
-	proto.RegisterFile("github.com/container-storage-interface/spec/csi.proto", fileDescriptor_csi_0bd9c8bbafae69e2)
-}
-
-var fileDescriptor_csi_0bd9c8bbafae69e2 = []byte{
-	// 3266 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x5a, 0xcd, 0x73, 0xdb, 0xc6,
-	0x15, 0x27, 0xf8, 0x21, 0x51, 0x4f, 0x1f, 0xa6, 0x57, 0x1f, 0xa6, 0x21, 0xc9, 0x96, 0xe1, 0xd8,
-	0x51, 0x1c, 0x9b, 0x6a, 0x94, 0x38, 0xd3, 0xd8, 0x4e, 0x13, 0x8a, 0xa2, 0x25, 0xc6, 0x34, 0xa9,
-	0x80, 0x94, 0x1c, 0xbb, 0xcd, 0x20, 0x10, 0xb9, 0xa2, 0x31, 0x21, 0x01, 0x06, 0x00, 0x55, 0xa9,
-	0x97, 0x1e, 0x7a, 0x4a, 0x7b, 0xee, 0xb4, 0x3d, 0x75, 0x26, 0xed, 0xa5, 0x9d, 0x66, 0x7a, 0xea,
-	0xf4, 0xd8, 0x99, 0x1e, 0xfb, 0x0f, 0xb4, 0x93, 0x4b, 0xae, 0x9d, 0x4c, 0x3b, 0x93, 0xe9, 0xb1,
-	0xa7, 0x0e, 0xb0, 0x0b, 0x10, 0x0b, 0x02, 0x20, 0x69, 0xd9, 0xe3, 0x43, 0x4f, 0x12, 0xdf, 0xbe,
-	0x7d, 0xfb, 0xf6, 0xed, 0x7b, 0x6f, 0xdf, 0xfb, 0x2d, 0xe0, 0x76, 0x4b, 0x31, 0x9f, 0xf6, 0x0e,
-	0x73, 0x0d, 0xad, 0xb3, 0xd1, 0xd0, 0x54, 0x53, 0x56, 0x54, 0xac, 0xdf, 0x32, 0x4c, 0x4d, 0x97,
-	0x5b, 0xf8, 0x96, 0xa2, 0x9a, 0x58, 0x3f, 0x92, 0x1b, 0x78, 0xc3, 0xe8, 0xe2, 0xc6, 0x46, 0xc3,
-	0x50, 0x72, 0x5d, 0x5d, 0x33, 0x35, 0x34, 0x61, 0xfd, 0x7b, 0xfc, 0x06, 0xbf, 0xd6, 0xd2, 0xb4,
-	0x56, 0x1b, 0x6f, 0xd8, 0xd4, 0xc3, 0xde, 0xd1, 0x46, 0x13, 0x1b, 0x0d, 0x5d, 0xe9, 0x9a, 0x9a,
-	0x4e, 0x38, 0xf9, 0xcb, 0x7e, 0x0e, 0x53, 0xe9, 0x60, 0xc3, 0x94, 0x3b, 0x5d, 0xca, 0x70, 0xc9,
-	0xcf, 0xf0, 0x43, 0x5d, 0xee, 0x76, 0xb1, 0x6e, 0x90, 0x71, 0x61, 0x09, 0x16, 0x76, 0xb0, 0xb9,
-	0xd7, 0xee, 0xb5, 0x14, 0xb5, 0xa4, 0x1e, 0x69, 0x22, 0xfe, 0xac, 0x87, 0x0d, 0x53, 0xf8, 0x07,
-	0x07, 0x8b, 0xbe, 0x01, 0xa3, 0xab, 0xa9, 0x06, 0x46, 0x08, 0x92, 0xaa, 0xdc, 0xc1, 0x59, 0x6e,
-	0x8d, 0x5b, 0x9f, 0x12, 0xed, 0xff, 0xd1, 0x35, 0x98, 0x3b, 0xc6, 0x6a, 0x53, 0xd3, 0xa5, 0x63,
-	0xac, 0x1b, 0x8a, 0xa6, 0x66, 0xe3, 0xf6, 0xe8, 0x2c, 0xa1, 0x1e, 0x10, 0x22, 0xda, 0x81, 0x74,
-	0x47, 0x56, 0x95, 0x23, 0x6c, 0x98, 0xd9, 0xc4, 0x5a, 0x62, 0x7d, 0x7a, 0xf3, 0xf5, 0x1c, 0xd9,
-	0x6a, 0x2e, 0x70, 0xad, 0xdc, 0x43, 0xca, 0x5d, 0x54, 0x4d, 0xfd, 0x54, 0x74, 0x27, 0xf3, 0x77,
-	0x61, 0x96, 0x19, 0x42, 0x19, 0x48, 0x7c, 0x8a, 0x4f, 0xa9, 0x4e, 0xd6, 0xbf, 0x68, 0x01, 0x52,
-	0xc7, 0x72, 0xbb, 0x87, 0xa9, 0x26, 0xe4, 0xc7, 0x9d, 0xf8, 0x77, 0x39, 0xe1, 0x12, 0xac, 0xb8,
-	0xab, 0x15, 0xe4, 0xae, 0x7c, 0xa8, 0xb4, 0x15, 0x53, 0xc1, 0x86, 0xb3, 0xf5, 0x8f, 0x61, 0x35,
-	0x64, 0x9c, 0x5a, 0xe0, 0x1e, 0xcc, 0x34, 0x3c, 0xf4, 0x2c, 0x67, 0x6f, 0x25, 0xeb, 0x6c, 0xc5,
-	0x37, 0xf3, 0x54, 0x64, 0xb8, 0x85, 0x9f, 0x26, 0x20, 0xe3, 0x67, 0x41, 0xf7, 0x60, 0xd2, 0xc0,
-	0xfa, 0xb1, 0xd2, 0x20, 0x76, 0x9d, 0xde, 0x5c, 0x0b, 0x93, 0x96, 0xab, 0x11, 0xbe, 0xdd, 0x98,
-	0xe8, 0x4c, 0x41, 0xfb, 0x90, 0x39, 0xd6, 0xda, 0xbd, 0x0e, 0x96, 0xf0, 0x49, 0x57, 0x56, 0xdd,
-	0x03, 0x98, 0xde, 0x5c, 0x0f, 0x15, 0x73, 0x60, 0x4f, 0x28, 0x3a, 0xfc, 0xbb, 0x31, 0xf1, 0xdc,
-	0x31, 0x4b, 0xe2, 0x7f, 0xc1, 0xc1, 0x24, 0x5d, 0x0d, 0xbd, 0x03, 0x49, 0xf3, 0xb4, 0x4b, 0xb4,
-	0x9b, 0xdb, 0xbc, 0x36, 0x4c, 0xbb, 0x5c, 0xfd, 0xb4, 0x8b, 0x45, 0x7b, 0x8a, 0xf0, 0x21, 0x24,
-	0xad, 0x5f, 0x68, 0x1a, 0x26, 0xf7, 0x2b, 0x0f, 0x2a, 0xd5, 0x47, 0x95, 0x4c, 0x0c, 0x2d, 0x01,
-	0x2a, 0x54, 0x2b, 0x75, 0xb1, 0x5a, 0x2e, 0x17, 0x45, 0xa9, 0x56, 0x14, 0x0f, 0x4a, 0x85, 0x62,
-	0x86, 0x43, 0xaf, 0xc0, 0xda, 0x41, 0xb5, 0xbc, 0xff, 0xb0, 0x28, 0xe5, 0x0b, 0x85, 0x62, 0xad,
-	0x56, 0xda, 0x2a, 0x95, 0x4b, 0xf5, 0xc7, 0x52, 0xa1, 0x5a, 0xa9, 0xd5, 0xc5, 0x7c, 0xa9, 0x52,
-	0xaf, 0x65, 0xe2, 0xfc, 0x7b, 0x70, 0xce, 0xa7, 0xbf, 0x70, 0x33, 0x68, 0x15, 0x80, 0x89, 0x6a,
-	0xa5, 0x5c, 0xaa, 0x58, 0x92, 0xa7, 0x61, 0xb2, 0x7a, 0xff, 0xbe, 0xfd, 0x23, 0xbe, 0x35, 0x41,
-	0xb6, 0x23, 0xcc, 0xc1, 0xcc, 0x9e, 0xae, 0x1d, 0x62, 0xe7, 0xec, 0xf3, 0x30, 0x4b, 0x7f, 0xd3,
-	0xb3, 0xfe, 0x0e, 0xa4, 0x74, 0x2c, 0x37, 0x4f, 0xe9, 0xb1, 0xf0, 0x39, 0x12, 0x4f, 0x39, 0x27,
-	0x9e, 0x72, 0x5b, 0x9a, 0xd6, 0x3e, 0xb0, 0x7c, 0x4b, 0x24, 0x8c, 0xc2, 0xb7, 0x49, 0x98, 0x2f,
-	0xe8, 0x58, 0x36, 0x31, 0x51, 0x91, 0x8a, 0x0e, 0x8c, 0x9b, 0x7b, 0x30, 0x67, 0xf9, 0x46, 0x43,
-	0x31, 0x4f, 0x25, 0x5d, 0x56, 0x5b, 0x98, 0x1e, 0xdb, 0xa2, 0x63, 0xdf, 0x02, 0x1d, 0x15, 0xad,
-	0x41, 0x71, 0xb6, 0xe1, 0xfd, 0x89, 0x4a, 0x30, 0x4f, 0x8f, 0x9d, 0x71, 0xc7, 0x04, 0xeb, 0x8e,
-	0x44, 0x0b, 0x8f, 0x3b, 0xa2, 0x63, 0x96, 0xa2, 0x60, 0x03, 0x3d, 0x00, 0xe8, 0xca, 0xba, 0xdc,
-	0xc1, 0x26, 0xd6, 0x8d, 0x6c, 0x92, 0x8d, 0xcd, 0x80, 0xdd, 0xe4, 0xf6, 0x5c, 0x6e, 0x12, 0x9b,
-	0x9e, 0xe9, 0x68, 0xc7, 0x72, 0xe6, 0x86, 0x8e, 0x4d, 0x23, 0x9b, 0xb2, 0x25, 0xad, 0x47, 0x49,
-	0xaa, 0x11, 0x56, 0x5b, 0xcc, 0x56, 0xe2, 0x97, 0x5b, 0x9c, 0xe8, 0xcc, 0x46, 0x55, 0x58, 0x74,
-	0x36, 0xa8, 0xa9, 0x26, 0x56, 0x4d, 0xc9, 0xd0, 0x7a, 0x7a, 0x03, 0x67, 0x27, 0x6c, 0x2b, 0x2d,
-	0xfb, 0xb6, 0x48, 0x78, 0x6a, 0x36, 0x8b, 0x48, 0x4d, 0xc3, 0x10, 0xd1, 0x13, 0xe0, 0xe5, 0x46,
-	0x03, 0x1b, 0x86, 0x42, 0x6c, 0x21, 0xe9, 0xf8, 0xb3, 0x9e, 0xa2, 0xe3, 0x0e, 0x56, 0x4d, 0x23,
-	0x3b, 0xc9, 0x4a, 0xad, 0x6b, 0x5d, 0xad, 0xad, 0xb5, 0x4e, 0xc5, 0x3e, 0x8f, 0x78, 0x91, 0x99,
-	0xee, 0x19, 0x31, 0xf8, 0x77, 0xe1, 0x9c, 0xcf, 0x28, 0xe3, 0x64, 0x25, 0xfe, 0x0e, 0xcc, 0x78,
-	0x2d, 0x31, 0x56, 0x46, 0xfb, 0x59, 0x1c, 0xe6, 0x03, 0x6c, 0x80, 0x76, 0x21, 0x6d, 0xa8, 0x72,
-	0xd7, 0x78, 0xaa, 0x99, 0xd4, 0x7f, 0x6f, 0x44, 0x98, 0x2c, 0x57, 0xa3, 0xbc, 0xe4, 0xe7, 0x6e,
-	0x4c, 0x74, 0x67, 0xa3, 0x2d, 0x98, 0x20, 0xf6, 0xf4, 0xe7, 0x95, 0x20, 0x39, 0x84, 0xe6, 0x4a,
-	0xa1, 0x33, 0xf9, 0x37, 0x60, 0x8e, 0x5d, 0x01, 0x5d, 0x86, 0x69, 0x67, 0x05, 0x49, 0x69, 0xd2,
-	0xbd, 0x82, 0x43, 0x2a, 0x35, 0xf9, 0xd7, 0x61, 0xc6, 0x2b, 0x0c, 0x2d, 0xc3, 0x14, 0x75, 0x08,
-	0x97, 0x3d, 0x4d, 0x08, 0xa5, 0xa6, 0x1b, 0xd3, 0xdf, 0x83, 0x05, 0xd6, 0xcf, 0x68, 0x28, 0x5f,
-	0x77, 0xf7, 0x40, 0x6c, 0x31, 0xc7, 0xee, 0xc1, 0xd1, 0x53, 0xf8, 0x7d, 0x12, 0x32, 0xfe, 0xa0,
-	0x41, 0xf7, 0x20, 0x75, 0xd8, 0xd6, 0x1a, 0x9f, 0xd2, 0xb9, 0xaf, 0x84, 0x45, 0x57, 0x6e, 0xcb,
-	0xe2, 0x22, 0xd4, 0xdd, 0x98, 0x48, 0x26, 0x59, 0xb3, 0x3b, 0x5a, 0x4f, 0x35, 0xa9, 0xf5, 0xc2,
-	0x67, 0x3f, 0xb4, 0xb8, 0xfa, 0xb3, 0xed, 0x49, 0x68, 0x1b, 0xa6, 0x89, 0xdb, 0x49, 0x1d, 0xad,
-	0x89, 0xb3, 0x09, 0x5b, 0xc6, 0xd5, 0x50, 0x19, 0x79, 0x9b, 0xf7, 0xa1, 0xd6, 0xc4, 0x22, 0xc8,
-	0xee, 0xff, 0xfc, 0x2c, 0x4c, 0x7b, 0x74, 0xe3, 0x77, 0x60, 0xda, 0xb3, 0x18, 0xba, 0x00, 0x93,
-	0x47, 0x86, 0xe4, 0xa6, 0xf8, 0x29, 0x71, 0xe2, 0xc8, 0xb0, 0xf3, 0xe9, 0x65, 0x98, 0xb6, 0xb5,
-	0x90, 0x8e, 0xda, 0x72, 0xcb, 0xc8, 0xc6, 0xd7, 0x12, 0xd6, 0x19, 0xd9, 0xa4, 0xfb, 0x16, 0x85,
-	0xff, 0x17, 0x07, 0xd0, 0x5f, 0x12, 0xdd, 0x83, 0xa4, 0xad, 0x25, 0xb9, 0x28, 0xd6, 0x47, 0xd0,
-	0x32, 0x67, 0xab, 0x6a, 0xcf, 0x12, 0x7e, 0xcd, 0x41, 0xd2, 0x16, 0xe3, 0xbf, 0x2c, 0x6a, 0xa5,
-	0xca, 0x4e, 0xb9, 0x28, 0x55, 0xaa, 0xdb, 0x45, 0xe9, 0x91, 0x58, 0xaa, 0x17, 0xc5, 0x0c, 0x87,
-	0x96, 0xe1, 0x82, 0x97, 0x2e, 0x16, 0xf3, 0xdb, 0x45, 0x51, 0xaa, 0x56, 0xca, 0x8f, 0x33, 0x71,
-	0xc4, 0xc3, 0xd2, 0xc3, 0xfd, 0x72, 0xbd, 0x34, 0x38, 0x96, 0x40, 0x2b, 0x90, 0xf5, 0x8c, 0x51,
-	0x19, 0x54, 0x6c, 0xd2, 0x12, 0xeb, 0x19, 0x25, 0xff, 0xd2, 0xc1, 0xd4, 0xd6, 0xac, 0x7b, 0x18,
-	0xb6, 0xb3, 0x3d, 0x82, 0x59, 0x26, 0x47, 0x5b, 0xa5, 0x10, 0x4d, 0x2a, 0x4d, 0xe9, 0xf0, 0xd4,
-	0xb4, 0xcb, 0x03, 0x6e, 0x3d, 0x21, 0xce, 0x3a, 0xd4, 0x2d, 0x8b, 0x68, 0x99, 0xb5, 0xad, 0x74,
-	0x14, 0x93, 0xf2, 0xc4, 0x6d, 0x1e, 0xb0, 0x49, 0x36, 0x83, 0xf0, 0x75, 0x1c, 0x26, 0xe8, 0xd9,
-	0x5c, 0xf3, 0xdc, 0x12, 0x8c, 0x48, 0x87, 0x4a, 0x44, 0x32, 0xc1, 0x11, 0x67, 0x83, 0x03, 0xed,
-	0xc2, 0x9c, 0x37, 0x95, 0x9e, 0x38, 0x05, 0xd8, 0x15, 0xf6, 0x80, 0xbc, 0xf1, 0x7c, 0x42, 0xcb,
-	0xae, 0xd9, 0x63, 0x2f, 0x0d, 0x6d, 0xc1, 0x9c, 0x2f, 0x1b, 0x27, 0x87, 0x67, 0xe3, 0xd9, 0x06,
-	0x93, 0x98, 0xf2, 0x30, 0xef, 0x24, 0xd2, 0x36, 0x96, 0x4c, 0x9a, 0x68, 0xe9, 0x6d, 0x91, 0x19,
-	0x48, 0xc0, 0xa8, 0xcf, 0xec, 0xd0, 0xf8, 0xf7, 0x01, 0x0d, 0xea, 0x3a, 0x56, 0xd6, 0xec, 0xc1,
-	0x7c, 0x40, 0x8a, 0x47, 0x39, 0x98, 0xb2, 0x8f, 0xca, 0x50, 0x4c, 0x4c, 0x4b, 0xbb, 0x41, 0x8d,
-	0xfa, 0x2c, 0x16, 0x7f, 0x57, 0xc7, 0x47, 0x58, 0xd7, 0x71, 0xd3, 0x0e, 0x8f, 0x40, 0x7e, 0x97,
-	0x45, 0xf8, 0x09, 0x07, 0x69, 0x87, 0x8e, 0xee, 0x40, 0xda, 0xc0, 0x2d, 0x72, 0xfd, 0x90, 0xb5,
-	0x2e, 0xf9, 0xe7, 0xe6, 0x6a, 0x94, 0x81, 0x16, 0xc1, 0x0e, 0xbf, 0x55, 0x04, 0x33, 0x43, 0x63,
-	0x6d, 0xfe, 0xcf, 0x1c, 0xcc, 0x6f, 0xe3, 0x36, 0xf6, 0x57, 0x29, 0x51, 0x19, 0xd6, 0x7b, 0xb1,
-	0xc7, 0xd9, 0x8b, 0x3d, 0x40, 0x54, 0xc4, 0xc5, 0x7e, 0xa6, 0xcb, 0x6e, 0x09, 0x16, 0xd8, 0xd5,
-	0x48, 0x7a, 0x17, 0xfe, 0x9d, 0x80, 0x4b, 0x96, 0x2f, 0xe8, 0x5a, 0xbb, 0x8d, 0xf5, 0xbd, 0xde,
-	0x61, 0x5b, 0x31, 0x9e, 0x8e, 0xb1, 0xb9, 0x0b, 0x30, 0xa9, 0x6a, 0x4d, 0x4f, 0xf0, 0x4c, 0x58,
-	0x3f, 0x4b, 0x4d, 0x54, 0x84, 0xf3, 0xfe, 0x32, 0xeb, 0x94, 0x26, 0xe1, 0xf0, 0x22, 0x2b, 0x73,
-	0xec, 0xbf, 0x41, 0x78, 0x48, 0x5b, 0x05, 0xa2, 0xa6, 0xb6, 0x4f, 0xed, 0x88, 0x49, 0x8b, 0xee,
-	0x6f, 0x24, 0xfa, 0x2b, 0xa6, 0x37, 0xdd, 0x8a, 0x29, 0x72, 0x47, 0x51, 0xc5, 0xd3, 0x27, 0x03,
-	0x11, 0x3f, 0x61, 0x8b, 0x7e, 0x67, 0x44, 0xd1, 0x43, 0x33, 0xc1, 0x59, 0x4e, 0xf1, 0x39, 0x84,
-	0xef, 0xdf, 0x38, 0xb8, 0x1c, 0xba, 0x05, 0x7a, 0xe5, 0x37, 0xe1, 0x5c, 0x97, 0x0c, 0xb8, 0x46,
-	0x20, 0x51, 0x76, 0x77, 0xa8, 0x11, 0x68, 0x07, 0x4a, 0xa9, 0x8c, 0x19, 0xe6, 0xba, 0x0c, 0x91,
-	0xcf, 0xc3, 0x7c, 0x00, 0xdb, 0x58, 0x9b, 0xf9, 0x86, 0x83, 0xb5, 0xbe, 0x2a, 0xfb, 0x6a, 0xf7,
-	0xf9, 0xb9, 0x6f, 0xbd, 0xef, 0x5b, 0x24, 0xe5, 0xdf, 0x1e, 0xdc, 0x7b, 0xf0, 0x82, 0x2f, 0x2a,
-	0x82, 0xaf, 0xc2, 0x95, 0x88, 0xa5, 0x69, 0x38, 0x7f, 0x9d, 0x84, 0x2b, 0x07, 0x72, 0x5b, 0x69,
-	0xba, 0x85, 0x5c, 0x40, 0xaf, 0x1e, 0x6d, 0x92, 0xc6, 0x40, 0x04, 0x90, 0xac, 0x75, 0xcf, 0x8d,
-	0xda, 0x61, 0xf2, 0x47, 0xb8, 0x0e, 0x9f, 0x63, 0x13, 0xf6, 0x38, 0xa0, 0x09, 0x7b, 0x67, 0x74,
-	0x5d, 0xa3, 0x5a, 0xb2, 0x7d, 0x7f, 0x82, 0x79, 0x7b, 0x74, 0xb9, 0x11, 0x5e, 0x70, 0xe6, 0x28,
-	0x7e, 0x99, 0x5d, 0xd3, 0x5f, 0x93, 0x20, 0x44, 0xed, 0x9e, 0xe6, 0x10, 0x11, 0xa6, 0x1a, 0x9a,
-	0x7a, 0xa4, 0xe8, 0x1d, 0xdc, 0xa4, 0xd5, 0xff, 0x5b, 0xa3, 0x18, 0x8f, 0x26, 0x90, 0x82, 0x33,
-	0x57, 0xec, 0x8b, 0x41, 0x59, 0x98, 0xec, 0x60, 0xc3, 0x90, 0x5b, 0x8e, 0x5a, 0xce, 0x4f, 0xfe,
-	0xcb, 0x04, 0x4c, 0xb9, 0x53, 0x90, 0x3a, 0xe0, 0xc1, 0x24, 0x7d, 0xed, 0x3c, 0x8b, 0x02, 0xcf,
-	0xee, 0xcc, 0xf1, 0x67, 0x70, 0xe6, 0x26, 0xe3, 0xcc, 0x24, 0x1c, 0xb6, 0x9f, 0x49, 0xed, 0x08,
-	0xbf, 0x7e, 0xe9, 0x0e, 0x28, 0xfc, 0x00, 0x50, 0x59, 0x31, 0x68, 0x17, 0xe5, 0xa6, 0x25, 0xab,
-	0x69, 0x92, 0x4f, 0x24, 0xac, 0x9a, 0xba, 0x42, 0xcb, 0xf5, 0x94, 0x08, 0x1d, 0xf9, 0xa4, 0x48,
-	0x28, 0x56, 0x49, 0x6f, 0x98, 0xb2, 0x6e, 0x2a, 0x6a, 0x4b, 0x32, 0xb5, 0x4f, 0xb1, 0x0b, 0x98,
-	0x3a, 0xd4, 0xba, 0x45, 0x14, 0xbe, 0xe0, 0x60, 0x9e, 0x11, 0x4f, 0x7d, 0xf2, 0x2e, 0x4c, 0xf6,
-	0x65, 0x33, 0x65, 0x7c, 0x00, 0x77, 0x8e, 0x98, 0xcd, 0x99, 0x81, 0x56, 0x01, 0x54, 0x7c, 0x62,
-	0x32, 0xeb, 0x4e, 0x59, 0x14, 0x7b, 0x4d, 0x7e, 0x03, 0x52, 0xc4, 0x0c, 0xa3, 0xf6, 0xcb, 0x5f,
-	0xc6, 0x01, 0xed, 0x60, 0xd3, 0x6d, 0x83, 0xa8, 0x0d, 0x42, 0x7c, 0x89, 0x7b, 0x06, 0x5f, 0xfa,
-	0x80, 0xf1, 0x25, 0xe2, 0x8d, 0x37, 0x3c, 0xc8, 0xb1, 0x6f, 0xe9, 0xc8, 0x4c, 0x18, 0xd2, 0x7a,
-	0x90, 0x7a, 0x6e, 0xb4, 0xd6, 0xe3, 0x8c, 0x2e, 0xb3, 0x0d, 0xf3, 0x8c, 0xce, 0xf4, 0x4c, 0x6f,
-	0x01, 0x92, 0x8f, 0x65, 0xa5, 0x2d, 0x5b, 0x7a, 0x39, 0x9d, 0x1d, 0xed, 0xf4, 0xce, 0xbb, 0x23,
-	0xce, 0x34, 0x41, 0xf0, 0x16, 0x0c, 0x54, 0x9e, 0x1f, 0xc9, 0x6e, 0x7b, 0x2f, 0xda, 0x01, 0x1e,
-	0xba, 0xee, 0x4e, 0x20, 0x9a, 0x7d, 0x75, 0xb0, 0x48, 0xa0, 0xd0, 0x6e, 0x28, 0xb0, 0xfd, 0x79,
-	0x02, 0x96, 0x23, 0xb8, 0xd1, 0x5d, 0x48, 0xe8, 0xdd, 0x06, 0x75, 0xa6, 0x57, 0x47, 0x90, 0x9f,
-	0x13, 0xf7, 0x0a, 0xbb, 0x31, 0xd1, 0x9a, 0xc5, 0xff, 0x36, 0x0e, 0x09, 0x71, 0xaf, 0x80, 0xde,
-	0x67, 0x70, 0xe8, 0x9b, 0x23, 0x4a, 0xf1, 0xc2, 0xd1, 0x5f, 0x71, 0x41, 0x48, 0x71, 0x16, 0x16,
-	0x0a, 0x62, 0x31, 0x5f, 0x2f, 0x4a, 0xdb, 0xc5, 0x72, 0xb1, 0x5e, 0x94, 0x08, 0x0a, 0x9d, 0xe1,
-	0xd0, 0x0a, 0x64, 0xf7, 0xf6, 0xb7, 0xca, 0xa5, 0xda, 0xae, 0xb4, 0x5f, 0x71, 0xfe, 0xa3, 0xa3,
-	0x71, 0x94, 0x81, 0x99, 0x72, 0xa9, 0x56, 0xa7, 0x84, 0x5a, 0x26, 0x61, 0x51, 0x76, 0x8a, 0x75,
-	0xa9, 0x90, 0xdf, 0xcb, 0x17, 0x4a, 0xf5, 0xc7, 0x99, 0x24, 0xe2, 0x61, 0x89, 0x95, 0x5d, 0xab,
-	0xe4, 0xf7, 0x6a, 0xbb, 0xd5, 0x7a, 0x26, 0x85, 0x10, 0xcc, 0xd9, 0xf3, 0x1d, 0x52, 0x2d, 0x33,
-	0x61, 0x49, 0x28, 0x94, 0xab, 0x15, 0x57, 0x87, 0x49, 0xb4, 0x00, 0x19, 0x67, 0x65, 0xb1, 0x98,
-	0xdf, 0xb6, 0x51, 0x8c, 0x34, 0x3a, 0x0f, 0xb3, 0xc5, 0x8f, 0xf6, 0xf2, 0x95, 0x6d, 0x87, 0x71,
-	0xca, 0xc5, 0xc0, 0xbe, 0x89, 0xc3, 0x22, 0x01, 0xc1, 0x1c, 0xc8, 0xcd, 0x09, 0xcb, 0x75, 0xc8,
-	0x90, 0xb6, 0x5d, 0xf2, 0x17, 0x4e, 0x73, 0x84, 0x7e, 0xe0, 0x94, 0x4f, 0x0e, 0x60, 0x1d, 0xf7,
-	0x00, 0xd6, 0x25, 0x7f, 0x31, 0x79, 0x83, 0x85, 0x76, 0x7d, 0xab, 0x45, 0xf5, 0x27, 0x0f, 0x03,
-	0xaa, 0x9d, 0x5b, 0xd1, 0xd2, 0xa2, 0x6e, 0x82, 0xb3, 0x34, 0x23, 0x67, 0x0c, 0xe8, 0xfb, 0xb0,
-	0xe4, 0xd7, 0x97, 0xc6, 0xd6, 0xcd, 0x01, 0x00, 0xd6, 0xcd, 0x30, 0x2e, 0xaf, 0xcb, 0x21, 0xfc,
-	0x9d, 0x83, 0xb4, 0x43, 0xb6, 0xb2, 0xb4, 0xa1, 0xfc, 0x08, 0x33, 0x80, 0xcf, 0x94, 0x45, 0x71,
-	0xf1, 0x23, 0x2f, 0x74, 0x1a, 0xf7, 0x43, 0xa7, 0x81, 0xe7, 0x9c, 0x08, 0x3c, 0xe7, 0xf7, 0x60,
-	0xb6, 0x61, 0xa9, 0xaf, 0x68, 0xaa, 0x64, 0x2a, 0x1d, 0x07, 0xcf, 0x19, 0x7c, 0xea, 0xa8, 0x3b,
-	0x6f, 0x8b, 0xe2, 0x8c, 0x33, 0xc1, 0x22, 0xa1, 0x35, 0x98, 0xb1, 0x9f, 0x3e, 0x24, 0x53, 0x93,
-	0x7a, 0x06, 0xce, 0xa6, 0xec, 0xee, 0x16, 0x6c, 0x5a, 0x5d, 0xdb, 0x37, 0xb0, 0xf0, 0x17, 0x0e,
-	0x16, 0x49, 0xd3, 0xee, 0x77, 0xc7, 0x61, 0x10, 0xb0, 0xd7, 0xe3, 0x7c, 0x89, 0x3f, 0x50, 0xe0,
-	0x8b, 0xea, 0x59, 0xb2, 0xb0, 0xe4, 0x5f, 0x8f, 0x36, 0x2a, 0xbf, 0xe3, 0x60, 0xc1, 0xba, 0x75,
-	0x9d, 0x81, 0xe7, 0x5d, 0x04, 0x8c, 0x71, 0x92, 0x3e, 0x63, 0x26, 0xfd, 0xc6, 0x14, 0xfe, 0xc0,
-	0xc1, 0xa2, 0x4f, 0x57, 0xea, 0xa9, 0xef, 0xfa, 0x2b, 0x8a, 0xab, 0xde, 0x8a, 0x62, 0x80, 0x7f,
-	0xcc, 0x9a, 0xe2, 0xb6, 0x53, 0x53, 0x8c, 0x17, 0x10, 0x9f, 0xc7, 0x61, 0xb5, 0x9f, 0xd9, 0xed,
-	0xb7, 0xbe, 0xe6, 0x18, 0x2d, 0xf1, 0xd9, 0x5e, 0xd7, 0x3e, 0xf4, 0xa7, 0xba, 0xcd, 0xc1, 0xcb,
-	0x26, 0x40, 0xa5, 0x17, 0xe5, 0x80, 0x3f, 0xf6, 0xa2, 0x5b, 0xec, 0xba, 0xf4, 0x08, 0x47, 0x84,
-	0x89, 0xdf, 0x86, 0x0b, 0x36, 0x50, 0xe0, 0x3e, 0x15, 0x3b, 0x8f, 0x60, 0x24, 0x8b, 0xa4, 0xc5,
-	0x45, 0x6b, 0xd8, 0x7d, 0x58, 0xa5, 0xd0, 0x68, 0x53, 0xf8, 0x36, 0x09, 0x4b, 0x15, 0xad, 0x89,
-	0x6b, 0xa6, 0xdc, 0x1a, 0x07, 0x34, 0xfc, 0xfe, 0x20, 0x06, 0x13, 0x67, 0xed, 0x19, 0x2c, 0x75,
-	0x14, 0xe8, 0x05, 0xe5, 0x60, 0xde, 0x30, 0xe5, 0x96, 0x1d, 0x41, 0xb2, 0xde, 0xc2, 0xa6, 0xd4,
-	0x95, 0xcd, 0xa7, 0x34, 0x3c, 0xce, 0xd3, 0xa1, 0xba, 0x3d, 0xb2, 0x27, 0x9b, 0x4f, 0x83, 0xb1,
-	0xbc, 0xe4, 0xd8, 0x58, 0xde, 0x07, 0xfe, 0x76, 0xfa, 0xf5, 0x21, 0x7b, 0x89, 0xb8, 0x07, 0x3f,
-	0x0a, 0xc1, 0xe9, 0xde, 0x18, 0x22, 0x72, 0x38, 0x3e, 0x77, 0x76, 0x5c, 0xea, 0x25, 0x43, 0x7c,
-	0x17, 0xe1, 0xc2, 0xc0, 0xe6, 0x69, 0xd6, 0x6d, 0x41, 0xd6, 0x1a, 0xda, 0x57, 0x8d, 0x31, 0xdd,
-	0x31, 0xc4, 0x63, 0xe2, 0x21, 0x1e, 0x23, 0x2c, 0xc3, 0xc5, 0x80, 0x85, 0xa8, 0x16, 0x7f, 0x4a,
-	0x11, 0x35, 0xc6, 0x47, 0x9b, 0x3f, 0x0e, 0x8b, 0x8a, 0xb7, 0xbc, 0xc7, 0x1e, 0x08, 0xcc, 0xbe,
-	0x88, 0xb8, 0xb8, 0x0c, 0xd3, 0x5e, 0x3e, 0x7a, 0x73, 0x98, 0x43, 0x02, 0x27, 0x75, 0x26, 0x10,
-	0x7c, 0xc2, 0x07, 0x82, 0x97, 0xfb, 0x41, 0x35, 0xc9, 0x56, 0x83, 0xa1, 0xa6, 0x88, 0x08, 0xab,
-	0x27, 0x03, 0x61, 0x95, 0x66, 0x91, 0xf5, 0x50, 0xa1, 0xff, 0x07, 0x81, 0x45, 0x9d, 0x3a, 0x10,
-	0xf2, 0x16, 0x9e, 0x00, 0x4f, 0x3c, 0x7e, 0x7c, 0x10, 0xda, 0xe7, 0x46, 0x71, 0xbf, 0x1b, 0x09,
-	0xab, 0xb0, 0x1c, 0x28, 0x9b, 0x2e, 0xfd, 0x98, 0xe8, 0xb5, 0x83, 0x29, 0x86, 0x51, 0x33, 0x65,
-	0xd3, 0x18, 0x75, 0x65, 0x3a, 0xe8, 0x5d, 0x99, 0x90, 0xec, 0x95, 0x77, 0xc8, 0xae, 0xfc, 0xa2,
-	0xe9, 0xdd, 0xf9, 0x1a, 0xa4, 0x7a, 0x36, 0x1c, 0x47, 0x8a, 0x9f, 0x79, 0xd6, 0xa5, 0xf7, 0xad,
-	0x21, 0x91, 0x70, 0x08, 0x7f, 0xe4, 0x60, 0xda, 0x43, 0x46, 0x2b, 0x30, 0xe5, 0x76, 0xe7, 0x4e,
-	0x9d, 0xee, 0x12, 0xac, 0x33, 0x30, 0x35, 0x53, 0x6e, 0xd3, 0x17, 0x5e, 0xf2, 0xc3, 0x6a, 0xad,
-	0x7a, 0x06, 0x26, 0x65, 0x5c, 0x42, 0xb4, 0xff, 0x47, 0x37, 0x21, 0xd9, 0x53, 0x15, 0xd3, 0x8e,
-	0xbd, 0x39, 0x7f, 0x50, 0xd9, 0x4b, 0xe5, 0xf6, 0x55, 0xc5, 0x14, 0x6d, 0x2e, 0xe1, 0x06, 0x24,
-	0xad, 0x5f, 0x6c, 0x13, 0x3b, 0x05, 0xa9, 0xad, 0xc7, 0xf5, 0x62, 0x2d, 0xc3, 0x21, 0x80, 0x89,
-	0x52, 0xa5, 0xba, 0x5d, 0xac, 0x65, 0xe2, 0xc2, 0x8a, 0xbb, 0xf5, 0x20, 0x90, 0xe0, 0x13, 0x72,
-	0x24, 0x61, 0xf0, 0x40, 0x3e, 0x10, 0x1e, 0x58, 0x65, 0x2e, 0xa7, 0x21, 0xc0, 0xc0, 0x7f, 0x38,
-	0x58, 0x0c, 0xe4, 0x43, 0xb7, 0xbd, 0x90, 0xc0, 0x95, 0x48, 0x99, 0x5e, 0x30, 0xe0, 0x57, 0x1c,
-	0x01, 0x03, 0xee, 0x30, 0x60, 0xc0, 0xf5, 0xa1, 0xf3, 0xbd, 0x30, 0xc0, 0x41, 0x08, 0x0a, 0x50,
-	0xab, 0xe7, 0x77, 0x8a, 0xd2, 0x7e, 0x85, 0xfc, 0x75, 0x51, 0x80, 0x05, 0xc8, 0x58, 0x5d, 0x3d,
-	0xfd, 0x36, 0xad, 0x56, 0xcf, 0xd7, 0x6b, 0x99, 0xf8, 0x60, 0x07, 0x9e, 0x70, 0x3b, 0xf0, 0x05,
-	0x40, 0xd4, 0xac, 0xde, 0xcf, 0x2a, 0xbf, 0xe0, 0x60, 0x9e, 0x21, 0x53, 0x2b, 0x7b, 0x5e, 0x6f,
-	0x38, 0xe6, 0xf5, 0x66, 0x03, 0x16, 0xac, 0x26, 0x82, 0x38, 0xb2, 0x21, 0x75, 0xb1, 0x2e, 0x59,
-	0x23, 0xd4, 0x9d, 0xce, 0x77, 0xe4, 0x13, 0x8a, 0xf6, 0xed, 0x61, 0xdd, 0x12, 0xfc, 0x1c, 0xf0,
-	0x2d, 0xe1, 0xe7, 0x1c, 0xb9, 0x77, 0xc7, 0x2e, 0xb8, 0x87, 0x05, 0x61, 0x40, 0x45, 0x9e, 0x18,
-	0xbd, 0x22, 0x17, 0xf2, 0xe4, 0xb2, 0x3d, 0x43, 0xf1, 0xbb, 0xf9, 0x5f, 0x0e, 0xd2, 0xa5, 0x26,
-	0x56, 0x4d, 0xcb, 0xfb, 0x2a, 0x30, 0xcb, 0x7c, 0x76, 0x8a, 0x56, 0x42, 0xbe, 0x46, 0xb5, 0xb7,
-	0xce, 0xaf, 0x46, 0x7e, 0xab, 0x2a, 0xc4, 0xd0, 0x91, 0xe7, 0x93, 0x59, 0x06, 0xbf, 0x7c, 0x65,
-	0x60, 0x66, 0x40, 0x20, 0xf2, 0xd7, 0x86, 0x70, 0xb9, 0xeb, 0xbc, 0x0d, 0x29, 0xfb, 0x23, 0x45,
-	0xb4, 0xe0, 0x7e, 0x86, 0xe9, 0xf9, 0x86, 0x91, 0x5f, 0xf4, 0x51, 0x9d, 0x79, 0x9b, 0xff, 0x4c,
-	0x03, 0xf4, 0x7b, 0x08, 0xf4, 0x00, 0x66, 0xbc, 0xdf, 0x49, 0xa1, 0xe5, 0x88, 0xaf, 0xf4, 0xf8,
-	0x95, 0xe0, 0x41, 0x57, 0xa7, 0x07, 0x30, 0xe3, 0x7d, 0x95, 0xef, 0x0b, 0x0b, 0xf8, 0x32, 0xa0,
-	0x2f, 0x2c, 0xf0, 0x21, 0x3f, 0x86, 0xda, 0x70, 0x21, 0xe4, 0x5d, 0x16, 0x5d, 0x1f, 0xed, 0xf5,
-	0x9a, 0x7f, 0x75, 0xc4, 0x07, 0x5e, 0x21, 0x86, 0x74, 0xb8, 0x18, 0xfa, 0x1c, 0x89, 0xd6, 0x47,
-	0x7d, 0x2c, 0xe5, 0x5f, 0x1b, 0x81, 0xd3, 0x5d, 0xb3, 0x07, 0x7c, 0xf8, 0x1b, 0x08, 0x7a, 0x6d,
-	0xe4, 0xc7, 0x39, 0xfe, 0xc6, 0xe8, 0x4f, 0x2a, 0x42, 0x0c, 0xed, 0xc2, 0xb4, 0xe7, 0x81, 0x00,
-	0xf1, 0x81, 0xaf, 0x06, 0x44, 0xf0, 0x72, 0xc4, 0x8b, 0x02, 0x91, 0xe4, 0x01, 0xb1, 0xfb, 0x92,
-	0x06, 0xd1, 0xf8, 0xbe, 0xa4, 0x00, 0xd4, 0xdb, 0x6f, 0x7e, 0xdf, 0x2d, 0x14, 0x64, 0xfe, 0xe0,
-	0x6b, 0x2c, 0xc8, 0xfc, 0x21, 0x57, 0x9a, 0x10, 0x43, 0x1f, 0xc2, 0x1c, 0x8b, 0xd8, 0xa1, 0xd5,
-	0x48, 0xe4, 0x91, 0xbf, 0x14, 0x36, 0xec, 0x15, 0xc9, 0x02, 0x44, 0x7d, 0x91, 0x81, 0x40, 0x55,
-	0x5f, 0x64, 0x08, 0xae, 0x14, 0xb3, 0xf2, 0x13, 0x03, 0xbe, 0xf4, 0xf3, 0x53, 0x10, 0xde, 0xd4,
-	0xcf, 0x4f, 0x81, 0x88, 0x8d, 0x10, 0x43, 0x0a, 0x2c, 0x05, 0x43, 0x08, 0xe8, 0xda, 0x48, 0xd0,
-	0x06, 0x7f, 0x7d, 0x18, 0x9b, 0x9b, 0x6a, 0xbe, 0x4a, 0x41, 0xd2, 0xbe, 0x8e, 0xea, 0x70, 0xce,
-	0xd7, 0xc2, 0xa1, 0x4b, 0xd1, 0x8d, 0x2d, 0x7f, 0x39, 0x74, 0xdc, 0xdd, 0xc9, 0x13, 0x38, 0x3f,
-	0xd0, 0x94, 0xa1, 0x35, 0xef, 0xbc, 0xa0, 0xc6, 0x90, 0xbf, 0x12, 0xc1, 0xe1, 0x97, 0xcd, 0xa6,
-	0x9d, 0xb5, 0x61, 0x5d, 0x03, 0x2b, 0x3b, 0x2c, 0xd5, 0x7c, 0x42, 0x6e, 0x7f, 0x7f, 0x92, 0x11,
-	0x58, 0xbd, 0x02, 0xd3, 0xcb, 0xd5, 0x48, 0x1e, 0x77, 0x85, 0x8f, 0xdd, 0xb2, 0xc3, 0x53, 0xe6,
-	0x22, 0x46, 0xb9, 0xc0, 0xea, 0x9a, 0x17, 0xa2, 0x58, 0x5c, 0xf1, 0x8f, 0x20, 0xe3, 0xbf, 0x82,
-	0x11, 0x73, 0x5e, 0x41, 0x6e, 0xb3, 0x16, 0xce, 0xe0, 0xb7, 0x8c, 0x3f, 0xfe, 0xfd, 0x5a, 0x05,
-	0x45, 0xfe, 0xd5, 0x48, 0x1e, 0x6f, 0xc6, 0xf2, 0x54, 0x5e, 0xfd, 0x8c, 0x35, 0x58, 0xa5, 0xf5,
-	0x33, 0x56, 0x40, 0xa9, 0x26, 0xc4, 0xee, 0xbc, 0x0b, 0xd0, 0x30, 0x14, 0x89, 0x74, 0x9a, 0x68,
-	0x75, 0x00, 0x27, 0xbf, 0xaf, 0xe0, 0x76, 0xb3, 0xda, 0x35, 0x15, 0x4d, 0x35, 0xb2, 0xbf, 0x49,
-	0xdb, 0x6d, 0xee, 0x54, 0xc3, 0x50, 0x48, 0xc3, 0xb7, 0x95, 0x7a, 0x92, 0x68, 0x18, 0xca, 0xe1,
-	0x84, 0xcd, 0xff, 0xe6, 0xff, 0x02, 0x00, 0x00, 0xff, 0xff, 0xef, 0x93, 0xcf, 0xe1, 0x24, 0x34,
-	0x00, 0x00,
+	proto.RegisterFile("github.com/container-storage-interface/spec/csi.proto", fileDescriptor_csi_25a43fd4f5bff71f)
+}
+
+var fileDescriptor_csi_25a43fd4f5bff71f = []byte{
+	// 3374 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x5a, 0x4d, 0x70, 0xdb, 0xc6,
+	0xf5, 0x27, 0xf8, 0x21, 0x51, 0x4f, 0x1f, 0xa6, 0x57, 0x1f, 0xa6, 0x21, 0xc9, 0x96, 0xe1, 0x8f,
+	0x28, 0xfe, 0xa0, 0xfe, 0x51, 0xe2, 0xcc, 0x3f, 0xb6, 0xd3, 0x84, 0xa2, 0x20, 0x89, 0x31, 0x45,
+	0x2a, 0x20, 0x25, 0x47, 0x6e, 0x33, 0x08, 0x44, 0xae, 0x68, 0x4c, 0x48, 0x80, 0x01, 0x40, 0x55,
+	0x4a, 0xa7, 0xd3, 0x43, 0x4f, 0x69, 0xcf, 0x9d, 0xb6, 0xa7, 0xce, 0xa4, 0xbd, 0xb4, 0xd3, 0x4c,
+	0x4f, 0x9d, 0x1e, 0xdb, 0xe9, 0xb1, 0x87, 0x5e, 0xdb, 0xe9, 0x25, 0xd7, 0x4e, 0xa6, 0x9d, 0xc9,
+	0xb9, 0xa7, 0x0e, 0xb0, 0x0b, 0x10, 0x00, 0x01, 0x90, 0xb4, 0xec, 0xc9, 0xa1, 0x27, 0x12, 0x6f,
+	0xdf, 0xbe, 0x7d, 0xbb, 0xfb, 0xde, 0xdb, 0xf7, 0x7e, 0xbb, 0x70, 0xbf, 0x29, 0x1b, 0xcf, 0xba,
+	0x47, 0xb9, 0xba, 0xda, 0x5e, 0xab, 0xab, 0x8a, 0x21, 0xc9, 0x0a, 0xd6, 0xee, 0xe9, 0x86, 0xaa,
+	0x49, 0x4d, 0x7c, 0x4f, 0x56, 0x0c, 0xac, 0x1d, 0x4b, 0x75, 0xbc, 0xa6, 0x77, 0x70, 0x7d, 0xad,
+	0xae, 0xcb, 0xb9, 0x8e, 0xa6, 0x1a, 0x2a, 0x1a, 0x33, 0xff, 0x9e, 0xbc, 0xc6, 0xae, 0x34, 0x55,
+	0xb5, 0xd9, 0xc2, 0x6b, 0x16, 0xf5, 0xa8, 0x7b, 0xbc, 0xd6, 0xc0, 0x7a, 0x5d, 0x93, 0x3b, 0x86,
+	0xaa, 0x11, 0x4e, 0xf6, 0xaa, 0x9f, 0xc3, 0x90, 0xdb, 0x58, 0x37, 0xa4, 0x76, 0x87, 0x32, 0x5c,
+	0xf1, 0x33, 0x7c, 0x57, 0x93, 0x3a, 0x1d, 0xac, 0xe9, 0xa4, 0x9d, 0x5b, 0x80, 0xb9, 0x6d, 0x6c,
+	0xec, 0xb5, 0xba, 0x4d, 0x59, 0x29, 0x2a, 0xc7, 0xaa, 0x80, 0x3f, 0xe9, 0x62, 0xdd, 0xe0, 0xfe,
+	0xce, 0xc0, 0xbc, 0xaf, 0x41, 0xef, 0xa8, 0x8a, 0x8e, 0x11, 0x82, 0xa4, 0x22, 0xb5, 0x71, 0x96,
+	0x59, 0x61, 0x56, 0x27, 0x04, 0xeb, 0x3f, 0xba, 0x09, 0x33, 0x27, 0x58, 0x69, 0xa8, 0x9a, 0x78,
+	0x82, 0x35, 0x5d, 0x56, 0x95, 0x6c, 0xdc, 0x6a, 0x9d, 0x26, 0xd4, 0x03, 0x42, 0x44, 0xdb, 0x90,
+	0x6e, 0x4b, 0x8a, 0x7c, 0x8c, 0x75, 0x23, 0x9b, 0x58, 0x49, 0xac, 0x4e, 0xae, 0xdf, 0xc9, 0x91,
+	0xa9, 0xe6, 0x02, 0xc7, 0xca, 0xed, 0x52, 0x6e, 0x5e, 0x31, 0xb4, 0x33, 0xc1, 0xe9, 0xcc, 0x3e,
+	0x84, 0x69, 0x4f, 0x13, 0xca, 0x40, 0xe2, 0x63, 0x7c, 0x46, 0x75, 0x32, 0xff, 0xa2, 0x39, 0x48,
+	0x9d, 0x48, 0xad, 0x2e, 0xa6, 0x9a, 0x90, 0x8f, 0x07, 0xf1, 0xff, 0x67, 0xb8, 0x2b, 0xb0, 0xe4,
+	0x8c, 0x56, 0x90, 0x3a, 0xd2, 0x91, 0xdc, 0x92, 0x0d, 0x19, 0xeb, 0xf6, 0xd4, 0x3f, 0x84, 0xe5,
+	0x90, 0x76, 0xba, 0x02, 0x8f, 0x60, 0xaa, 0xee, 0xa2, 0x67, 0x19, 0x6b, 0x2a, 0x59, 0x7b, 0x2a,
+	0xbe, 0x9e, 0x67, 0x82, 0x87, 0x9b, 0xfb, 0x51, 0x02, 0x32, 0x7e, 0x16, 0xf4, 0x08, 0xc6, 0x75,
+	0xac, 0x9d, 0xc8, 0x75, 0xb2, 0xae, 0x93, 0xeb, 0x2b, 0x61, 0xd2, 0x72, 0x55, 0xc2, 0xb7, 0x13,
+	0x13, 0xec, 0x2e, 0x68, 0x1f, 0x32, 0x27, 0x6a, 0xab, 0xdb, 0xc6, 0x22, 0x3e, 0xed, 0x48, 0x8a,
+	0xb3, 0x01, 0x93, 0xeb, 0xab, 0xa1, 0x62, 0x0e, 0xac, 0x0e, 0xbc, 0xcd, 0xbf, 0x13, 0x13, 0x2e,
+	0x9c, 0x78, 0x49, 0xec, 0x4f, 0x19, 0x18, 0xa7, 0xa3, 0xa1, 0xb7, 0x20, 0x69, 0x9c, 0x75, 0x88,
+	0x76, 0x33, 0xeb, 0x37, 0x07, 0x69, 0x97, 0xab, 0x9d, 0x75, 0xb0, 0x60, 0x75, 0xe1, 0xde, 0x87,
+	0xa4, 0xf9, 0x85, 0x26, 0x61, 0x7c, 0xbf, 0xfc, 0xb8, 0x5c, 0x79, 0x52, 0xce, 0xc4, 0xd0, 0x02,
+	0xa0, 0x42, 0xa5, 0x5c, 0x13, 0x2a, 0xa5, 0x12, 0x2f, 0x88, 0x55, 0x5e, 0x38, 0x28, 0x16, 0xf8,
+	0x0c, 0x83, 0x6e, 0xc0, 0xca, 0x41, 0xa5, 0xb4, 0xbf, 0xcb, 0x8b, 0xf9, 0x42, 0x81, 0xaf, 0x56,
+	0x8b, 0x1b, 0xc5, 0x52, 0xb1, 0x76, 0x28, 0x16, 0x2a, 0xe5, 0x6a, 0x4d, 0xc8, 0x17, 0xcb, 0xb5,
+	0x6a, 0x26, 0xce, 0xbe, 0x03, 0x17, 0x7c, 0xfa, 0x73, 0x77, 0x83, 0x46, 0x01, 0x18, 0xab, 0x94,
+	0x4b, 0xc5, 0xb2, 0x29, 0x79, 0x12, 0xc6, 0x2b, 0x5b, 0x5b, 0xd6, 0x47, 0x7c, 0x63, 0x8c, 0x4c,
+	0x87, 0x9b, 0x81, 0xa9, 0x3d, 0x4d, 0x3d, 0xc2, 0xf6, 0xde, 0xe7, 0x61, 0x9a, 0x7e, 0xd3, 0xbd,
+	0xfe, 0x3f, 0x48, 0x69, 0x58, 0x6a, 0x9c, 0xd1, 0x6d, 0x61, 0x73, 0xc4, 0x9f, 0x72, 0xb6, 0x3f,
+	0xe5, 0x36, 0x54, 0xb5, 0x75, 0x60, 0xda, 0x96, 0x40, 0x18, 0xb9, 0xaf, 0x93, 0x30, 0x5b, 0xd0,
+	0xb0, 0x64, 0x60, 0xa2, 0x22, 0x15, 0x1d, 0xe8, 0x37, 0x8f, 0x60, 0xc6, 0xb4, 0x8d, 0xba, 0x6c,
+	0x9c, 0x89, 0x9a, 0xa4, 0x34, 0x31, 0xdd, 0xb6, 0x79, 0x7b, 0x7d, 0x0b, 0xb4, 0x55, 0x30, 0x1b,
+	0x85, 0xe9, 0xba, 0xfb, 0x13, 0x15, 0x61, 0x96, 0x6e, 0xbb, 0xc7, 0x1c, 0x13, 0x5e, 0x73, 0x24,
+	0x5a, 0xb8, 0xcc, 0x11, 0x9d, 0x78, 0x29, 0x32, 0xd6, 0xd1, 0x63, 0x80, 0x8e, 0xa4, 0x49, 0x6d,
+	0x6c, 0x60, 0x4d, 0xcf, 0x26, 0xbd, 0xbe, 0x19, 0x30, 0x9b, 0xdc, 0x9e, 0xc3, 0x4d, 0x7c, 0xd3,
+	0xd5, 0x1d, 0x6d, 0x9b, 0xc6, 0x5c, 0xd7, 0xb0, 0xa1, 0x67, 0x53, 0x96, 0xa4, 0xd5, 0x28, 0x49,
+	0x55, 0xc2, 0x6a, 0x89, 0xd9, 0x48, 0xfc, 0x6c, 0x83, 0x11, 0xec, 0xde, 0xa8, 0x02, 0xf3, 0xf6,
+	0x04, 0x55, 0xc5, 0xc0, 0x8a, 0x21, 0xea, 0x6a, 0x57, 0xab, 0xe3, 0xec, 0x98, 0xb5, 0x4a, 0x8b,
+	0xbe, 0x29, 0x12, 0x9e, 0xaa, 0xc5, 0x22, 0xd0, 0xa5, 0xf1, 0x10, 0xd1, 0x53, 0x60, 0xa5, 0x7a,
+	0x1d, 0xeb, 0xba, 0x4c, 0xd6, 0x42, 0xd4, 0xf0, 0x27, 0x5d, 0x59, 0xc3, 0x6d, 0xac, 0x18, 0x7a,
+	0x76, 0xdc, 0x2b, 0xb5, 0xa6, 0x76, 0xd4, 0x96, 0xda, 0x3c, 0x13, 0x7a, 0x3c, 0xc2, 0x65, 0x4f,
+	0x77, 0x57, 0x8b, 0xce, 0xbe, 0x0d, 0x17, 0x7c, 0x8b, 0x32, 0x4a, 0x54, 0x62, 0x1f, 0xc0, 0x94,
+	0x7b, 0x25, 0x46, 0x8a, 0x68, 0x3f, 0x8e, 0xc3, 0x6c, 0xc0, 0x1a, 0xa0, 0x1d, 0x48, 0xeb, 0x8a,
+	0xd4, 0xd1, 0x9f, 0xa9, 0x06, 0xb5, 0xdf, 0xdb, 0x11, 0x4b, 0x96, 0xab, 0x52, 0x5e, 0xf2, 0xb9,
+	0x13, 0x13, 0x9c, 0xde, 0x68, 0x03, 0xc6, 0xc8, 0x7a, 0xfa, 0xe3, 0x4a, 0x90, 0x1c, 0x42, 0x73,
+	0xa4, 0xd0, 0x9e, 0xec, 0x6b, 0x30, 0xe3, 0x1d, 0x01, 0x5d, 0x85, 0x49, 0x7b, 0x04, 0x51, 0x6e,
+	0xd0, 0xb9, 0x82, 0x4d, 0x2a, 0x36, 0xd8, 0x3b, 0x30, 0xe5, 0x16, 0x86, 0x16, 0x61, 0x82, 0x1a,
+	0x84, 0xc3, 0x9e, 0x26, 0x84, 0x62, 0xc3, 0xf1, 0xe9, 0x6f, 0xc1, 0x9c, 0xd7, 0xce, 0xa8, 0x2b,
+	0xdf, 0x72, 0xe6, 0x40, 0xd6, 0x62, 0xc6, 0x3b, 0x07, 0x5b, 0x4f, 0xee, 0x37, 0x49, 0xc8, 0xf8,
+	0x9d, 0x06, 0x3d, 0x82, 0xd4, 0x51, 0x4b, 0xad, 0x7f, 0x4c, 0xfb, 0xde, 0x08, 0xf3, 0xae, 0xdc,
+	0x86, 0xc9, 0x45, 0xa8, 0x3b, 0x31, 0x81, 0x74, 0x32, 0x7b, 0xb7, 0xd5, 0xae, 0x62, 0xd0, 0xd5,
+	0x0b, 0xef, 0xbd, 0x6b, 0x72, 0xf5, 0x7a, 0x5b, 0x9d, 0xd0, 0x26, 0x4c, 0x12, 0xb3, 0x13, 0xdb,
+	0x6a, 0x03, 0x67, 0x13, 0x96, 0x8c, 0xeb, 0xa1, 0x32, 0xf2, 0x16, 0xef, 0xae, 0xda, 0xc0, 0x02,
+	0x48, 0xce, 0x7f, 0x76, 0x1a, 0x26, 0x5d, 0xba, 0xb1, 0xdb, 0x30, 0xe9, 0x1a, 0x0c, 0x5d, 0x82,
+	0xf1, 0x63, 0x5d, 0x74, 0x42, 0xfc, 0x84, 0x30, 0x76, 0xac, 0x5b, 0xf1, 0xf4, 0x2a, 0x4c, 0x5a,
+	0x5a, 0x88, 0xc7, 0x2d, 0xa9, 0xa9, 0x67, 0xe3, 0x2b, 0x09, 0x73, 0x8f, 0x2c, 0xd2, 0x96, 0x49,
+	0x61, 0xff, 0xc5, 0x00, 0xf4, 0x86, 0x44, 0x8f, 0x20, 0x69, 0x69, 0x49, 0x0e, 0x8a, 0xd5, 0x21,
+	0xb4, 0xcc, 0x59, 0xaa, 0x5a, 0xbd, 0xb8, 0x5f, 0x30, 0x90, 0xb4, 0xc4, 0xf8, 0x0f, 0x8b, 0x6a,
+	0xb1, 0xbc, 0x5d, 0xe2, 0xc5, 0x72, 0x65, 0x93, 0x17, 0x9f, 0x08, 0xc5, 0x1a, 0x2f, 0x64, 0x18,
+	0xb4, 0x08, 0x97, 0xdc, 0x74, 0x81, 0xcf, 0x6f, 0xf2, 0x82, 0x58, 0x29, 0x97, 0x0e, 0x33, 0x71,
+	0xc4, 0xc2, 0xc2, 0xee, 0x7e, 0xa9, 0x56, 0xec, 0x6f, 0x4b, 0xa0, 0x25, 0xc8, 0xba, 0xda, 0xa8,
+	0x0c, 0x2a, 0x36, 0x69, 0x8a, 0x75, 0xb5, 0x92, 0xbf, 0xb4, 0x31, 0xb5, 0x31, 0xed, 0x6c, 0x86,
+	0x65, 0x6c, 0x4f, 0x60, 0xda, 0x13, 0xa3, 0xcd, 0x54, 0x88, 0x06, 0x95, 0x86, 0x78, 0x74, 0x66,
+	0x58, 0xe9, 0x01, 0xb3, 0x9a, 0x10, 0xa6, 0x6d, 0xea, 0x86, 0x49, 0x34, 0x97, 0xb5, 0x25, 0xb7,
+	0x65, 0x83, 0xf2, 0xc4, 0x2d, 0x1e, 0xb0, 0x48, 0x16, 0x03, 0xf7, 0x65, 0x1c, 0xc6, 0xe8, 0xde,
+	0xdc, 0x74, 0x9d, 0x12, 0x1e, 0x91, 0x36, 0x95, 0x88, 0xf4, 0x38, 0x47, 0xdc, 0xeb, 0x1c, 0x68,
+	0x07, 0x66, 0xdc, 0xa1, 0xf4, 0xd4, 0x4e, 0xc0, 0xae, 0x79, 0x37, 0xc8, 0xed, 0xcf, 0xa7, 0x34,
+	0xed, 0x9a, 0x3e, 0x71, 0xd3, 0xd0, 0x06, 0xcc, 0xf8, 0xa2, 0x71, 0x72, 0x70, 0x34, 0x9e, 0xae,
+	0x7b, 0x02, 0x53, 0x1e, 0x66, 0xed, 0x40, 0xda, 0xc2, 0xa2, 0x41, 0x03, 0x2d, 0x3d, 0x2d, 0x32,
+	0x7d, 0x01, 0x18, 0xf5, 0x98, 0x6d, 0x1a, 0xfb, 0x2e, 0xa0, 0x7e, 0x5d, 0x47, 0x8a, 0x9a, 0x5d,
+	0x98, 0x0d, 0x08, 0xf1, 0x28, 0x07, 0x13, 0xd6, 0x56, 0xe9, 0xb2, 0x81, 0x69, 0x6a, 0xd7, 0xaf,
+	0x51, 0x8f, 0xc5, 0xe4, 0xef, 0x68, 0xf8, 0x18, 0x6b, 0x1a, 0x6e, 0x58, 0xee, 0x11, 0xc8, 0xef,
+	0xb0, 0x70, 0x3f, 0x64, 0x20, 0x6d, 0xd3, 0xd1, 0x03, 0x48, 0xeb, 0xb8, 0x49, 0x8e, 0x1f, 0x32,
+	0xd6, 0x15, 0x7f, 0xdf, 0x5c, 0x95, 0x32, 0xd0, 0x24, 0xd8, 0xe6, 0x37, 0x93, 0x60, 0x4f, 0xd3,
+	0x48, 0x93, 0xff, 0x03, 0x03, 0xb3, 0x9b, 0xb8, 0x85, 0xfd, 0x59, 0x4a, 0x54, 0x84, 0x75, 0x1f,
+	0xec, 0x71, 0xef, 0xc1, 0x1e, 0x20, 0x2a, 0xe2, 0x60, 0x3f, 0xd7, 0x61, 0xb7, 0x00, 0x73, 0xde,
+	0xd1, 0x48, 0x78, 0xe7, 0xfe, 0x9d, 0x80, 0x2b, 0xa6, 0x2d, 0x68, 0x6a, 0xab, 0x85, 0xb5, 0xbd,
+	0xee, 0x51, 0x4b, 0xd6, 0x9f, 0x8d, 0x30, 0xb9, 0x4b, 0x30, 0xae, 0xa8, 0x0d, 0x97, 0xf3, 0x8c,
+	0x99, 0x9f, 0xc5, 0x06, 0xe2, 0xe1, 0xa2, 0x3f, 0xcd, 0x3a, 0xa3, 0x41, 0x38, 0x3c, 0xc9, 0xca,
+	0x9c, 0xf8, 0x4f, 0x10, 0x16, 0xd2, 0x66, 0x82, 0xa8, 0x2a, 0xad, 0x33, 0xcb, 0x63, 0xd2, 0x82,
+	0xf3, 0x8d, 0x04, 0x7f, 0xc6, 0xf4, 0xba, 0x93, 0x31, 0x45, 0xce, 0x28, 0x2a, 0x79, 0xfa, 0xa8,
+	0xcf, 0xe3, 0xc7, 0x2c, 0xd1, 0x6f, 0x0d, 0x29, 0x7a, 0x60, 0x24, 0x38, 0xcf, 0x2e, 0xbe, 0x00,
+	0xf7, 0xfd, 0x0b, 0x03, 0x57, 0x43, 0xa7, 0x40, 0x8f, 0xfc, 0x06, 0x5c, 0xe8, 0x90, 0x06, 0x67,
+	0x11, 0x88, 0x97, 0x3d, 0x1c, 0xb8, 0x08, 0xb4, 0x02, 0xa5, 0x54, 0xcf, 0x32, 0xcc, 0x74, 0x3c,
+	0x44, 0x36, 0x0f, 0xb3, 0x01, 0x6c, 0x23, 0x4d, 0xe6, 0x2b, 0x06, 0x56, 0x7a, 0xaa, 0xec, 0x2b,
+	0x9d, 0x17, 0x67, 0xbe, 0xb5, 0x9e, 0x6d, 0x91, 0x90, 0x7f, 0xbf, 0x7f, 0xee, 0xc1, 0x03, 0xbe,
+	0x2c, 0x0f, 0xbe, 0x0e, 0xd7, 0x22, 0x86, 0xa6, 0xee, 0xfc, 0x65, 0x12, 0xae, 0x1d, 0x48, 0x2d,
+	0xb9, 0xe1, 0x24, 0x72, 0x01, 0xb5, 0x7a, 0xf4, 0x92, 0xd4, 0xfb, 0x3c, 0x80, 0x44, 0xad, 0x47,
+	0x8e, 0xd7, 0x0e, 0x92, 0x3f, 0xc4, 0x71, 0xf8, 0x02, 0x8b, 0xb0, 0xc3, 0x80, 0x22, 0xec, 0xad,
+	0xe1, 0x75, 0x8d, 0x2a, 0xc9, 0xf6, 0xfd, 0x01, 0xe6, 0xcd, 0xe1, 0xe5, 0x46, 0x58, 0xc1, 0xb9,
+	0xbd, 0xf8, 0x9b, 0xac, 0x9a, 0xfe, 0x9c, 0x04, 0x2e, 0x6a, 0xf6, 0x34, 0x86, 0x08, 0x30, 0x51,
+	0x57, 0x95, 0x63, 0x59, 0x6b, 0xe3, 0x06, 0xcd, 0xfe, 0xdf, 0x18, 0x66, 0xf1, 0x68, 0x00, 0x29,
+	0xd8, 0x7d, 0x85, 0x9e, 0x18, 0x94, 0x85, 0xf1, 0x36, 0xd6, 0x75, 0xa9, 0x69, 0xab, 0x65, 0x7f,
+	0xb2, 0x5f, 0x24, 0x60, 0xc2, 0xe9, 0x82, 0x94, 0x3e, 0x0b, 0x26, 0xe1, 0x6b, 0xfb, 0x79, 0x14,
+	0x78, 0x7e, 0x63, 0x8e, 0x3f, 0x87, 0x31, 0x37, 0x3c, 0xc6, 0x4c, 0xdc, 0x61, 0xf3, 0xb9, 0xd4,
+	0x8e, 0xb0, 0xeb, 0x6f, 0xdc, 0x00, 0xb9, 0xef, 0x00, 0x2a, 0xc9, 0x3a, 0xad, 0xa2, 0x9c, 0xb0,
+	0x64, 0x16, 0x4d, 0xd2, 0xa9, 0x88, 0x15, 0x43, 0x93, 0x69, 0xba, 0x9e, 0x12, 0xa0, 0x2d, 0x9d,
+	0xf2, 0x84, 0x62, 0xa6, 0xf4, 0xba, 0x21, 0x69, 0x86, 0xac, 0x34, 0x45, 0x43, 0xfd, 0x18, 0x3b,
+	0x80, 0xa9, 0x4d, 0xad, 0x99, 0x44, 0xee, 0x73, 0x06, 0x66, 0x3d, 0xe2, 0xa9, 0x4d, 0x3e, 0x84,
+	0xf1, 0x9e, 0x6c, 0x4f, 0x1a, 0x1f, 0xc0, 0x9d, 0x23, 0xcb, 0x66, 0xf7, 0x40, 0xcb, 0x00, 0x0a,
+	0x3e, 0x35, 0x3c, 0xe3, 0x4e, 0x98, 0x14, 0x6b, 0x4c, 0x76, 0x0d, 0x52, 0x64, 0x19, 0x86, 0xad,
+	0x97, 0xbf, 0x88, 0x03, 0xda, 0xc6, 0x86, 0x53, 0x06, 0xd1, 0x35, 0x08, 0xb1, 0x25, 0xe6, 0x39,
+	0x6c, 0xe9, 0x3d, 0x8f, 0x2d, 0x11, 0x6b, 0xbc, 0xed, 0x42, 0x8e, 0x7d, 0x43, 0x47, 0x46, 0xc2,
+	0x90, 0xd2, 0x83, 0xe4, 0x73, 0xc3, 0x95, 0x1e, 0xe7, 0x34, 0x99, 0x4d, 0x98, 0xf5, 0xe8, 0x4c,
+	0xf7, 0xf4, 0x1e, 0x20, 0xe9, 0x44, 0x92, 0x5b, 0x92, 0xa9, 0x97, 0x5d, 0xd9, 0xd1, 0x4a, 0xef,
+	0xa2, 0xd3, 0x62, 0x77, 0xe3, 0x38, 0x77, 0xc2, 0x40, 0xe5, 0xf9, 0x91, 0xec, 0x96, 0xfb, 0xa0,
+	0xed, 0xe3, 0xa1, 0xe3, 0x6e, 0x07, 0xa2, 0xd9, 0xd7, 0xfb, 0x93, 0x04, 0x0a, 0xed, 0x86, 0x02,
+	0xdb, 0x9f, 0x25, 0x60, 0x31, 0x82, 0x1b, 0x3d, 0x84, 0x84, 0xd6, 0xa9, 0x53, 0x63, 0x7a, 0x65,
+	0x08, 0xf9, 0x39, 0x61, 0xaf, 0xb0, 0x13, 0x13, 0xcc, 0x5e, 0xec, 0xaf, 0xe2, 0x90, 0x10, 0xf6,
+	0x0a, 0xe8, 0x5d, 0x0f, 0x0e, 0x7d, 0x77, 0x48, 0x29, 0x6e, 0x38, 0xfa, 0x1f, 0x4c, 0x10, 0x52,
+	0x9c, 0x85, 0xb9, 0x82, 0xc0, 0xe7, 0x6b, 0xbc, 0xb8, 0xc9, 0x97, 0xf8, 0x1a, 0x2f, 0x12, 0x14,
+	0x3a, 0xc3, 0xa0, 0x25, 0xc8, 0xee, 0xed, 0x6f, 0x94, 0x8a, 0xd5, 0x1d, 0x71, 0xbf, 0x6c, 0xff,
+	0xa3, 0xad, 0x71, 0x94, 0x81, 0xa9, 0x52, 0xb1, 0x5a, 0xa3, 0x84, 0x6a, 0x26, 0x61, 0x52, 0xb6,
+	0xf9, 0x9a, 0x58, 0xc8, 0xef, 0xe5, 0x0b, 0xc5, 0xda, 0x61, 0x26, 0x89, 0x58, 0x58, 0xf0, 0xca,
+	0xae, 0x96, 0xf3, 0x7b, 0xd5, 0x9d, 0x4a, 0x2d, 0x93, 0x42, 0x08, 0x66, 0xac, 0xfe, 0x36, 0xa9,
+	0x9a, 0x19, 0x33, 0x25, 0x14, 0x4a, 0x95, 0xb2, 0xa3, 0xc3, 0x38, 0x9a, 0x83, 0x8c, 0x3d, 0xb2,
+	0xc0, 0xe7, 0x37, 0x2d, 0x14, 0x23, 0x8d, 0x2e, 0xc2, 0x34, 0xff, 0xc1, 0x5e, 0xbe, 0xbc, 0x69,
+	0x33, 0x4e, 0x38, 0x18, 0xd8, 0x57, 0x71, 0x98, 0x27, 0x20, 0x98, 0x0d, 0xb9, 0xd9, 0x6e, 0xb9,
+	0x0a, 0x19, 0x52, 0xb6, 0x8b, 0xfe, 0xc4, 0x69, 0x86, 0xd0, 0x0f, 0xec, 0xf4, 0xc9, 0x06, 0xac,
+	0xe3, 0x2e, 0xc0, 0xba, 0xe8, 0x4f, 0x26, 0x6f, 0x7b, 0xa1, 0x5d, 0xdf, 0x68, 0x51, 0xf5, 0xc9,
+	0x6e, 0x40, 0xb6, 0x73, 0x2f, 0x5a, 0x5a, 0xd4, 0x49, 0x70, 0x9e, 0x62, 0xe4, 0x9c, 0x0e, 0xbd,
+	0x05, 0x0b, 0x7e, 0x7d, 0xa9, 0x6f, 0xdd, 0xed, 0x03, 0x60, 0x9d, 0x08, 0xe3, 0xf0, 0x3a, 0x1c,
+	0xdc, 0xdf, 0x18, 0x48, 0xdb, 0x64, 0x33, 0x4a, 0xeb, 0xf2, 0xa7, 0xd8, 0x03, 0xf8, 0x4c, 0x98,
+	0x14, 0x07, 0x3f, 0x72, 0x43, 0xa7, 0x71, 0x3f, 0x74, 0x1a, 0xb8, 0xcf, 0x89, 0xc0, 0x7d, 0x7e,
+	0x07, 0xa6, 0xeb, 0xa6, 0xfa, 0xb2, 0xaa, 0x88, 0x86, 0xdc, 0xb6, 0xf1, 0x9c, 0xfe, 0xab, 0x8e,
+	0x9a, 0x7d, 0xb7, 0x28, 0x4c, 0xd9, 0x1d, 0x4c, 0x12, 0x5a, 0x81, 0x29, 0xeb, 0xea, 0x43, 0x34,
+	0x54, 0xb1, 0xab, 0xe3, 0x6c, 0xca, 0xaa, 0x6e, 0xc1, 0xa2, 0xd5, 0xd4, 0x7d, 0x1d, 0x73, 0x7f,
+	0x64, 0x60, 0x9e, 0x14, 0xed, 0x7e, 0x73, 0x1c, 0x04, 0x01, 0xbb, 0x2d, 0xce, 0x17, 0xf8, 0x03,
+	0x05, 0xbe, 0xac, 0x9a, 0x25, 0x0b, 0x0b, 0xfe, 0xf1, 0x68, 0xa1, 0xf2, 0x6b, 0x06, 0xe6, 0xcc,
+	0x53, 0xd7, 0x6e, 0x78, 0xd1, 0x49, 0xc0, 0x08, 0x3b, 0xe9, 0x5b, 0xcc, 0xa4, 0x7f, 0x31, 0xb9,
+	0xdf, 0x32, 0x30, 0xef, 0xd3, 0x95, 0x5a, 0xea, 0xdb, 0xfe, 0x8c, 0xe2, 0xba, 0x3b, 0xa3, 0xe8,
+	0xe3, 0x1f, 0x31, 0xa7, 0xb8, 0x6f, 0xe7, 0x14, 0xa3, 0x39, 0xc4, 0x67, 0x71, 0x58, 0xee, 0x45,
+	0x76, 0xeb, 0xae, 0xaf, 0x31, 0x42, 0x49, 0x7c, 0xbe, 0xdb, 0xb5, 0xf7, 0xfd, 0xa1, 0x6e, 0xbd,
+	0xff, 0xb0, 0x09, 0x50, 0xe9, 0x65, 0x19, 0xe0, 0x0f, 0xdc, 0xe8, 0x96, 0x77, 0x5c, 0xba, 0x85,
+	0x43, 0xc2, 0xc4, 0x6f, 0xc2, 0x25, 0x0b, 0x28, 0x70, 0xae, 0x8a, 0xed, 0x4b, 0x30, 0x12, 0x45,
+	0xd2, 0xc2, 0xbc, 0xd9, 0xec, 0x5c, 0xac, 0x52, 0x68, 0xb4, 0xc1, 0x7d, 0x9d, 0x84, 0x85, 0xb2,
+	0xda, 0xc0, 0x55, 0x43, 0x6a, 0x8e, 0x02, 0x1a, 0x7e, 0xbb, 0x1f, 0x83, 0x89, 0x7b, 0xd7, 0x33,
+	0x58, 0xea, 0x30, 0xd0, 0x0b, 0xca, 0xc1, 0xac, 0x6e, 0x48, 0x4d, 0xcb, 0x83, 0x24, 0xad, 0x89,
+	0x0d, 0xb1, 0x23, 0x19, 0xcf, 0xa8, 0x7b, 0x5c, 0xa4, 0x4d, 0x35, 0xab, 0x65, 0x4f, 0x32, 0x9e,
+	0x05, 0x63, 0x79, 0xc9, 0x91, 0xb1, 0xbc, 0xf7, 0xfc, 0xe5, 0xf4, 0x9d, 0x01, 0x73, 0x89, 0x38,
+	0x07, 0x3f, 0x08, 0xc1, 0xe9, 0x5e, 0x1b, 0x20, 0x72, 0x30, 0x3e, 0x77, 0x7e, 0x5c, 0xea, 0x1b,
+	0x86, 0xf8, 0x2e, 0xc3, 0xa5, 0xbe, 0xc9, 0xd3, 0xa8, 0xdb, 0x84, 0xac, 0xd9, 0xb4, 0xaf, 0xe8,
+	0x23, 0x9a, 0x63, 0x88, 0xc5, 0xc4, 0x43, 0x2c, 0x86, 0x5b, 0x84, 0xcb, 0x01, 0x03, 0x51, 0x2d,
+	0x7e, 0x9f, 0x22, 0x6a, 0x8c, 0x8e, 0x36, 0x7f, 0x18, 0xe6, 0x15, 0x6f, 0xb8, 0xb7, 0x3d, 0x10,
+	0x98, 0x7d, 0x19, 0x7e, 0x71, 0x15, 0x26, 0xdd, 0x7c, 0xf4, 0xe4, 0x30, 0x06, 0x38, 0x4e, 0xea,
+	0x5c, 0x20, 0xf8, 0x98, 0x0f, 0x04, 0x2f, 0xf5, 0x9c, 0x6a, 0xdc, 0x9b, 0x0d, 0x86, 0x2e, 0x45,
+	0x84, 0x5b, 0x3d, 0xed, 0x73, 0xab, 0xb4, 0x17, 0x59, 0x0f, 0x15, 0xfa, 0x3f, 0xe0, 0x58, 0xd4,
+	0xa8, 0x03, 0x21, 0x6f, 0xee, 0x29, 0xb0, 0xc4, 0xe2, 0x47, 0x07, 0xa1, 0x7d, 0x66, 0x14, 0xf7,
+	0x9b, 0x11, 0xb7, 0x0c, 0x8b, 0x81, 0xb2, 0xe9, 0xd0, 0x87, 0x44, 0xaf, 0x6d, 0x4c, 0x31, 0x8c,
+	0xaa, 0x21, 0x19, 0xfa, 0xb0, 0x23, 0xd3, 0x46, 0xf7, 0xc8, 0x84, 0x64, 0x8d, 0xbc, 0x4d, 0x66,
+	0xe5, 0x17, 0x4d, 0xcf, 0xce, 0x57, 0x21, 0xd5, 0xb5, 0xe0, 0x38, 0x92, 0xfc, 0xcc, 0x7a, 0x4d,
+	0x7a, 0xdf, 0x6c, 0x12, 0x08, 0x07, 0xf7, 0x3b, 0x06, 0x26, 0x5d, 0x64, 0xb4, 0x04, 0x13, 0x4e,
+	0x75, 0x6e, 0xe7, 0xe9, 0x0e, 0xc1, 0xdc, 0x03, 0x43, 0x35, 0xa4, 0x16, 0xbd, 0xe1, 0x25, 0x1f,
+	0x66, 0x69, 0xd5, 0xd5, 0x31, 0x49, 0xe3, 0x12, 0x82, 0xf5, 0x1f, 0xdd, 0x85, 0x64, 0x57, 0x91,
+	0x0d, 0xcb, 0xf7, 0x66, 0xfc, 0x4e, 0x65, 0x0d, 0x95, 0xdb, 0x57, 0x64, 0x43, 0xb0, 0xb8, 0xb8,
+	0xdb, 0x90, 0x34, 0xbf, 0xbc, 0x45, 0xec, 0x04, 0xa4, 0x36, 0x0e, 0x6b, 0x7c, 0x35, 0xc3, 0x20,
+	0x80, 0xb1, 0x62, 0xb9, 0xb2, 0xc9, 0x57, 0x33, 0x71, 0x6e, 0xc9, 0x99, 0x7a, 0x10, 0x48, 0xf0,
+	0x11, 0xd9, 0x92, 0x30, 0x78, 0x20, 0x1f, 0x08, 0x0f, 0x2c, 0x7b, 0x0e, 0xa7, 0x01, 0xc0, 0xc0,
+	0xcf, 0xe3, 0x30, 0x1f, 0xc8, 0x87, 0xee, 0xbb, 0x21, 0x81, 0x6b, 0x91, 0x32, 0xdd, 0x60, 0xc0,
+	0x9f, 0x18, 0x02, 0x06, 0x3c, 0xf0, 0x80, 0x01, 0xb7, 0x06, 0xf6, 0x77, 0xc3, 0x00, 0xdf, 0x0f,
+	0x41, 0x01, 0xaa, 0xb5, 0xfc, 0x36, 0x2f, 0xee, 0x97, 0xc9, 0xaf, 0x83, 0x02, 0xcc, 0x41, 0xc6,
+	0xac, 0xea, 0xe9, 0xdb, 0xb4, 0x6a, 0x2d, 0x5f, 0xab, 0x66, 0xe2, 0xfd, 0x15, 0x78, 0x02, 0xdd,
+	0x84, 0x6b, 0x5b, 0x02, 0xcf, 0x3f, 0x35, 0x65, 0xd0, 0x3f, 0xb4, 0xd3, 0x56, 0xb1, 0xc4, 0x57,
+	0x0f, 0xab, 0x35, 0x7e, 0x37, 0x93, 0x74, 0x0a, 0xf5, 0x39, 0x40, 0x74, 0xf5, 0xdd, 0xaf, 0x2f,
+	0x3f, 0x67, 0x60, 0xd6, 0x43, 0xa6, 0x9b, 0xe1, 0xba, 0xe4, 0x61, 0x3c, 0x97, 0x3c, 0x6b, 0x30,
+	0x67, 0xd6, 0x1a, 0xc4, 0xde, 0x75, 0xb1, 0x83, 0x35, 0xd1, 0x6c, 0xa1, 0x56, 0x77, 0xb1, 0x2d,
+	0x9d, 0x52, 0x50, 0x70, 0x0f, 0x6b, 0xa6, 0xe0, 0x17, 0x00, 0x83, 0x71, 0x3f, 0x61, 0xc8, 0xf1,
+	0x3c, 0x72, 0x5e, 0x3e, 0xc8, 0x57, 0x03, 0x12, 0xf7, 0xc4, 0xf0, 0x89, 0x3b, 0x97, 0x27, 0x67,
+	0xf2, 0x39, 0x72, 0x64, 0x4e, 0x82, 0x6b, 0xa6, 0x88, 0x2d, 0x0d, 0xe3, 0x4f, 0xe9, 0x99, 0xbf,
+	0x25, 0xb7, 0xb0, 0x7e, 0xa6, 0x1b, 0xb8, 0xfd, 0x62, 0xe2, 0xd1, 0x0d, 0xe0, 0xa2, 0x86, 0xa0,
+	0x01, 0xb1, 0x0e, 0xd7, 0x49, 0xbc, 0x3c, 0x7e, 0x89, 0xaa, 0xdc, 0x82, 0x1b, 0xd1, 0x83, 0x10,
+	0x65, 0xd6, 0xff, 0xc3, 0x40, 0xba, 0xd8, 0xc0, 0x8a, 0x61, 0xba, 0x6e, 0x19, 0xa6, 0x3d, 0x6f,
+	0x76, 0xd1, 0x52, 0xc8, 0x53, 0x5e, 0x4b, 0x43, 0x76, 0x39, 0xf2, 0xa1, 0x2f, 0x17, 0x43, 0xc7,
+	0xae, 0xf7, 0xc6, 0x1e, 0xf0, 0xf7, 0x46, 0x5f, 0xcf, 0x80, 0x28, 0xc6, 0xde, 0x1c, 0xc0, 0xe5,
+	0x8c, 0xf3, 0x26, 0xa4, 0xac, 0x17, 0x9e, 0x68, 0xce, 0x79, 0xc3, 0xea, 0x7a, 0x00, 0xca, 0xce,
+	0xfb, 0xa8, 0x76, 0xbf, 0xf5, 0x7f, 0xa6, 0x01, 0x7a, 0x05, 0x18, 0x7a, 0x0c, 0x53, 0xee, 0x47,
+	0x66, 0x68, 0x31, 0xe2, 0x89, 0x23, 0xbb, 0x14, 0xdc, 0xe8, 0xe8, 0xf4, 0x18, 0xa6, 0xdc, 0x4f,
+	0x1a, 0x7a, 0xc2, 0x02, 0x9e, 0x55, 0xf4, 0x84, 0x05, 0xbe, 0x82, 0x88, 0xa1, 0x16, 0x5c, 0x0a,
+	0xb9, 0xd4, 0x46, 0xb7, 0x86, 0xbb, 0xfa, 0x67, 0x5f, 0x19, 0xf2, 0x76, 0x9c, 0x8b, 0x21, 0x0d,
+	0x2e, 0x87, 0xde, 0xe5, 0xa2, 0xd5, 0x61, 0x6f, 0x9a, 0xd9, 0x57, 0x87, 0xe0, 0x74, 0xc6, 0xec,
+	0x02, 0x1b, 0x7e, 0x81, 0x84, 0x5e, 0x1d, 0xfa, 0x66, 0x93, 0xbd, 0x3d, 0xfc, 0x7d, 0x14, 0x17,
+	0x43, 0x3b, 0x30, 0xe9, 0xba, 0x5d, 0x41, 0x6c, 0xe0, 0x95, 0x0b, 0x11, 0xbc, 0x18, 0x71, 0x1d,
+	0x43, 0x24, 0xb9, 0x6e, 0x00, 0x7a, 0x92, 0xfa, 0xaf, 0x32, 0x7a, 0x92, 0x02, 0xae, 0x0c, 0xfc,
+	0xcb, 0xef, 0x3b, 0xc2, 0x83, 0x96, 0x3f, 0x38, 0x07, 0x08, 0x5a, 0xfe, 0x90, 0x7c, 0x80, 0x8b,
+	0xa1, 0xf7, 0x61, 0xc6, 0x0b, 0x77, 0xa2, 0xe5, 0x48, 0xd8, 0x96, 0xbd, 0x12, 0xd6, 0xec, 0x16,
+	0xe9, 0x45, 0xd7, 0x7a, 0x22, 0x03, 0x51, 0xbe, 0x9e, 0xc8, 0x10, 0x50, 0x2e, 0x66, 0xc6, 0x27,
+	0x0f, 0x72, 0xd5, 0x8b, 0x4f, 0x41, 0x60, 0x5d, 0x2f, 0x3e, 0x05, 0xc2, 0x5d, 0x5c, 0x0c, 0xc9,
+	0xb0, 0x10, 0x8c, 0xbf, 0xa0, 0x9b, 0x43, 0xe1, 0x42, 0xec, 0xad, 0x41, 0x6c, 0x4e, 0xa8, 0xf9,
+	0xeb, 0x38, 0x24, 0xad, 0x43, 0xba, 0x06, 0x17, 0x7c, 0xf5, 0x2f, 0xba, 0x12, 0x8d, 0x0a, 0xb0,
+	0x57, 0x43, 0xdb, 0x9d, 0x99, 0x3c, 0x85, 0x8b, 0x7d, 0x15, 0x2d, 0x5a, 0x71, 0xf7, 0x0b, 0xaa,
+	0xaa, 0xd9, 0x6b, 0x11, 0x1c, 0x7e, 0xd9, 0xde, 0xb0, 0xb3, 0x32, 0xa8, 0xe4, 0xf2, 0xca, 0x0e,
+	0x0b, 0x35, 0x1f, 0x91, 0x9c, 0xc8, 0x1f, 0x64, 0x38, 0xaf, 0x5e, 0x81, 0xe1, 0xe5, 0x7a, 0x24,
+	0x8f, 0x33, 0xc2, 0x87, 0x4e, 0x32, 0xe6, 0xaa, 0x11, 0x90, 0x47, 0xb9, 0xc0, 0xd2, 0x84, 0xe5,
+	0xa2, 0x58, 0x1c, 0xf1, 0x4f, 0x20, 0xe3, 0x4f, 0x4c, 0x90, 0x67, 0xbf, 0x82, 0xcc, 0x66, 0x25,
+	0x9c, 0xc1, 0x1d, 0x10, 0xc3, 0x73, 0x89, 0x5e, 0x40, 0x1c, 0x98, 0xd2, 0xf4, 0x02, 0xe2, 0x10,
+	0xa9, 0x49, 0x0c, 0x7d, 0x0f, 0x96, 0xa2, 0xf2, 0x06, 0x74, 0xc7, 0xbb, 0xea, 0x91, 0x29, 0x0c,
+	0x7b, 0x77, 0x38, 0x66, 0xbf, 0x35, 0xf8, 0x63, 0x9e, 0x7f, 0x27, 0x82, 0xa2, 0xdd, 0xf5, 0x48,
+	0x1e, 0x77, 0x94, 0x76, 0xe5, 0xe0, 0xbd, 0x28, 0xdd, 0x9f, 0xaf, 0xf7, 0xa2, 0x74, 0x40, 0xd2,
+	0xce, 0xc5, 0x1e, 0xbc, 0x0d, 0x50, 0xd7, 0x65, 0x91, 0x40, 0x13, 0x68, 0xb9, 0xef, 0x62, 0x65,
+	0x4b, 0xc6, 0xad, 0x46, 0xa5, 0x63, 0xc8, 0xaa, 0xa2, 0x67, 0x7f, 0x99, 0xb6, 0x70, 0x91, 0x89,
+	0xba, 0x2e, 0x13, 0x84, 0x60, 0x23, 0xf5, 0x34, 0x51, 0xd7, 0xe5, 0xa3, 0x31, 0x8b, 0xff, 0xf5,
+	0xff, 0x06, 0x00, 0x00, 0xff, 0xff, 0x5d, 0xd5, 0x5f, 0xa1, 0x55, 0x36, 0x00, 0x00,
 }
diff --git a/spec.md b/spec.md
index 7b7fdf50..b30e0772 100644
--- a/spec.md
+++ b/spec.md
@@ -359,10 +359,14 @@ service Node {
   rpc NodeGetVolumeStats (NodeGetVolumeStatsRequest)
     returns (NodeGetVolumeStatsResponse) {}
 
-
   rpc NodeExpandVolume(NodeExpandVolumeRequest)
     returns (NodeExpandVolumeResponse) {}
 
+  rpc NodeFreezeVolumeFilesystem(NodeFreezeVolumeFilesystemRequest)
+    returns (NodeFreezeVolumeFilesystemResponse) {}
+
+  rpc NodeUnfreezeVolumeFilesystem(NodeUnfreezeVolumeFilesystemRequest)
+    returns (NodeUnfreezeVolumeFilesystemResponse) {}
 
   rpc NodeGetCapabilities (NodeGetCapabilitiesRequest)
     returns (NodeGetCapabilitiesResponse) {}
@@ -2214,6 +2218,9 @@ message NodeServiceCapability {
       GET_VOLUME_STATS = 2;
       // See VolumeExpansion for details.
       EXPAND_VOLUME = 3;
+      // See NodeFreezeVolumeFilesystem and
+      // NodeUnfreezeVolumeFilesystem for details.
+      FREEZE_UNFREEZE_VOLUME_FILESYSTEM = 4;
     }
 
     Type type = 1;
@@ -2331,6 +2338,83 @@ message NodeExpandVolumeResponse {
 | 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. |
 | 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. |
 
+#### `NodeFreezeVolumeFilesystem`
+
+A Node Plugin MUST implement this RPC call if it has `FREEZE_UNFREEZE_VOLUME_FILESYSTEM` node capability.
+This RPC call allows CO to freeze volume filesystem on a node.
+
+`NodeFreezeVolumeFilesystem` ONLY supports the freeze operation of already node-published or node-staged volumes on the given `volume_path`.
+
+`NodeFreezeVolumeFilesystem` MUST be called after successful `NodePublishVolume`.
+
+After `NodeFreezeVolumeFilesystem` is called and the filesystem is still frozen, `NodeUnpublishVolume` and `NodeUnstageVolume` SHALL not be called before `NodeUnfreezeVolumeFilesystem` is called and completed successfully.
+
+`NodeFreezeVolumeFilesystem` is idempotent.
+If `NodeFreezeVolumeFilesystem` is already called, subsequent calls to this RPC with same `volume_id` and `volume_path` should return the same results.
+
+`NodeFreezeVolumeFilesystem` is synchronous.
+It blocks until the call is completed successfully or fails.
+
+CO MAY call `NodeFreezeVolumeFilesystem` before calling `CreateSnapshot` to prepare for the snapshotting.
+
+CO SHALL call `NodeUnfreezeVolumeFilesystem` after `CreateSnapshot` call is returned and the snapshot is cut if `NodeFreezeVolumeFilesystem` was called before the `CreateSnapshot` call.
+
+
+```protobuf
+message NodeFreezeVolumeFilesystemRequest {
+  // The ID of the volume. This field is REQUIRED.
+  string volume_id = 1;
+
+  // It can be any valid path where volume was previously
+  // staged or published.
+  // It MUST be an absolute path in the root filesystem of
+  // the process serving this request.
+  // This is a REQUIRED field.
+  string volume_path = 2;
+}
+
+message NodeFreezeVolumeFilesystemResponse {
+}
+```
+
+##### NodeFreezeVolumeFilesystem Errors
+
+
+#### `NodeUnfreezeVolumeFilesystem`
+
+A Node Plugin MUST implement this RPC call if it has `FREEZE_UNFREEZE_VOLUME_FILESYSTEM` node capability.
+This RPC call allows CO to unfreeze volume filesystem on a node.
+
+`NodeUnfreezeVolumeFilesystem` ONLY supports the unfreeze operation of already node-published or node-staged volumes on the given `volume_path`.
+
+`NodeUnfreezeVolumeFilesystem` MUST be called after successful `NodeFreezeVolumeFilesystem`.
+`NodeUnfreezeVolumeFilesystem` MUST NOT be called if `NodeFreezeVolumeFilesystem` is not called successfully.
+
+`NodeUnfreezeVolumeFilesystem` is idempotent.
+If `NodeUnfreezeVolumeFilesystem` is already called, subsequent calls to this RPC with same `volume_id` and `volume_path` should return the same results.
+
+`NodeUnfreezeVolumeFilesystem` is synchronous.
+It blocks until the call is completed successfully or fails.
+
+```protobuf
+message NodeUnfreezeVolumeFilesystemRequest {
+  // The ID of the volume. This field is REQUIRED.
+  string volume_id = 1;
+
+  // It can be any valid path where volume was previously
+  // staged or published.
+  // It MUST be an absolute path in the root filesystem of
+  // the process serving this request.
+  // This is a REQUIRED field.
+  string volume_path = 2;
+}
+
+message NodeUnfreezeVolumeFilesystemResponse {
+}
+```
+
+##### NodeUnfreezeVolumeFilesystem Errors
+
 ## Protocol
 
 ### Connectivity