[Python-modules-commits] [python-llfuse] 06/16: Import python-llfuse_1.0+dfsg.orig.tar.gz

Nikolaus Rath nikratio-guest at moszumanska.debian.org
Tue Mar 8 17:38:02 UTC 2016


This is an automated email from the git hooks/post-receive script.

nikratio-guest pushed a commit to branch master
in repository python-llfuse.

commit c441e09526b2e3c753ab62694f9addc9fb57a4cf
Author: Nikolaus Rath <Nikolaus at rath.org>
Date:   Tue Mar 8 09:10:40 2016 -0800

    Import python-llfuse_1.0+dfsg.orig.tar.gz
---
 Changes.rst                  |   15 +
 PKG-INFO                     |    2 +-
 rst/install.rst              |   26 +-
 setup.py                     |    2 +-
 src/handlers.pxi             |    6 +-
 src/llfuse.c                 | 6866 ++++++++++++++++++++++--------------------
 src/llfuse.egg-info/PKG-INFO |    2 +-
 src/misc.pxi                 |   11 +-
 src/operations.pxi           |    4 -
 test/test_api.py             |    5 +
 10 files changed, 3600 insertions(+), 3339 deletions(-)

diff --git a/Changes.rst b/Changes.rst
index 348682b..08ccb9d 100644
--- a/Changes.rst
+++ b/Changes.rst
@@ -4,6 +4,21 @@
 
 .. currentmodule:: llfuse
 
+
+Release 1.0 (2016-03-08)
+========================
+
+**Note:** The 1.0 version number does not imply any special
+stability or an API freeze. It's a consequence of switching to
+semantic versioning, where backwards incompatible changes will
+always result in increased major version.
+
+* Fixed an overflow when accessing the ``*st_xtime_ns`` attributes of
+  the `~llfuse.EntryAttributes` class from Python on 32-bit systems.
+
+* POTENTIAL COMPATIBILITY BREAK: The `~Operations.destroy` handler is now
+  called with the global lock acquired.
+
 Release 0.43 (2016-02-23)
 =========================
 
diff --git a/PKG-INFO b/PKG-INFO
index a0634e1..bc25431 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: llfuse
-Version: 0.43
+Version: 1.0
 Summary: Python bindings for the low-level FUSE API
 Home-page: https://bitbucket.org/nikratio/python-llfuse/
 Author: Nikolaus Rath
diff --git a/rst/install.rst b/rst/install.rst
index a4c02df..a7c6c7e 100644
--- a/rst/install.rst
+++ b/rst/install.rst
@@ -20,6 +20,10 @@ In order to build and run Python-LLFUSE you need the following software:
 * the `attr`_ library
 * A C compiler (only for building)
 
+To run the unit tests, you will need
+
+* The `py.test`_ module.
+
 When using Linux, you also need:
 
 * Kernel 2.6.9 or newer. Starting with kernel
@@ -41,17 +45,16 @@ For OS-X, you need:
 Stable releases
 ===============
 
-Python-LLFUSE can be installed like any other Python extension. Make sure
-that you have all necessary dependencies installed (when installing
-packages from a distribution, make sure to also install the
-corresponding *-dev* or *-devel* development packages), then download
-and extract the Python-LLFUSE tarball and run ::
-
-  sudo python setup.py install
-
-or ::
+To install a stable Python-LLFUSE release:
 
-  python setup.py install --user
+1. Download and unpack the release tarball from https://pypi.python.org/pypi/llfuse/
+2. Run ``python setup.py build_ext --inplace`` to build the C extension
+3. Run ``python -m pytest test/`` to run a self-test. If this fails, ask
+   for help on the `FUSE mailing list`_  or report a bug in the
+   `issue tracker <https://bitbucket.org/nikratio/python-llfuse/issues>`_.
+4. To install system-wide for all users, run ``sudo python setup.py
+   install``. To install into :file:`~/.local`, run ``python
+   setup.py install --user``.
 
 
 Development Version
@@ -64,6 +67,7 @@ the necessary commands are::
 
   python setup.py build_cython
   python setup.py build_ext --inplace
+  python -m pytest test/
   python setup.py build_sphinx
   python setup.py install
 
@@ -71,6 +75,8 @@ the necessary commands are::
 .. _Cython: http://www.cython.org/
 .. _Sphinx: http://sphinx.pocoo.org/
 .. _Python: http://www.python.org/
+.. _FUSE mailing list: https://lists.sourceforge.net/lists/listinfo/fuse-devel
+.. _`py.test`: https://pypi.python.org/pypi/pytest/
 .. _FUSE: http://github.com/libfuse/libfuse
 .. _attr: http://savannah.nongnu.org/projects/attr/
 .. _`pkg-config`: http://www.freedesktop.org/wiki/Software/pkg-config
diff --git a/setup.py b/setup.py
index 9df75e5..185ab31 100755
--- a/setup.py
+++ b/setup.py
@@ -59,7 +59,7 @@ if DEVELOPER_MODE:
 # to work properly
 sys.path.insert(0, os.path.join(basedir, 'src'))
 
-LLFUSE_VERSION = '0.43'
+LLFUSE_VERSION = '1.0'
 
 def main():
 
diff --git a/src/handlers.pxi b/src/handlers.pxi
index 756ef2b..24604d7 100644
--- a/src/handlers.pxi
+++ b/src/handlers.pxi
@@ -18,12 +18,10 @@ cdef void fuse_init (void *userdata, fuse_conn_info *conn) with gil:
         handle_exc(NULL)
 
 cdef void fuse_destroy (void *userdata) with gil:
-    # Note: called by fuse_session_destroy(), i.e. not as part of the
-    # main loop but only when llfuse.close() is called.
-    # (therefore we don't obtain the global lock)
     global exc_info
     try:
-        operations.destroy()
+        with lock:
+            operations.destroy()
     except:
         if not exc_info:
             exc_info = sys.exc_info()
diff --git a/src/llfuse.c b/src/llfuse.c
index c7e7b15..6ce8c4b 100644
--- a/src/llfuse.c
+++ b/src/llfuse.c
@@ -528,7 +528,7 @@ struct __pyx_t_6llfuse_worker_data_t {
   size_t bufsize;
 };
 
-/* "src/misc.pxi":140
+/* "src/misc.pxi":139
  *         raise
  * 
  * cdef class Lock:             # <<<<<<<<<<<<<<
@@ -540,7 +540,7 @@ struct __pyx_obj_6llfuse_Lock {
 };
 
 
-/* "src/misc.pxi":241
+/* "src/misc.pxi":240
  * 
  * 
  * cdef class NoLockManager:             # <<<<<<<<<<<<<<
@@ -552,7 +552,7 @@ struct __pyx_obj_6llfuse_NoLockManager {
 };
 
 
-/* "src/misc.pxi":313
+/* "src/misc.pxi":312
  * 
  * @cython.freelist(10)
  * cdef class RequestContext:             # <<<<<<<<<<<<<<
@@ -568,7 +568,7 @@ struct __pyx_obj_6llfuse_RequestContext {
 };
 
 
-/* "src/misc.pxi":326
+/* "src/misc.pxi":325
  * 
  * @cython.freelist(10)
  * cdef class SetattrFields:             # <<<<<<<<<<<<<<
@@ -586,7 +586,7 @@ struct __pyx_obj_6llfuse_SetattrFields {
 };
 
 
-/* "src/misc.pxi":348
+/* "src/misc.pxi":347
  * 
  * @cython.freelist(30)
  * cdef class EntryAttributes:             # <<<<<<<<<<<<<<
@@ -600,7 +600,7 @@ struct __pyx_obj_6llfuse_EntryAttributes {
 };
 
 
-/* "src/misc.pxi":494
+/* "src/misc.pxi":493
  * 
  * @cython.freelist(1)
  * cdef class StatvfsData:             # <<<<<<<<<<<<<<
@@ -613,7 +613,7 @@ struct __pyx_obj_6llfuse_StatvfsData {
 };
 
 
-/* "src/misc.pxi":565
+/* "src/misc.pxi":564
  * # As of Cython 0.23.1, @cython.freelist cannot be used for
  * # classes that derive from a builtin type.
  * cdef class FUSEError(Exception):             # <<<<<<<<<<<<<<
@@ -626,7 +626,7 @@ struct __pyx_obj_6llfuse_FUSEError {
 };
 
 
-/* "src/misc.pxi":593
+/* "src/misc.pxi":592
  * 
  * @cython.freelist(300)
  * cdef class NotifyRequest:             # <<<<<<<<<<<<<<
@@ -642,7 +642,7 @@ struct __pyx_obj_6llfuse_NotifyRequest {
 };
 
 
-/* "src/misc.pxi":624
+/* "src/misc.pxi":623
  *         return buf
  * 
  * cdef class VoidPtrCapsule:             # <<<<<<<<<<<<<<
@@ -1354,7 +1354,7 @@ static const char __pyx_k_t[] = "t";
 static const char __pyx_k_x[] = "x";
 static const char __pyx_k_fh[] = "fh";
 static const char __pyx_k_os[] = "os";
-static const char __pyx_k__34[] = "\000";
+static const char __pyx_k__35[] = "\000";
 static const char __pyx_k_buf[] = "buf";
 static const char __pyx_k_ctx[] = "ctx";
 static const char __pyx_k_doc[] = "__doc__";
@@ -1379,6 +1379,7 @@ static const char __pyx_k_data[] = "data";
 static const char __pyx_k_dirp[] = "dirp";
 static const char __pyx_k_exit[] = "__exit__";
 static const char __pyx_k_gids[] = "gids";
+static const char __pyx_k_info[] = "info";
 static const char __pyx_k_init[] = "init";
 static const char __pyx_k_join[] = "join";
 static const char __pyx_k_line[] = "line";
@@ -1658,7 +1659,7 @@ static const char __pyx_k_fuse_statfs_fuse_reply__failed_w[] = "fuse_statfs(): f
 static const char __pyx_k_fuse_unlink_fuse_reply__failed_w[] = "fuse_unlink(): fuse_reply_* failed with %s";
 static const char __pyx_k_fuse_write_buf_fuse_reply__faile[] = "fuse_write_buf(): fuse_reply_* failed with %s";
 static const char __pyx_k_fuse_write_fuse_reply__failed_wi[] = "fuse_write(): fuse_reply_* failed with %s";
-static const char __pyx_k_handler_raised_exception_abortin[] = "handler raised exception, aborting processing.";
+static const char __pyx_k_handler_raised_s_exception_s_ter[] = "handler raised %s exception (%s), terminating main loop.";
 static const char __pyx_k_pthread_mutex_lock_failed_with_s[] = "pthread_mutex_lock failed with %s";
 static const char __pyx_k_home_nikratio_in_progress_pytho_2[] = "/home/nikratio/in-progress/python-llfuse/src/misc.pxi";
 static const char __pyx_k_home_nikratio_in_progress_pytho_3[] = "/home/nikratio/in-progress/python-llfuse/src/fuse_api.pxi";
@@ -1736,7 +1737,7 @@ static PyObject *__pyx_n_s_ValueError;
 static PyObject *__pyx_kp_u_Value_too_long_to_convert_to_Pyt;
 static PyObject *__pyx_kp_u_Weird_request_kind_received_d;
 static PyObject *__pyx_kp_u_You_should_not_instantiate_this;
-static PyObject *__pyx_kp_b__34;
+static PyObject *__pyx_kp_b__35;
 static PyObject *__pyx_n_s_abspath;
 static PyObject *__pyx_n_s_access;
 static PyObject *__pyx_n_s_acquire;
@@ -1844,11 +1845,12 @@ static PyObject *__pyx_n_s_getattr;
 static PyObject *__pyx_n_s_getfilesystemencoding;
 static PyObject *__pyx_n_s_getxattr;
 static PyObject *__pyx_n_s_gids;
-static PyObject *__pyx_kp_u_handler_raised_exception_abortin;
+static PyObject *__pyx_kp_u_handler_raised_s_exception_s_ter;
 static PyObject *__pyx_kp_s_home_nikratio_in_progress_pytho;
 static PyObject *__pyx_kp_s_home_nikratio_in_progress_pytho_2;
 static PyObject *__pyx_kp_s_home_nikratio_in_progress_pytho_3;
 static PyObject *__pyx_n_s_import;
+static PyObject *__pyx_n_s_info;
 static PyObject *__pyx_n_s_init;
 static PyObject *__pyx_n_s_ino;
 static PyObject *__pyx_n_s_inode;
@@ -2148,7 +2150,7 @@ static PyObject *__pyx_tuple__30;
 static PyObject *__pyx_tuple__31;
 static PyObject *__pyx_tuple__32;
 static PyObject *__pyx_tuple__33;
-static PyObject *__pyx_tuple__35;
+static PyObject *__pyx_tuple__34;
 static PyObject *__pyx_tuple__36;
 static PyObject *__pyx_tuple__37;
 static PyObject *__pyx_tuple__38;
@@ -2326,7 +2328,7 @@ static PyObject *__pyx_pf_6llfuse_10Operations_init(CYTHON_UNUSED PyObject *__py
 
 /* Python wrapper */
 static PyObject *__pyx_pw_6llfuse_10Operations_3destroy(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
-static char __pyx_doc_6llfuse_10Operations_2destroy[] = "Operations.destroy(self)\nClean up operations.\n\n        This method will be called when `llfuse.close` has been called and the\n        file system is about to be unmounted.\n\n        Since this handler is thus *not* run as part of the main loop, it is\n        also *not* called with the global lock acquired (unless the caller of\n        `llfuse.close` already holds the lock).\n\n        This method must not raise any exception [...]
+static char __pyx_doc_6llfuse_10Operations_2destroy[] = "Operations.destroy(self)\nClean up operations.\n\n        This method will be called when `llfuse.close` has been called and the\n        file system is about to be unmounted.\n\n        This method must not raise any exceptions (not even `FUSEError`), since\n        it is not handling a particular client request.\n        ";
 static PyMethodDef __pyx_mdef_6llfuse_10Operations_3destroy = {"destroy", (PyCFunction)__pyx_pw_6llfuse_10Operations_3destroy, METH_O, __pyx_doc_6llfuse_10Operations_2destroy};
 static PyObject *__pyx_pw_6llfuse_10Operations_3destroy(PyObject *__pyx_self, PyObject *__pyx_v_self) {
   PyObject *__pyx_r = 0;
@@ -2351,7 +2353,7 @@ static PyObject *__pyx_pf_6llfuse_10Operations_2destroy(CYTHON_UNUSED PyObject *
   return __pyx_r;
 }
 
-/* "src/operations.pxi":54
+/* "src/operations.pxi":50
  *         pass
  * 
  *     def lookup(self, parent_inode, name, ctx):             # <<<<<<<<<<<<<<
@@ -2393,21 +2395,21 @@ static PyObject *__pyx_pw_6llfuse_10Operations_5lookup(PyObject *__pyx_self, PyO
         case  1:
         if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_parent_inode)) != 0)) kw_args--;
         else {
-          __Pyx_RaiseArgtupleInvalid("lookup", 1, 4, 4, 1); __PYX_ERR(0, 54, __pyx_L3_error)
+          __Pyx_RaiseArgtupleInvalid("lookup", 1, 4, 4, 1); __PYX_ERR(0, 50, __pyx_L3_error)
         }
         case  2:
         if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_name)) != 0)) kw_args--;
         else {
-          __Pyx_RaiseArgtupleInvalid("lookup", 1, 4, 4, 2); __PYX_ERR(0, 54, __pyx_L3_error)
+          __Pyx_RaiseArgtupleInvalid("lookup", 1, 4, 4, 2); __PYX_ERR(0, 50, __pyx_L3_error)
         }
         case  3:
         if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ctx)) != 0)) kw_args--;
         else {
-          __Pyx_RaiseArgtupleInvalid("lookup", 1, 4, 4, 3); __PYX_ERR(0, 54, __pyx_L3_error)
+          __Pyx_RaiseArgtupleInvalid("lookup", 1, 4, 4, 3); __PYX_ERR(0, 50, __pyx_L3_error)
         }
       }
       if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "lookup") < 0)) __PYX_ERR(0, 54, __pyx_L3_error)
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "lookup") < 0)) __PYX_ERR(0, 50, __pyx_L3_error)
       }
     } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
       goto __pyx_L5_argtuple_error;
@@ -2424,7 +2426,7 @@ static PyObject *__pyx_pw_6llfuse_10Operations_5lookup(PyObject *__pyx_self, PyO
   }
   goto __pyx_L4_argument_unpacking_done;
   __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("lookup", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 54, __pyx_L3_error)
+  __Pyx_RaiseArgtupleInvalid("lookup", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 50, __pyx_L3_error)
   __pyx_L3_error:;
   __Pyx_AddTraceback("llfuse.Operations.lookup", __pyx_clineno, __pyx_lineno, __pyx_filename);
   __Pyx_RefNannyFinishContext();
@@ -2444,28 +2446,28 @@ static PyObject *__pyx_pf_6llfuse_10Operations_4lookup(CYTHON_UNUSED PyObject *_
   PyObject *__pyx_t_2 = NULL;
   __Pyx_RefNannySetupContext("lookup", 0);
 
-  /* "src/operations.pxi":75
+  /* "src/operations.pxi":71
  *         '''
  * 
  *         raise FUSEError(errno.ENOSYS)             # <<<<<<<<<<<<<<
  * 
  *     def forget(self, inode_list):
  */
-  __pyx_t_1 = __Pyx_PyInt_From_int(ENOSYS); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 75, __pyx_L1_error)
+  __pyx_t_1 = __Pyx_PyInt_From_int(ENOSYS); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 71, __pyx_L1_error)
   __Pyx_GOTREF(__pyx_t_1);
-  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 75, __pyx_L1_error)
+  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 71, __pyx_L1_error)
   __Pyx_GOTREF(__pyx_t_2);
   __Pyx_GIVEREF(__pyx_t_1);
   PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
   __pyx_t_1 = 0;
-  __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_6llfuse_FUSEError), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 75, __pyx_L1_error)
+  __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_6llfuse_FUSEError), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 71, __pyx_L1_error)
   __Pyx_GOTREF(__pyx_t_1);
   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
   __Pyx_Raise(__pyx_t_1, 0, 0, 0);
   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  __PYX_ERR(0, 75, __pyx_L1_error)
+  __PYX_ERR(0, 71, __pyx_L1_error)
 
-  /* "src/operations.pxi":54
+  /* "src/operations.pxi":50
  *         pass
  * 
  *     def lookup(self, parent_inode, name, ctx):             # <<<<<<<<<<<<<<
@@ -2484,7 +2486,7 @@ static PyObject *__pyx_pf_6llfuse_10Operations_4lookup(CYTHON_UNUSED PyObject *_
   return __pyx_r;
 }
 
-/* "src/operations.pxi":77
+/* "src/operations.pxi":73
  *         raise FUSEError(errno.ENOSYS)
  * 
  *     def forget(self, inode_list):             # <<<<<<<<<<<<<<
@@ -2522,11 +2524,11 @@ static PyObject *__pyx_pw_6llfuse_10Operations_7forget(PyObject *__pyx_self, PyO
         case  1:
         if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_inode_list)) != 0)) kw_args--;
         else {
-          __Pyx_RaiseArgtupleInvalid("forget", 1, 2, 2, 1); __PYX_ERR(0, 77, __pyx_L3_error)
+          __Pyx_RaiseArgtupleInvalid("forget", 1, 2, 2, 1); __PYX_ERR(0, 73, __pyx_L3_error)
         }
       }
       if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "forget") < 0)) __PYX_ERR(0, 77, __pyx_L3_error)
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "forget") < 0)) __PYX_ERR(0, 73, __pyx_L3_error)
       }
     } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
       goto __pyx_L5_argtuple_error;
@@ -2539,7 +2541,7 @@ static PyObject *__pyx_pw_6llfuse_10Operations_7forget(PyObject *__pyx_self, PyO
   }
   goto __pyx_L4_argument_unpacking_done;
   __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("forget", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 77, __pyx_L3_error)
+  __Pyx_RaiseArgtupleInvalid("forget", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 73, __pyx_L3_error)
   __pyx_L3_error:;
   __Pyx_AddTraceback("llfuse.Operations.forget", __pyx_clineno, __pyx_lineno, __pyx_filename);
   __Pyx_RefNannyFinishContext();
@@ -2564,7 +2566,7 @@ static PyObject *__pyx_pf_6llfuse_10Operations_6forget(CYTHON_UNUSED PyObject *_
   return __pyx_r;
 }
 
-/* "src/operations.pxi":100
+/* "src/operations.pxi":96
  *         pass
  * 
  *     def getattr(self, inode, ctx):             # <<<<<<<<<<<<<<
@@ -2604,16 +2606,16 @@ static PyObject *__pyx_pw_6llfuse_10Operations_9getattr(PyObject *__pyx_self, Py
         case  1:
         if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_inode)) != 0)) kw_args--;
         else {
-          __Pyx_RaiseArgtupleInvalid("getattr", 1, 3, 3, 1); __PYX_ERR(0, 100, __pyx_L3_error)
+          __Pyx_RaiseArgtupleInvalid("getattr", 1, 3, 3, 1); __PYX_ERR(0, 96, __pyx_L3_error)
         }
         case  2:
         if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ctx)) != 0)) kw_args--;
         else {
-          __Pyx_RaiseArgtupleInvalid("getattr", 1, 3, 3, 2); __PYX_ERR(0, 100, __pyx_L3_error)
+          __Pyx_RaiseArgtupleInvalid("getattr", 1, 3, 3, 2); __PYX_ERR(0, 96, __pyx_L3_error)
         }
       }
       if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "getattr") < 0)) __PYX_ERR(0, 100, __pyx_L3_error)
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "getattr") < 0)) __PYX_ERR(0, 96, __pyx_L3_error)
       }
     } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
       goto __pyx_L5_argtuple_error;
@@ -2628,7 +2630,7 @@ static PyObject *__pyx_pw_6llfuse_10Operations_9getattr(PyObject *__pyx_self, Py
   }
   goto __pyx_L4_argument_unpacking_done;
   __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("getattr", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 100, __pyx_L3_error)
+  __Pyx_RaiseArgtupleInvalid("getattr", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 96, __pyx_L3_error)
   __pyx_L3_error:;
   __Pyx_AddTraceback("llfuse.Operations.getattr", __pyx_clineno, __pyx_lineno, __pyx_filename);
   __Pyx_RefNannyFinishContext();
@@ -2648,28 +2650,28 @@ static PyObject *__pyx_pf_6llfuse_10Operations_8getattr(CYTHON_UNUSED PyObject *
   PyObject *__pyx_t_2 = NULL;
   __Pyx_RefNannySetupContext("getattr", 0);
 
-  /* "src/operations.pxi":110
+  /* "src/operations.pxi":106
  *         '''
  * 
  *         raise FUSEError(errno.ENOSYS)             # <<<<<<<<<<<<<<
  * 
  * 
  */
-  __pyx_t_1 = __Pyx_PyInt_From_int(ENOSYS); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 110, __pyx_L1_error)
+  __pyx_t_1 = __Pyx_PyInt_From_int(ENOSYS); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 106, __pyx_L1_error)
   __Pyx_GOTREF(__pyx_t_1);
-  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 110, __pyx_L1_error)
+  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 106, __pyx_L1_error)
   __Pyx_GOTREF(__pyx_t_2);
   __Pyx_GIVEREF(__pyx_t_1);
   PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
   __pyx_t_1 = 0;
-  __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_6llfuse_FUSEError), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 110, __pyx_L1_error)
+  __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_6llfuse_FUSEError), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 106, __pyx_L1_error)
   __Pyx_GOTREF(__pyx_t_1);
   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
   __Pyx_Raise(__pyx_t_1, 0, 0, 0);
   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  __PYX_ERR(0, 110, __pyx_L1_error)
+  __PYX_ERR(0, 106, __pyx_L1_error)
 
-  /* "src/operations.pxi":100
+  /* "src/operations.pxi":96
  *         pass
  * 
  *     def getattr(self, inode, ctx):             # <<<<<<<<<<<<<<
@@ -2688,7 +2690,7 @@ static PyObject *__pyx_pf_6llfuse_10Operations_8getattr(CYTHON_UNUSED PyObject *
   return __pyx_r;
 }
 
-/* "src/operations.pxi":113
+/* "src/operations.pxi":109
  * 
  * 
  *     def setattr(self, inode, attr, fields, fh, ctx):             # <<<<<<<<<<<<<<
@@ -2734,31 +2736,31 @@ static PyObject *__pyx_pw_6llfuse_10Operations_11setattr(PyObject *__pyx_self, P
         case  1:
         if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_inode)) != 0)) kw_args--;
         else {
-          __Pyx_RaiseArgtupleInvalid("setattr", 1, 6, 6, 1); __PYX_ERR(0, 113, __pyx_L3_error)
+          __Pyx_RaiseArgtupleInvalid("setattr", 1, 6, 6, 1); __PYX_ERR(0, 109, __pyx_L3_error)
         }
         case  2:
         if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_attr)) != 0)) kw_args--;
         else {
-          __Pyx_RaiseArgtupleInvalid("setattr", 1, 6, 6, 2); __PYX_ERR(0, 113, __pyx_L3_error)
+          __Pyx_RaiseArgtupleInvalid("setattr", 1, 6, 6, 2); __PYX_ERR(0, 109, __pyx_L3_error)
         }
         case  3:
         if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_fields)) != 0)) kw_args--;
         else {
-          __Pyx_RaiseArgtupleInvalid("setattr", 1, 6, 6, 3); __PYX_ERR(0, 113, __pyx_L3_error)
+          __Pyx_RaiseArgtupleInvalid("setattr", 1, 6, 6, 3); __PYX_ERR(0, 109, __pyx_L3_error)
         }
         case  4:
         if (likely((values[4] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_fh)) != 0)) kw_args--;
         else {
-          __Pyx_RaiseArgtupleInvalid("setattr", 1, 6, 6, 4); __PYX_ERR(0, 113, __pyx_L3_error)
+          __Pyx_RaiseArgtupleInvalid("setattr", 1, 6, 6, 4); __PYX_ERR(0, 109, __pyx_L3_error)
         }
         case  5:
         if (likely((values[5] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ctx)) != 0)) kw_args--;
         else {
-          __Pyx_RaiseArgtupleInvalid("setattr", 1, 6, 6, 5); __PYX_ERR(0, 113, __pyx_L3_error)
+          __Pyx_RaiseArgtupleInvalid("setattr", 1, 6, 6, 5); __PYX_ERR(0, 109, __pyx_L3_error)
         }
       }
       if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "setattr") < 0)) __PYX_ERR(0, 113, __pyx_L3_error)
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "setattr") < 0)) __PYX_ERR(0, 109, __pyx_L3_error)
       }
     } else if (PyTuple_GET_SIZE(__pyx_args) != 6) {
       goto __pyx_L5_argtuple_error;
@@ -2779,7 +2781,7 @@ static PyObject *__pyx_pw_6llfuse_10Operations_11setattr(PyObject *__pyx_self, P
   }
   goto __pyx_L4_argument_unpacking_done;
   __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("setattr", 1, 6, 6, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 113, __pyx_L3_error)
+  __Pyx_RaiseArgtupleInvalid("setattr", 1, 6, 6, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 109, __pyx_L3_error)
   __pyx_L3_error:;
   __Pyx_AddTraceback("llfuse.Operations.setattr", __pyx_clineno, __pyx_lineno, __pyx_filename);
   __Pyx_RefNannyFinishContext();
@@ -2799,28 +2801,28 @@ static PyObject *__pyx_pf_6llfuse_10Operations_10setattr(CYTHON_UNUSED PyObject
   PyObject *__pyx_t_2 = NULL;
   __Pyx_RefNannySetupContext("setattr", 0);
 
-  /* "src/operations.pxi":138
+  /* "src/operations.pxi":134
  *         '''
  * 
  *         raise FUSEError(errno.ENOSYS)             # <<<<<<<<<<<<<<
  * 
  *     def readlink(self, inode, ctx):
  */
-  __pyx_t_1 = __Pyx_PyInt_From_int(ENOSYS); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 138, __pyx_L1_error)
+  __pyx_t_1 = __Pyx_PyInt_From_int(ENOSYS); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 134, __pyx_L1_error)
   __Pyx_GOTREF(__pyx_t_1);
-  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 138, __pyx_L1_error)
+  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 134, __pyx_L1_error)
   __Pyx_GOTREF(__pyx_t_2);
   __Pyx_GIVEREF(__pyx_t_1);
   PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
   __pyx_t_1 = 0;
-  __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_6llfuse_FUSEError), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 138, __pyx_L1_error)
+  __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_6llfuse_FUSEError), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 134, __pyx_L1_error)
   __Pyx_GOTREF(__pyx_t_1);
   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
   __Pyx_Raise(__pyx_t_1, 0, 0, 0);
   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  __PYX_ERR(0, 138, __pyx_L1_error)
+  __PYX_ERR(0, 134, __pyx_L1_error)
 
-  /* "src/operations.pxi":113
+  /* "src/operations.pxi":109
  * 
  * 
  *     def setattr(self, inode, attr, fields, fh, ctx):             # <<<<<<<<<<<<<<
@@ -2839,7 +2841,7 @@ static PyObject *__pyx_pf_6llfuse_10Operations_10setattr(CYTHON_UNUSED PyObject
   return __pyx_r;
 }
 
-/* "src/operations.pxi":140
+/* "src/operations.pxi":136
  *         raise FUSEError(errno.ENOSYS)
  * 
  *     def readlink(self, inode, ctx):             # <<<<<<<<<<<<<<
@@ -2879,16 +2881,16 @@ static PyObject *__pyx_pw_6llfuse_10Operations_13readlink(PyObject *__pyx_self,
         case  1:
         if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_inode)) != 0)) kw_args--;
         else {
-          __Pyx_RaiseArgtupleInvalid("readlink", 1, 3, 3, 1); __PYX_ERR(0, 140, __pyx_L3_error)
+          __Pyx_RaiseArgtupleInvalid("readlink", 1, 3, 3, 1); __PYX_ERR(0, 136, __pyx_L3_error)
         }
         case  2:
         if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ctx)) != 0)) kw_args--;
         else {
-          __Pyx_RaiseArgtupleInvalid("readlink", 1, 3, 3, 2); __PYX_ERR(0, 140, __pyx_L3_error)
+          __Pyx_RaiseArgtupleInvalid("readlink", 1, 3, 3, 2); __PYX_ERR(0, 136, __pyx_L3_error)
         }
       }
       if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "readlink") < 0)) __PYX_ERR(0, 140, __pyx_L3_error)
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "readlink") < 0)) __PYX_ERR(0, 136, __pyx_L3_error)
       }
     } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
       goto __pyx_L5_argtuple_error;
@@ -2903,7 +2905,7 @@ static PyObject *__pyx_pw_6llfuse_10Operations_13readlink(PyObject *__pyx_self,
   }
   goto __pyx_L4_argument_unpacking_done;
   __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("readlink", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 140, __pyx_L3_error)
+  __Pyx_RaiseArgtupleInvalid("readlink", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 136, __pyx_L3_error)
   __pyx_L3_error:;
   __Pyx_AddTraceback("llfuse.Operations.readlink", __pyx_clineno, __pyx_lineno, __pyx_filename);
   __Pyx_RefNannyFinishContext();
@@ -2923,28 +2925,28 @@ static PyObject *__pyx_pf_6llfuse_10Operations_12readlink(CYTHON_UNUSED PyObject
   PyObject *__pyx_t_2 = NULL;
   __Pyx_RefNannySetupContext("readlink", 0);
 
-  /* "src/operations.pxi":146
+  /* "src/operations.pxi":142
  *         '''
  * 
  *         raise FUSEError(errno.ENOSYS)             # <<<<<<<<<<<<<<
  * 
  * 
  */
-  __pyx_t_1 = __Pyx_PyInt_From_int(ENOSYS); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 146, __pyx_L1_error)
+  __pyx_t_1 = __Pyx_PyInt_From_int(ENOSYS); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 142, __pyx_L1_error)
   __Pyx_GOTREF(__pyx_t_1);
-  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 146, __pyx_L1_error)
+  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 142, __pyx_L1_error)
   __Pyx_GOTREF(__pyx_t_2);
   __Pyx_GIVEREF(__pyx_t_1);
   PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
   __pyx_t_1 = 0;
-  __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_6llfuse_FUSEError), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 146, __pyx_L1_error)
+  __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_6llfuse_FUSEError), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 142, __pyx_L1_error)
   __Pyx_GOTREF(__pyx_t_1);
   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
   __Pyx_Raise(__pyx_t_1, 0, 0, 0);
   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  __PYX_ERR(0, 146, __pyx_L1_error)
+  __PYX_ERR(0, 142, __pyx_L1_error)
 
-  /* "src/operations.pxi":140
+  /* "src/operations.pxi":136
  *         raise FUSEError(errno.ENOSYS)
  * 
  *     def readlink(self, inode, ctx):             # <<<<<<<<<<<<<<
@@ -2963,7 +2965,7 @@ static PyObject *__pyx_pf_6llfuse_10Operations_12readlink(CYTHON_UNUSED PyObject
   return __pyx_r;
 }
 
-/* "src/operations.pxi":149
+/* "src/operations.pxi":145
  * 
  * 
  *     def mknod(self, parent_inode, name, mode, rdev, ctx):             # <<<<<<<<<<<<<<
@@ -3009,31 +3011,31 @@ static PyObject *__pyx_pw_6llfuse_10Operations_15mknod(PyObject *__pyx_self, PyO
         case  1:
         if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_parent_inode)) != 0)) kw_args--;
         else {
-          __Pyx_RaiseArgtupleInvalid("mknod", 1, 6, 6, 1); __PYX_ERR(0, 149, __pyx_L3_error)
+          __Pyx_RaiseArgtupleInvalid("mknod", 1, 6, 6, 1); __PYX_ERR(0, 145, __pyx_L3_error)
         }
         case  2:
         if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_name)) != 0)) kw_args--;
         else {
-          __Pyx_RaiseArgtupleInvalid("mknod", 1, 6, 6, 2); __PYX_ERR(0, 149, __pyx_L3_error)
+          __Pyx_RaiseArgtupleInvalid("mknod", 1, 6, 6, 2); __PYX_ERR(0, 145, __pyx_L3_error)
         }
         case  3:
         if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_mode)) != 0)) kw_args--;
         else {
-          __Pyx_RaiseArgtupleInvalid("mknod", 1, 6, 6, 3); __PYX_ERR(0, 149, __pyx_L3_error)
+          __Pyx_RaiseArgtupleInvalid("mknod", 1, 6, 6, 3); __PYX_ERR(0, 145, __pyx_L3_error)
         }
         case  4:
         if (likely((values[4] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_rdev)) != 0)) kw_args--;
         else {
-          __Pyx_RaiseArgtupleInvalid("mknod", 1, 6, 6, 4); __PYX_ERR(0, 149, __pyx_L3_error)
+          __Pyx_RaiseArgtupleInvalid("mknod", 1, 6, 6, 4); __PYX_ERR(0, 145, __pyx_L3_error)
         }
         case  5:
         if (likely((values[5] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ctx)) != 0)) kw_args--;
         else {
-          __Pyx_RaiseArgtupleInvalid("mknod", 1, 6, 6, 5); __PYX_ERR(0, 149, __pyx_L3_error)
+          __Pyx_RaiseArgtupleInvalid("mknod", 1, 6, 6, 5); __PYX_ERR(0, 145, __pyx_L3_error)
         }
       }
       if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "mknod") < 0)) __PYX_ERR(0, 149, __pyx_L3_error)
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "mknod") < 0)) __PYX_ERR(0, 145, __pyx_L3_error)
       }
     } else if (PyTuple_GET_SIZE(__pyx_args) != 6) {
       goto __pyx_L5_argtuple_error;
@@ -3054,7 +3056,7 @@ static PyObject *__pyx_pw_6llfuse_10Operations_15mknod(PyObject *__pyx_self, PyO
   }
   goto __pyx_L4_argument_unpacking_done;
   __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("mknod", 1, 6, 6, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 149, __pyx_L3_error)
+  __Pyx_RaiseArgtupleInvalid("mknod", 1, 6, 6, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 145, __pyx_L3_error)
   __pyx_L3_error:;
   __Pyx_AddTraceback("llfuse.Operations.mknod", __pyx_clineno, __pyx_lineno, __pyx_filename);
   __Pyx_RefNannyFinishContext();
@@ -3074,28 +3076,28 @@ static PyObject *__pyx_pf_6llfuse_10Operations_14mknod(CYTHON_UNUSED PyObject *_
   PyObject *__pyx_t_2 = NULL;
   __Pyx_RefNannySetupContext("mknod", 0);
 
-  /* "src/operations.pxi":165
+  /* "src/operations.pxi":161
  *        '''
  * 
  *         raise FUSEError(errno.ENOSYS)             # <<<<<<<<<<<<<<
  * 
  *     def mkdir(self, parent_inode, name, mode, ctx):
  */
-  __pyx_t_1 = __Pyx_PyInt_From_int(ENOSYS); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 165, __pyx_L1_error)
+  __pyx_t_1 = __Pyx_PyInt_From_int(ENOSYS); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 161, __pyx_L1_error)
   __Pyx_GOTREF(__pyx_t_1);
-  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 165, __pyx_L1_error)
+  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 161, __pyx_L1_error)
   __Pyx_GOTREF(__pyx_t_2);
   __Pyx_GIVEREF(__pyx_t_1);
   PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
   __pyx_t_1 = 0;
-  __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_6llfuse_FUSEError), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 165, __pyx_L1_error)
+  __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_6llfuse_FUSEError), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 161, __pyx_L1_error)
   __Pyx_GOTREF(__pyx_t_1);
   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
   __Pyx_Raise(__pyx_t_1, 0, 0, 0);
   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  __PYX_ERR(0, 165, __pyx_L1_error)
+  __PYX_ERR(0, 161, __pyx_L1_error)
 
-  /* "src/operations.pxi":149
+  /* "src/operations.pxi":145
  * 
  * 
  *     def mknod(self, parent_inode, name, mode, rdev, ctx):             # <<<<<<<<<<<<<<
@@ -3114,7 +3116,7 @@ static PyObject *__pyx_pf_6llfuse_10Operations_14mknod(CYTHON_UNUSED PyObject *_
   return __pyx_r;
 }
 
-/* "src/operations.pxi":167
+/* "src/operations.pxi":163
  *         raise FUSEError(errno.ENOSYS)
  * 
  *     def mkdir(self, parent_inode, name, mode, ctx):             # <<<<<<<<<<<<<<
@@ -3158,26 +3160,26 @@ static PyObject *__pyx_pw_6llfuse_10Operations_17mkdir(PyObject *__pyx_self, PyO
         case  1:
         if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_parent_inode)) != 0)) kw_args--;
         else {
-          __Pyx_RaiseArgtupleInvalid("mkdir", 1, 5, 5, 1); __PYX_ERR(0, 167, __pyx_L3_error)
+          __Pyx_RaiseArgtupleInvalid("mkdir", 1, 5, 5, 1); __PYX_ERR(0, 163, __pyx_L3_error)
         }
         case  2:
         if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_name)) != 0)) kw_args--;
         else {
-          __Pyx_RaiseArgtupleInvalid("mkdir", 1, 5, 5, 2); __PYX_ERR(0, 167, __pyx_L3_error)
+          __Pyx_RaiseArgtupleInvalid("mkdir", 1, 5, 5, 2); __PYX_ERR(0, 163, __pyx_L3_error)
         }
         case  3:
         if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_mode)) != 0)) kw_args--;
         else {
-          __Pyx_RaiseArgtupleInvalid("mkdir", 1, 5, 5, 3); __PYX_ERR(0, 167, __pyx_L3_error)
+          __Pyx_RaiseArgtupleInvalid("mkdir", 1, 5, 5, 3); __PYX_ERR(0, 163, __pyx_L3_error)
         }
         case  4:
         if (likely((values[4] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ctx)) != 0)) kw_args--;
         else {
-          __Pyx_RaiseArgtupleInvalid("mkdir", 1, 5, 5, 4); __PYX_ERR(0, 167, __pyx_L3_error)
+          __Pyx_RaiseArgtupleInvalid("mkdir", 1, 5, 5, 4); __PYX_ERR(0, 163, __pyx_L3_error)
         }
       }
       if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "mkdir") < 0)) __PYX_ERR(0, 167, __pyx_L3_error)
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "mkdir") < 0)) __PYX_ERR(0, 163, __pyx_L3_error)
       }
     } else if (PyTuple_GET_SIZE(__pyx_args) != 5) {
       goto __pyx_L5_argtuple_error;
@@ -3196,7 +3198,7 @@ static PyObject *__pyx_pw_6llfuse_10Operations_17mkdir(PyObject *__pyx_self, PyO
   }
   goto __pyx_L4_argument_unpacking_done;
   __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("mkdir", 1, 5, 5, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 167, __pyx_L3_error)
+  __Pyx_RaiseArgtupleInvalid("mkdir", 1, 5, 5, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 163, __pyx_L3_error)
   __pyx_L3_error:;
   __Pyx_AddTraceback("llfuse.Operations.mkdir", __pyx_clineno, __pyx_lineno, __pyx_filename);
   __Pyx_RefNannyFinishContext();
@@ -3216,28 +3218,28 @@ static PyObject *__pyx_pf_6llfuse_10Operations_16mkdir(CYTHON_UNUSED PyObject *_
   PyObject *__pyx_t_2 = NULL;
   __Pyx_RefNannySetupContext("mkdir", 0);
 
-  /* "src/operations.pxi":181
+  /* "src/operations.pxi":177
  *         '''
  * 
  *         raise FUSEError(errno.ENOSYS)             # <<<<<<<<<<<<<<
  * 
  *     def unlink(self, parent_inode, name, ctx):
  */
-  __pyx_t_1 = __Pyx_PyInt_From_int(ENOSYS); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 181, __pyx_L1_error)
+  __pyx_t_1 = __Pyx_PyInt_From_int(ENOSYS); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 177, __pyx_L1_error)
   __Pyx_GOTREF(__pyx_t_1);
-  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 181, __pyx_L1_error)
+  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 177, __pyx_L1_error)
   __Pyx_GOTREF(__pyx_t_2);
   __Pyx_GIVEREF(__pyx_t_1);
   PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
   __pyx_t_1 = 0;
-  __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_6llfuse_FUSEError), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 181, __pyx_L1_error)
+  __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_6llfuse_FUSEError), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 177, __pyx_L1_error)
   __Pyx_GOTREF(__pyx_t_1);
   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
   __Pyx_Raise(__pyx_t_1, 0, 0, 0);
   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  __PYX_ERR(0, 181, __pyx_L1_error)
+  __PYX_ERR(0, 177, __pyx_L1_error)
 
-  /* "src/operations.pxi":167
+  /* "src/operations.pxi":163
  *         raise FUSEError(errno.ENOSYS)
  * 
  *     def mkdir(self, parent_inode, name, mode, ctx):             # <<<<<<<<<<<<<<
@@ -3256,7 +3258,7 @@ static PyObject *__pyx_pf_6llfuse_10Operations_16mkdir(CYTHON_UNUSED PyObject *_
   return __pyx_r;
 }
 
-/* "src/operations.pxi":183
+/* "src/operations.pxi":179
  *         raise FUSEError(errno.ENOSYS)
  * 
  *     def unlink(self, parent_inode, name, ctx):             # <<<<<<<<<<<<<<
@@ -3298,21 +3300,21 @@ static PyObject *__pyx_pw_6llfuse_10Operations_19unlink(PyObject *__pyx_self, Py
         case  1:
         if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_parent_inode)) != 0)) kw_args--;
         else {
-          __Pyx_RaiseArgtupleInvalid("unlink", 1, 4, 4, 1); __PYX_ERR(0, 183, __pyx_L3_error)
+          __Pyx_RaiseArgtupleInvalid("unlink", 1, 4, 4, 1); __PYX_ERR(0, 179, __pyx_L3_error)
         }
         case  2:
         if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_name)) != 0)) kw_args--;
         else {
-          __Pyx_RaiseArgtupleInvalid("unlink", 1, 4, 4, 2); __PYX_ERR(0, 183, __pyx_L3_error)
+          __Pyx_RaiseArgtupleInvalid("unlink", 1, 4, 4, 2); __PYX_ERR(0, 179, __pyx_L3_error)
         }
         case  3:
         if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ctx)) != 0)) kw_args--;
         else {
-          __Pyx_RaiseArgtupleInvalid("unlink", 1, 4, 4, 3); __PYX_ERR(0, 183, __pyx_L3_error)
+          __Pyx_RaiseArgtupleInvalid("unlink", 1, 4, 4, 3); __PYX_ERR(0, 179, __pyx_L3_error)
         }
       }
       if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "unlink") < 0)) __PYX_ERR(0, 183, __pyx_L3_error)
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "unlink") < 0)) __PYX_ERR(0, 179, __pyx_L3_error)
       }
     } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
       goto __pyx_L5_argtuple_error;
@@ -3329,7 +3331,7 @@ static PyObject *__pyx_pw_6llfuse_10Operations_19unlink(PyObject *__pyx_self, Py
   }
   goto __pyx_L4_argument_unpacking_done;
   __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("unlink", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 183, __pyx_L3_error)
+  __Pyx_RaiseArgtupleInvalid("unlink", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 179, __pyx_L3_error)
   __pyx_L3_error:;
   __Pyx_AddTraceback("llfuse.Operations.unlink", __pyx_clineno, __pyx_lineno, __pyx_filename);
   __Pyx_RefNannyFinishContext();
@@ -3349,28 +3351,28 @@ static PyObject *__pyx_pf_6llfuse_10Operations_18unlink(CYTHON_UNUSED PyObject *
   PyObject *__pyx_t_2 = NULL;
   __Pyx_RefNannySetupContext("unlink", 0);
 
-  /* "src/operations.pxi":203
+  /* "src/operations.pxi":199
  *         '''
  * 
  *         raise FUSEError(errno.ENOSYS)             # <<<<<<<<<<<<<<
  * 
  *     def rmdir(self, parent_inode, name, ctx):
  */
-  __pyx_t_1 = __Pyx_PyInt_From_int(ENOSYS); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 203, __pyx_L1_error)
+  __pyx_t_1 = __Pyx_PyInt_From_int(ENOSYS); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 199, __pyx_L1_error)
   __Pyx_GOTREF(__pyx_t_1);
-  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 203, __pyx_L1_error)
+  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 199, __pyx_L1_error)
   __Pyx_GOTREF(__pyx_t_2);
   __Pyx_GIVEREF(__pyx_t_1);
   PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
   __pyx_t_1 = 0;
-  __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_6llfuse_FUSEError), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 203, __pyx_L1_error)
+  __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_6llfuse_FUSEError), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 199, __pyx_L1_error)
   __Pyx_GOTREF(__pyx_t_1);
   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
   __Pyx_Raise(__pyx_t_1, 0, 0, 0);
   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  __PYX_ERR(0, 203, __pyx_L1_error)
+  __PYX_ERR(0, 199, __pyx_L1_error)
 
-  /* "src/operations.pxi":183
+  /* "src/operations.pxi":179
  *         raise FUSEError(errno.ENOSYS)
  * 
  *     def unlink(self, parent_inode, name, ctx):             # <<<<<<<<<<<<<<
@@ -3389,7 +3391,7 @@ static PyObject *__pyx_pf_6llfuse_10Operations_18unlink(CYTHON_UNUSED PyObject *
   return __pyx_r;
 }
 
-/* "src/operations.pxi":205
+/* "src/operations.pxi":201
  *         raise FUSEError(errno.ENOSYS)
  * 
  *     def rmdir(self, parent_inode, name, ctx):             # <<<<<<<<<<<<<<
@@ -3431,21 +3433,21 @@ static PyObject *__pyx_pw_6llfuse_10Operations_21rmdir(PyObject *__pyx_self, PyO
         case  1:
         if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_parent_inode)) != 0)) kw_args--;
         else {
-          __Pyx_RaiseArgtupleInvalid("rmdir", 1, 4, 4, 1); __PYX_ERR(0, 205, __pyx_L3_error)
+          __Pyx_RaiseArgtupleInvalid("rmdir", 1, 4, 4, 1); __PYX_ERR(0, 201, __pyx_L3_error)
         }
         case  2:
         if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_name)) != 0)) kw_args--;
         else {
-          __Pyx_RaiseArgtupleInvalid("rmdir", 1, 4, 4, 2); __PYX_ERR(0, 205, __pyx_L3_error)
+          __Pyx_RaiseArgtupleInvalid("rmdir", 1, 4, 4, 2); __PYX_ERR(0, 201, __pyx_L3_error)
         }
         case  3:
         if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_ctx)) != 0)) kw_args--;
         else {
-          __Pyx_RaiseArgtupleInvalid("rmdir", 1, 4, 4, 3); __PYX_ERR(0, 205, __pyx_L3_error)
+          __Pyx_RaiseArgtupleInvalid("rmdir", 1, 4, 4, 3); __PYX_ERR(0, 201, __pyx_L3_error)
         }
       }
       if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "rmdir") < 0)) __PYX_ERR(0, 205, __pyx_L3_error)
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "rmdir") < 0)) __PYX_ERR(0, 201, __pyx_L3_error)
       }
     } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
       goto __pyx_L5_argtuple_error;
@@ -3462,7 +3464,7 @@ static PyObject *__pyx_pw_6llfuse_10Operations_21rmdir(PyObject *__pyx_self, PyO
   }
   goto __pyx_L4_argument_unpacking_done;
   __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("rmdir", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 205, __pyx_L3_error)
+  __Pyx_RaiseArgtupleInvalid("rmdir", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 201, __pyx_L3_error)
   __pyx_L3_error:;
   __Pyx_AddTraceback("llfuse.Operations.rmdir", __pyx_clineno, __pyx_lineno, __pyx_filename);
   __Pyx_RefNannyFinishContext();
@@ -3482,28 +3484,28 @@ static PyObject *__pyx_pf_6llfuse_10Operations_20rmdir(CYTHON_UNUSED PyObject *_
   PyObject *__pyx_t_2 = NULL;
   __Pyx_RefNannySetupContext("rmdir", 0);
 
-  /* "src/operations.pxi":227
+  /* "src/operations.pxi":223
  *         '''
  * 
  *         raise FUSEError(errno.ENOSYS)             # <<<<<<<<<<<<<<
  * 
  *     def symlink(self, parent_inode, name, target, ctx):
  */
-  __pyx_t_1 = __Pyx_PyInt_From_int(ENOSYS); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 227, __pyx_L1_error)
+  __pyx_t_1 = __Pyx_PyInt_From_int(ENOSYS); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 223, __pyx_L1_error)
   __Pyx_GOTREF(__pyx_t_1);
-  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 227, __pyx_L1_error)
+  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 223, __pyx_L1_error)
   __Pyx_GOTREF(__pyx_t_2);
   __Pyx_GIVEREF(__pyx_t_1);
   PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
   __pyx_t_1 = 0;
-  __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_6llfuse_FUSEError), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 227, __pyx_L1_error)
+  __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_6llfuse_FUSEError), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 223, __pyx_L1_error)
   __Pyx_GOTREF(__pyx_t_1);
   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
   __Pyx_Raise(__pyx_t_1, 0, 0, 0);
   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  __PYX_ERR(0, 227, __pyx_L1_error)
+  __PYX_ERR(0, 223, __pyx_L1_error)
 
-  /* "src/operations.pxi":205
+  /* "src/operations.pxi":201
  *         raise FUSEError(errno.ENOSYS)
  * 
  *     def rmdir(self, parent_inode, name, ctx):             # <<<<<<<<<<<<<<
@@ -3522,7 +3524,7 @@ static PyObject *__pyx_pf_6llfuse_10Operations_20rmdir(CYTHON_UNUSED PyObject *_
   return __pyx_r;
 }
 
-/* "src/operations.pxi":229
+/* "src/operations.pxi":225
  *         raise FUSEError(errno.ENOSYS)
  * 
  *     def symlink(self, parent_inode, name, target, ctx):             # <<<<<<<<<<<<<<
@@ -3566,26 +3568,26 @@ static PyObject *__pyx_pw_6llfuse_10Operations_23symlink(PyObject *__pyx_self, P
         case  1:
         if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_parent_inode)) != 0)) kw_args--;
         else {
-          __Pyx_RaiseArgtupleInvalid("symlink", 1, 5, 5, 1); __PYX_ERR(0, 229, __pyx_L3_error)
+          __Pyx_RaiseArgtupleInvalid("symlink", 1, 5, 5, 1); __PYX_ERR(0, 225, __pyx_L3_error)
         }
         case  2:
         if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_name)) != 0)) kw_args--;
         else {
... 21889 lines suppressed ...

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/python-modules/packages/python-llfuse.git



More information about the Python-modules-commits mailing list