@@ -160,21 +160,34 @@ func (d *Driver) NodeStageVolume(ctx context.Context, req *csi.NodeStageVolumeRe
160160 }
161161 }
162162
163+ requireUsernamePwdOption := true
164+ for _ , v := range mountFlags {
165+ if v == "guest" {
166+ // in guest login, username and password options are not needed
167+ requireUsernamePwdOption = false
168+ break
169+ }
170+ }
171+
163172 var mountOptions , sensitiveMountOptions []string
164173 if runtime .GOOS == "windows" {
165174 if domain == "" {
166175 domain = defaultDomainName
167176 }
168- if ! strings .Contains (username , "\\ " ) {
169- username = fmt .Sprintf ("%s\\ %s" , domain , username )
177+ if requireUsernamePwdOption {
178+ if ! strings .Contains (username , "\\ " ) {
179+ username = fmt .Sprintf ("%s\\ %s" , domain , username )
180+ }
181+ mountOptions = []string {username }
182+ sensitiveMountOptions = []string {password }
170183 }
171- mountOptions = []string {username }
172- sensitiveMountOptions = []string {password }
173184 } else {
174185 if err := os .MkdirAll (targetPath , 0750 ); err != nil {
175186 return nil , status .Error (codes .Internal , fmt .Sprintf ("MkdirAll %s failed with error: %v" , targetPath , err ))
176187 }
177- sensitiveMountOptions = []string {fmt .Sprintf ("%s=%s,%s=%s" , usernameField , username , passwordField , password )}
188+ if requireUsernamePwdOption {
189+ sensitiveMountOptions = []string {fmt .Sprintf ("%s=%s,%s=%s" , usernameField , username , passwordField , password )}
190+ }
178191 mountOptions = mountFlags
179192 if ! gidPresent && volumeMountGroup != "" {
180193 mountOptions = append (mountOptions , fmt .Sprintf ("gid=%s" , volumeMountGroup ))
0 commit comments