UPSTREAM: 54607: fix azure pv crash due to volumeSource.ReadOnly value nil
@@ -42,10 +42,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,
}
}
@@ -90,7 +94,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")
}
@@ -134,7 +138,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)
}
