diff --git a/pkg/volume/fc/attacher.go b/pkg/volume/fc/attacher.go index 4a431fd9928..2d1598864b0 100644 --- a/pkg/volume/fc/attacher.go +++ b/pkg/volume/fc/attacher.go @@ -217,20 +217,22 @@ func volumeSpecToMounter(spec *volume.Spec, host volume.VolumeHost) (*fcDiskMoun } klog.V(5).Infof("fc: volumeSpecToMounter volumeMode %s", volumeMode) return &fcDiskMounter{ - fcDisk: fcDisk, - fsType: fc.FSType, - volumeMode: volumeMode, - readOnly: readOnly, - mounter: volumeutil.NewSafeFormatAndMountFromHost(fcPluginName, host), - deviceUtil: volumeutil.NewDeviceHandler(volumeutil.NewIOHandler()), + fcDisk: fcDisk, + fsType: fc.FSType, + volumeMode: volumeMode, + readOnly: readOnly, + mounter: volumeutil.NewSafeFormatAndMountFromHost(fcPluginName, host), + deviceUtil: volumeutil.NewDeviceHandler(volumeutil.NewIOHandler()), + mountOptions: volumeutil.MountOptionFromSpec(spec), }, nil } return &fcDiskMounter{ - fcDisk: fcDisk, - fsType: fc.FSType, - readOnly: readOnly, - mounter: volumeutil.NewSafeFormatAndMountFromHost(fcPluginName, host), - deviceUtil: volumeutil.NewDeviceHandler(volumeutil.NewIOHandler()), + fcDisk: fcDisk, + fsType: fc.FSType, + readOnly: readOnly, + mounter: volumeutil.NewSafeFormatAndMountFromHost(fcPluginName, host), + deviceUtil: volumeutil.NewDeviceHandler(volumeutil.NewIOHandler()), + mountOptions: volumeutil.MountOptionFromSpec(spec), }, nil } diff --git a/pkg/volume/fc/fc.go b/pkg/volume/fc/fc.go index dfc2aa9d062..60a6b887516 100644 --- a/pkg/volume/fc/fc.go +++ b/pkg/volume/fc/fc.go @@ -93,7 +93,7 @@ func (plugin *fcPlugin) RequiresRemount() bool { } func (plugin *fcPlugin) SupportsMountOption() bool { - return false + return true } func (plugin *fcPlugin) SupportsBulkVolumeVerification() bool { @@ -148,7 +148,7 @@ func (plugin *fcPlugin) newMounterInternal(spec *volume.Spec, podUID types.UID, readOnly: readOnly, mounter: &mount.SafeFormatAndMount{Interface: mounter, Exec: exec}, deviceUtil: util.NewDeviceHandler(util.NewIOHandler()), - mountOptions: []string{}, + mountOptions: util.MountOptionFromSpec(spec), }, nil } return &fcDiskMounter{ diff --git a/pkg/volume/fc/fc_util.go b/pkg/volume/fc/fc_util.go index 9fec400e8f1..fe6d4c70667 100644 --- a/pkg/volume/fc/fc_util.go +++ b/pkg/volume/fc/fc_util.go @@ -268,7 +268,7 @@ func (util *fcUtil) AttachDisk(b fcDiskMounter) (string, error) { return devicePath, nil } - err = b.mounter.FormatAndMount(devicePath, globalPDPath, b.fsType, nil) + err = b.mounter.FormatAndMount(devicePath, globalPDPath, b.fsType, b.mountOptions) if err != nil { return devicePath, fmt.Errorf("fc: failed to mount fc volume %s [%s] to %s, error %v", devicePath, b.fsType, globalPDPath, err) }