@@ -31,7 +31,7 @@ type nfsDriver struct {
3131
3232 //ids *identityServer
3333 ns * nodeServer
34- cap [] * csi.VolumeCapability_AccessMode
34+ cap map [ csi.VolumeCapability_AccessMode_Mode ] bool
3535 cscap []* csi.ControllerServiceCapability
3636}
3737
@@ -51,9 +51,18 @@ func NewNFSdriver(nodeID, endpoint string) *nfsDriver {
5151 version : version ,
5252 nodeID : nodeID ,
5353 endpoint : endpoint ,
54+ cap : map [csi.VolumeCapability_AccessMode_Mode ]bool {},
5455 }
5556
56- n .AddVolumeCapabilityAccessModes ([]csi.VolumeCapability_AccessMode_Mode {csi .VolumeCapability_AccessMode_MULTI_NODE_MULTI_WRITER })
57+ vcam := []csi.VolumeCapability_AccessMode_Mode {
58+ csi .VolumeCapability_AccessMode_SINGLE_NODE_WRITER ,
59+ csi .VolumeCapability_AccessMode_SINGLE_NODE_READER_ONLY ,
60+ csi .VolumeCapability_AccessMode_MULTI_NODE_READER_ONLY ,
61+ csi .VolumeCapability_AccessMode_MULTI_NODE_SINGLE_WRITER ,
62+ csi .VolumeCapability_AccessMode_MULTI_NODE_MULTI_WRITER ,
63+ }
64+ n .AddVolumeCapabilityAccessModes (vcam )
65+
5766 // NFS plugin does not support ControllerServiceCapability now.
5867 // If support is added, it should set to appropriate
5968 // ControllerServiceCapability RPC types.
@@ -86,8 +95,8 @@ func (n *nfsDriver) AddVolumeCapabilityAccessModes(vc []csi.VolumeCapability_Acc
8695 for _ , c := range vc {
8796 glog .Infof ("Enabling volume access mode: %v" , c .String ())
8897 vca = append (vca , & csi.VolumeCapability_AccessMode {Mode : c })
98+ n .cap [c ] = true
8999 }
90- n .cap = vca
91100 return vca
92101}
93102
0 commit comments