From: Ramana Raja Date: Thu, 12 Jan 2023 02:53:16 +0000 (-0500) Subject: pybind/rados: add ConnectionShutdown exception class X-Git-Tag: v18.1.0~95^2~6 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=f591d517695ca32852baa5a67c39311550ec4cda;p=ceph-ci.git pybind/rados: add ConnectionShutdown exception class Signed-off-by: Ramana Raja (cherry picked from commit e452899013323def87a8b9e6edbdae66067a827c) --- diff --git a/src/pybind/rados/rados.pyx b/src/pybind/rados/rados.pyx index b8ae8165c6c..d7b68b4ac90 100644 --- a/src/pybind/rados/rados.pyx +++ b/src/pybind/rados/rados.pyx @@ -224,6 +224,13 @@ class IsConnected(Error): "RADOS is connected error (%s)" % message, errno) +class ConnectionShutdown(OSError): + """ `ConnectionShutdown` class, derived from `OSError` """ + def __init__(self, message, errno=None): + super(ConnectionShutdown, self).__init__( + "RADOS connection was shutdown (%s)" % message, errno) + + IF UNAME_SYSNAME == "FreeBSD": cdef errno_to_exception = { errno.EPERM : PermissionError, @@ -240,6 +247,7 @@ IF UNAME_SYSNAME == "FreeBSD": errno.EISCONN : IsConnected, errno.EINVAL : InvalidArgumentError, errno.ENOTCONN : NotConnected, + errno.ESHUTDOWN : ConnectionShutdown, } ELSE: cdef errno_to_exception = { @@ -257,6 +265,7 @@ ELSE: errno.EISCONN : IsConnected, errno.EINVAL : InvalidArgumentError, errno.ENOTCONN : NotConnected, + errno.ESHUTDOWN : ConnectionShutdown, }