@@ -30,7 +30,7 @@ type nfsDriver struct {
3030
3131 //ids *identityServer
3232 ns * nodeServer
33- cap [] * csi.VolumeCapability_AccessMode
33+ cap map [ csi.VolumeCapability_AccessMode_Mode ] bool
3434 cscap []* csi.ControllerServiceCapability
3535}
3636
@@ -50,9 +50,18 @@ func NewNFSdriver(nodeID, endpoint string) *nfsDriver {
5050 version : version ,
5151 nodeID : nodeID ,
5252 endpoint : endpoint ,
53+ cap : map [csi.VolumeCapability_AccessMode_Mode ]bool {},
5354 }
5455
55- n .AddVolumeCapabilityAccessModes ([]csi.VolumeCapability_AccessMode_Mode {csi .VolumeCapability_AccessMode_MULTI_NODE_MULTI_WRITER })
56+ vcam := []csi.VolumeCapability_AccessMode_Mode {
57+ csi .VolumeCapability_AccessMode_SINGLE_NODE_WRITER ,
58+ csi .VolumeCapability_AccessMode_SINGLE_NODE_READER_ONLY ,
59+ csi .VolumeCapability_AccessMode_MULTI_NODE_READER_ONLY ,
60+ csi .VolumeCapability_AccessMode_MULTI_NODE_SINGLE_WRITER ,
61+ csi .VolumeCapability_AccessMode_MULTI_NODE_MULTI_WRITER ,
62+ }
63+ n .AddVolumeCapabilityAccessModes (vcam )
64+
5665 // NFS plugin does not support ControllerServiceCapability now.
5766 // If support is added, it should set to appropriate
5867 // ControllerServiceCapability RPC types.
@@ -83,8 +92,8 @@ func (n *nfsDriver) AddVolumeCapabilityAccessModes(vc []csi.VolumeCapability_Acc
8392 for _ , c := range vc {
8493 glog .Infof ("Enabling volume access mode: %v" , c .String ())
8594 vca = append (vca , & csi.VolumeCapability_AccessMode {Mode : c })
95+ n .cap [c ] = true
8696 }
87- n .cap = vca
8897 return vca
8998}
9099
0 commit comments