cephfs: check error output contains Error: ENOENT

execCommandErr returns both error and stderror
message. checking strings.HasPrefix is not helpful
as the stderr will be the first string. its good
to do string comparison and find out that error
is volume not found error.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
This commit is contained in:
Madhu Rajanna 2020-08-18 07:55:10 +05:30 committed by mergify[bot]
parent 25899b0123
commit 31c7c95fdb

View File

@ -252,7 +252,7 @@ func purgeVolume(ctx context.Context, volID volumeID, cr *util.Credentials, volO
err := execCommandErr(ctx, "ceph", arg...) err := execCommandErr(ctx, "ceph", arg...)
if err != nil { if err != nil {
util.ErrorLog(ctx, "failed to purge subvolume %s(%s) in fs %s", string(volID), err, volOptions.FsName) util.ErrorLog(ctx, "failed to purge subvolume %s(%s) in fs %s", string(volID), err, volOptions.FsName)
if strings.HasPrefix(err.Error(), ErrVolumeNotFound.Error()) { if strings.Contains(err.Error(), ErrVolumeNotFound.Error()) {
return util.JoinErrors(ErrVolumeNotFound, err) return util.JoinErrors(ErrVolumeNotFound, err)
} }
return err return err