Commit 55808add authored by Humble Chirammal's avatar Humble Chirammal

Dont exit if 'mount.glusterfs -V' resulted in an error.

parent 6f7eac63
...@@ -379,6 +379,7 @@ func (b *glusterfsMounter) setUpAtInternal(dir string) error { ...@@ -379,6 +379,7 @@ func (b *glusterfsMounter) setUpAtInternal(dir string) error {
} }
options = append(options, "backup-volfile-servers="+dstrings.Join(addrlist[:], ":")) options = append(options, "backup-volfile-servers="+dstrings.Join(addrlist[:], ":"))
mountOptions := volume.JoinMountOptions(b.mountOptions, options)
//fetch client version. //fetch client version.
mountBinaryVerStr := "" mountBinaryVerStr := ""
...@@ -386,44 +387,43 @@ func (b *glusterfsMounter) setUpAtInternal(dir string) error { ...@@ -386,44 +387,43 @@ func (b *glusterfsMounter) setUpAtInternal(dir string) error {
cmdOut, err := b.exe.Command(linuxGlusterMountBinary, "-V").CombinedOutput() cmdOut, err := b.exe.Command(linuxGlusterMountBinary, "-V").CombinedOutput()
if err != nil { if err != nil {
return fmt.Errorf("Failed to get binary %s version", linuxGlusterMountBinary) glog.Warningf("Failed to get binary %q version", linuxGlusterMountBinary)
} } else {
//cmdOut will be filled as shown below. //cmdOut will be filled as shown below.
/* /*
[root@]# mount.glusterfs -V [root@]# mount.glusterfs -V
glusterfs 3.10.1 glusterfs 3.10.1
Repository revision: git://git.gluster.org/glusterfs.git Repository revision: git://git.gluster.org/glusterfs.git
Copyright (c) 2006-2016 Red Hat, Inc. <https://www.gluster.org/> Copyright (c) 2006-2016 Red Hat, Inc. <https://www.gluster.org/>
GlusterFS comes with ABSOLUTELY NO WARRANTY. GlusterFS comes with ABSOLUTELY NO WARRANTY.
......... .........
*/ */
parseStr := string(cmdOut) parseStr := string(cmdOut)
if parseStr != "" { if parseStr != "" {
//Store the version line from parseStr //Store the version line from parseStr
mountStrSlice := dstrings.Split(parseStr, "\n") mountStrSlice := dstrings.Split(parseStr, "\n")
if len(mountStrSlice) > 0 { if len(mountStrSlice) > 0 {
mountStr = mountStrSlice[0] mountStr = mountStrSlice[0]
} }
if mountStr != "" { if mountStr != "" {
// Get the [binary, version] slice. // Get the [binary, version] slice.
mountBinaryVerSlice := dstrings.Split(mountStr, " ") mountBinaryVerSlice := dstrings.Split(mountStr, " ")
if len(mountBinaryVerSlice) >= 2 { if len(mountBinaryVerSlice) >= 2 {
// Get the 'version' string in mountBinaryVerStr // Get the 'version' string in mountBinaryVerStr
mountBinaryVerStr = mountBinaryVerSlice[1] mountBinaryVerStr = mountBinaryVerSlice[1]
} }
}
} }
}
mountOptions := volume.JoinMountOptions(b.mountOptions, options) for i := len(mountOptions) - 1; i >= 0; i-- {
if mountOptions[i] == "auto_unmount" && mountBinaryVerStr != "" && mountBinaryVerStr < autoUnmountBinaryVer {
for i := len(mountOptions) - 1; i >= 0; i-- { mountOptions = append(mountOptions[:i], mountOptions[i+1:]...)
if mountOptions[i] == "auto_unmount" && mountBinaryVerStr != "" && mountBinaryVerStr < autoUnmountBinaryVer { }
mountOptions = append(mountOptions[:i], mountOptions[i+1:]...)
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment