From 20ac12112d95f9499132ab3f20685051257f7325 Mon Sep 17 00:00:00 2001 From: Riya Singhal Date: Mon, 20 Nov 2023 17:01:39 +0530 Subject: [PATCH] util: addresed few todo this commit replaces string comparsion with error code at few places Signed-off-by: Riya Singhal --- internal/cephfs/core/metadata.go | 8 +++----- internal/cephfs/core/snapshot_metadata.go | 8 +++----- internal/rbd/rbd_util.go | 6 ++---- 3 files changed, 8 insertions(+), 14 deletions(-) diff --git a/internal/cephfs/core/metadata.go b/internal/cephfs/core/metadata.go index 9e2b90d5f468..70dff077cb28 100644 --- a/internal/cephfs/core/metadata.go +++ b/internal/cephfs/core/metadata.go @@ -19,8 +19,8 @@ package core import ( "errors" "fmt" - "strings" + libceph "github.com/ceph/go-ceph/cephfs" fsAdmin "github.com/ceph/go-ceph/cephfs/admin" ) @@ -133,8 +133,7 @@ func (s *subVolumeClient) UnsetAllMetadata(keys []string) error { if errors.Is(err, ErrSubVolMetadataNotSupported) { return nil } - // TODO: replace string comparison with errno. - if err != nil && !strings.Contains(err.Error(), "No such file or directory") { + if err != nil && !errors.Is(err, libceph.ErrNotExist) { return fmt.Errorf("failed to unset metadata key %q on subvolume %v: %w", key, s, err) } } @@ -144,8 +143,7 @@ func (s *subVolumeClient) UnsetAllMetadata(keys []string) error { if errors.Is(err, ErrSubVolMetadataNotSupported) { return nil } - // TODO: replace string comparison with errno. - if err != nil && !strings.Contains(err.Error(), "No such file or directory") { + if err != nil && !errors.Is(err, libceph.ErrNotExist) { return fmt.Errorf("failed to unset metadata key %q on subvolume %v: %w", clusterNameKey, s, err) } diff --git a/internal/cephfs/core/snapshot_metadata.go b/internal/cephfs/core/snapshot_metadata.go index f168fbf8cd41..42ab8734302d 100644 --- a/internal/cephfs/core/snapshot_metadata.go +++ b/internal/cephfs/core/snapshot_metadata.go @@ -19,8 +19,8 @@ package core import ( "errors" "fmt" - "strings" + libceph "github.com/ceph/go-ceph/cephfs" fsAdmin "github.com/ceph/go-ceph/cephfs/admin" ) @@ -121,16 +121,14 @@ func (s *snapshotClient) UnsetAllSnapshotMetadata(keys []string) error { for _, key := range keys { err := s.removeSnapshotMetadata(key) - // TODO: replace string comparison with errno. - if err != nil && !strings.Contains(err.Error(), "No such file or directory") { + if err != nil && !errors.Is(err, libceph.ErrNotExist) { return fmt.Errorf("failed to unset metadata key %q on subvolume snapshot %s %s in fs %s: %w", key, s.SnapshotID, s.VolID, s.FsName, err) } } err := s.removeSnapshotMetadata(clusterNameKey) - // TODO: replace string comparison with errno. - if err != nil && !strings.Contains(err.Error(), "No such file or directory") { + if err != nil && !errors.Is(err, libceph.ErrNotExist) { return fmt.Errorf("failed to unset metadata key %q on subvolume snapshot %s %s in fs %s: %w", clusterNameKey, s.SnapshotID, s.VolID, s.FsName, err) } diff --git a/internal/rbd/rbd_util.go b/internal/rbd/rbd_util.go index 0fc7822495c9..08f9f759889a 100644 --- a/internal/rbd/rbd_util.go +++ b/internal/rbd/rbd_util.go @@ -2143,15 +2143,13 @@ func (rv *rbdVolume) setAllMetadata(parameters map[string]string) error { func (rv *rbdVolume) unsetAllMetadata(keys []string) error { for _, key := range keys { err := rv.RemoveMetadata(key) - // TODO: replace string comparison with errno. - if err != nil && !strings.Contains(err.Error(), "No such file or directory") { + if err != nil && !errors.Is(err, librbd.ErrNotExist) { return fmt.Errorf("failed to unset metadata key %q on %q: %w", key, rv, err) } } err := rv.RemoveMetadata(clusterNameKey) - // TODO: replace string comparison with errno. - if err != nil && !strings.Contains(err.Error(), "No such file or directory") { + if err != nil && !errors.Is(err, librbd.ErrNotExist) { return fmt.Errorf("failed to unset metadata key %q on %q: %w", clusterNameKey, rv, err) }