From e6493f64ba4592b8dca54ece4464efa6c7f331a7 Mon Sep 17 00:00:00 2001 From: "Yan, Zheng" Date: Fri, 12 May 2017 10:38:51 +0800 Subject: [PATCH] pybind: fix cephfs.OSError initialization Traceback (most recent call last): File "", line 1, in File "cephfs.pyx", line 672, in cephfs.LibCephFS.open (/home/zhyan/Ceph/ceph-2/build/src/pybind/cephfs/pyrex/cephfs.c:10160) File "cephfs.pyx", line 155, in cephfs.OSError.__init__ (/home/zhyan/Ceph/ceph-2/build/src/pybind/cephfs/pyrex/cephfs.c:1889) TypeError: __init__() takes exactly 3 positional arguments (2 given) Signed-off-by: "Yan, Zheng" --- src/pybind/cephfs/cephfs.pyx | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/pybind/cephfs/cephfs.pyx b/src/pybind/cephfs/cephfs.pyx index e7b4ec1e97e5..806e0ab4c375 100644 --- a/src/pybind/cephfs/cephfs.pyx +++ b/src/pybind/cephfs/cephfs.pyx @@ -356,7 +356,8 @@ cdef class LibCephFS(object): self.state = "uninitialized" if rados_inst is not None: if auth_id is not None or conffile is not None or conf is not None: - raise InvalidValue("May not pass RADOS instance as well as other configuration") + raise make_ex(errno.EINVAL, + "May not pass RADOS instance as well as other configuration") self.create_with_rados(rados_inst) else: @@ -669,8 +670,8 @@ cdef class LibCephFS(object): elif access_flags > 0 and c == '+': access_flags = 3; else: - raise OperationNotSupported( - "open flags doesn't support %s" % c) + raise make_ex(errno.EOPNOTSUPP, + "open flags doesn't support %s" % c) if access_flags == 1: cephfs_flags |= os.O_RDONLY; -- 2.47.3