diff --git a/pkg/wekafs/controllerserver.go b/pkg/wekafs/controllerserver.go index 3b71ef0a4..bfe9f9c37 100644 --- a/pkg/wekafs/controllerserver.go +++ b/pkg/wekafs/controllerserver.go @@ -18,6 +18,7 @@ package wekafs import ( "context" + "errors" "fmt" "github.com/container-storage-interface/spec/lib/go/csi" "github.com/rs/zerolog" @@ -365,6 +366,7 @@ func (cs *ControllerServer) DeleteVolume(ctx context.Context, req *csi.DeleteVol volume, err := NewVolumeFromId(ctx, volumeID, client, cs) if err != nil { // Should return ok on incorrect ID (by CSI spec) + logger.Error().Err(err).Str("volume_id", volumeID).Msg("Failed to create volume object from ID") result = "SUCCESS" return &csi.DeleteVolumeResponse{}, nil } @@ -382,7 +384,8 @@ func (cs *ControllerServer) DeleteVolume(ctx context.Context, req *csi.DeleteVol } // cleanup if err != nil { - if err == ErrFilesystemHasUnderlyingSnapshots { + logger.Error().Err(err).Msg("Failed to delete volume") + if errors.Is(err, ErrFilesystemHasUnderlyingSnapshots) { return &csi.DeleteVolumeResponse{}, err } return DeleteVolumeError(ctx, codes.Internal, err.Error()) diff --git a/pkg/wekafs/gc.go b/pkg/wekafs/gc.go index 891a56e0a..ab95e4eb3 100644 --- a/pkg/wekafs/gc.go +++ b/pkg/wekafs/gc.go @@ -38,6 +38,8 @@ func (gc *innerPathVolGc) triggerGc(ctx context.Context, fs string, apiClient *a } func (gc *innerPathVolGc) triggerGcVolume(ctx context.Context, volume *Volume) { + logger := log.Ctx(ctx).With().Str("volume_id", volume.GetId()).Logger() + logger.Info().Msg("Triggering garbage collection of volume") fsName := volume.FilesystemName gc.Lock() defer gc.Unlock() diff --git a/pkg/wekafs/mount.go b/pkg/wekafs/mount.go index cf02f2d55..b15931a09 100644 --- a/pkg/wekafs/mount.go +++ b/pkg/wekafs/mount.go @@ -46,7 +46,8 @@ func (m *wekaMount) incRef(ctx context.Context, apiClient *apiclient.ApiClient) return err } } else if !m.isMounted() { - logger.Warn().Str("mount_point", m.mountPoint).Int("refcount", m.refCount).Msg("Mount not exists although should!") + t := PathIsWekaMount(ctx, m.mountPoint) + logger.Warn().Str("mount_point", m.mountPoint).Int("refcount", m.refCount).Bool("is_mounted", t).Msg("Mount not exists although should!") if err := m.doMount(ctx, apiClient, m.mountOptions); err != nil { return err }