fix azure pv crash due to readOnly nil

This commit is contained in:
andyzhangx 2017-10-26 06:51:03 +00:00
parent 52d87de107
commit 9f2922c15a

View File

@ -43,10 +43,14 @@ var _ volume.Unmounter = &azureDiskUnmounter{}
var _ volume.Mounter = &azureDiskMounter{}
func (m *azureDiskMounter) GetAttributes() volume.Attributes {
volumeSource, _ := getVolumeSource(m.spec)
readOnly := false
volumeSource, err := getVolumeSource(m.spec)
if err != nil && volumeSource.ReadOnly != nil {
readOnly = *volumeSource.ReadOnly
}
return volume.Attributes{
ReadOnly: *volumeSource.ReadOnly,
Managed: !*volumeSource.ReadOnly,
ReadOnly: readOnly,
Managed: !readOnly,
SupportsSELinux: true,
}
}
@ -94,7 +98,7 @@ func (m *azureDiskMounter) SetUpAt(dir string, fsGroup *int64) error {
options := []string{"bind"}
if *volumeSource.ReadOnly {
if volumeSource.ReadOnly != nil && *volumeSource.ReadOnly {
options = append(options, "ro")
}
@ -138,7 +142,7 @@ func (m *azureDiskMounter) SetUpAt(dir string, fsGroup *int64) error {
return mountErr
}
if !*volumeSource.ReadOnly {
if volumeSource.ReadOnly == nil || !*volumeSource.ReadOnly {
volume.SetVolumeOwnership(m, fsGroup)
}