From 1746b4e6ee23056ca55462f46aceb99fd1bf9a9b Mon Sep 17 00:00:00 2001 From: Humble Chirammal Date: Tue, 4 Aug 2020 00:13:31 +0530 Subject: [PATCH] cephfs: add various error strings for command validation Compared to previous version of the error strings, this change depend on error strings like ENOENT, EEXIST, EINVAL..etc The format of the error strings change in different cluster versions and the error code return should not change. This also add extra error strings for snapshot and clone operation outputs Signed-off-by: Humble Chirammal --- internal/cephfs/errors.go | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/internal/cephfs/errors.go b/internal/cephfs/errors.go index f9dc51f31..02fdaf8ba 100644 --- a/internal/cephfs/errors.go +++ b/internal/cephfs/errors.go @@ -16,7 +16,10 @@ limitations under the License. package cephfs -import "errors" +import ( + "errors" + "fmt" +) var ( // ErrInvalidVolID is returned when a CSI passed VolumeID is not conformant to any known volume ID @@ -25,6 +28,17 @@ var ( // ErrNonStaticVolume is returned when a volume is detected as not being // statically provisioned. ErrNonStaticVolume = errors.New("volume not static") + // ErrVolNotEmpty is returned when a subvolume has snapshots in it. + ErrVolNotEmpty = fmt.Errorf("%v", "Error ENOTEMPTY") // ErrVolumeNotFound is returned when a subvolume is not found in CephFS. - ErrVolumeNotFound = errors.New("volume not found") + ErrVolumeNotFound = fmt.Errorf("%v", "Error ENOENT") + // ErrInvalidCommand is returned when a command is not known to the cluster + ErrInvalidCommand = fmt.Errorf("%v", "Error EINVAL") + // ErrSnapNotFound is returned when snap name passed is not found in the list of snapshots for the + // given image. + ErrSnapNotFound = fmt.Errorf("%v", "Error ENOENT") + // ErrSnapProtectionExist is returned when the snapshot is already protected + ErrSnapProtectionExist = fmt.Errorf("%v", "Error EEXIST") + // ErrCloneInProgress is returned when snapshot clone state is `in progress` + ErrCloneInProgress = fmt.Errorf("in progress") )