go-ceph/cephfs/errors.go
John Mulligan f584aef60f cephfs: consolidate error types & values in an errors.go file
Signed-off-by: John Mulligan <jmulligan@redhat.com>
2020-04-06 17:10:09 -04:00

36 lines
645 B
Go

package cephfs
/*
#include <errno.h>
*/
import "C"
import (
"fmt"
"github.com/ceph/go-ceph/internal/errutil"
)
// revive:disable:exported Temporarily live with stuttering
// CephFSError represents an error condition returned from the CephFS APIs.
type CephFSError int
// revive:enable:exported
// Error returns the error string for the CephFSError type.
func (e CephFSError) Error() string {
errno, s := errutil.FormatErrno(int(e))
if s == "" {
return fmt.Sprintf("cephfs: ret=%d", errno)
}
return fmt.Sprintf("cephfs: ret=%d, %s", errno, s)
}
func getError(e C.int) error {
if e == 0 {
return nil
}
return CephFSError(e)
}