]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
pybind: fix cephfs.OSError initialization 15000/head
authorYan, Zheng <zyan@redhat.com>
Fri, 12 May 2017 02:38:51 +0000 (10:38 +0800)
committerJan Fajerski <jfajerski@suse.com>
Wed, 14 Jun 2017 13:50:31 +0000 (15:50 +0200)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  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" <zyan@redhat.com>
(cherry picked from commit e6493f64ba4592b8dca54ece4464efa6c7f331a7)

src/pybind/cephfs/cephfs.pyx

index cc18fc984357a445a4ba822e084651939494e3c2..0ab2c74d1db0415311c9945695d6429890e5648f 100644 (file)
@@ -322,7 +322,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:
@@ -628,8 +629,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;