Linux sagir-us1.hostever.us 5.14.0-570.51.1.el9_6.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Oct 8 09:41:34 EDT 2025 x86_64
LiteSpeed
Server IP : 104.247.108.91 & Your IP : 216.73.216.105
Domains : 74 Domain
User : georgeto
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
share /
doc /
python3-llfuse /
html /
Delete
Unzip
Name
Size
Permission
Date
Action
.doctrees
[ DIR ]
drwxr-xr-x
2025-10-07 06:01
_sources
[ DIR ]
drwxr-xr-x
2025-10-07 06:01
_static
[ DIR ]
drwxr-xr-x
2025-10-07 06:01
about.html
7
KB
-rw-r--r--
2022-05-31 15:21
changes.html
29.98
KB
-rw-r--r--
2022-05-31 15:21
data.html
21.79
KB
-rw-r--r--
2022-05-31 15:21
example.html
178.83
KB
-rw-r--r--
2022-05-31 15:21
fuse_api.html
16.54
KB
-rw-r--r--
2022-05-31 15:21
general.html
12.63
KB
-rw-r--r--
2022-05-31 15:21
genindex.html
18.15
KB
-rw-r--r--
2022-05-31 15:21
gotchas.html
8.43
KB
-rw-r--r--
2022-05-31 15:21
index.html
6.37
KB
-rw-r--r--
2022-05-31 15:21
install.html
9.64
KB
-rw-r--r--
2022-05-31 15:21
lock.html
11.52
KB
-rw-r--r--
2022-05-31 15:21
objects.inv
1.08
KB
-rw-r--r--
2022-05-31 15:21
operations.html
56.18
KB
-rw-r--r--
2022-05-31 15:21
py-modindex.html
4.61
KB
-rw-r--r--
2022-05-31 15:21
search.html
4.41
KB
-rw-r--r--
2022-05-31 15:21
searchindex.js
17.98
KB
-rw-r--r--
2022-05-31 15:21
util.html
11.41
KB
-rw-r--r--
2022-05-31 15:21
Save
Rename
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Changelog — Python-LLFUSE 1.4.2 documentation</title> <link rel="stylesheet" href="_static/pygments.css" type="text/css" /> <link rel="stylesheet" href="_static/classic.css" type="text/css" /> <script id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script> <script src="_static/jquery.js"></script> <script src="_static/underscore.js"></script> <script src="_static/doctools.js"></script> <link rel="author" title="About these documents" href="about.html" /> <link rel="index" title="Index" href="genindex.html" /> <link rel="search" title="Search" href="search.html" /> <link rel="prev" title="Example File Systems" href="example.html" /> </head><body> <div class="related" role="navigation" aria-label="related navigation"> <h3>Navigation</h3> <ul> <li class="right" style="margin-right: 10px"> <a href="genindex.html" title="General Index" accesskey="I">index</a></li> <li class="right" > <a href="py-modindex.html" title="Python Module Index" >modules</a> |</li> <li class="right" > <a href="example.html" title="Example File Systems" accesskey="P">previous</a> |</li> <li class="nav-item nav-item-0"><a href="index.html">Python-LLFUSE 1.4.2 documentation</a> »</li> <li class="nav-item nav-item-this"><a href="">Changelog</a></li> </ul> </div> <div class="document"> <div class="documentwrapper"> <div class="bodywrapper"> <div class="body" role="main"> <div class="section" id="changelog"> <h1>Changelog<a class="headerlink" href="#changelog" title="Permalink to this headline">¶</a></h1> <p><strong>WARNING</strong>: Python-LLFUSE is no longer actively developed.</p> <div class="section" id="release-1-4-2-2022-05-31"> <h2>Release 1.4.2 (2022-05-31)<a class="headerlink" href="#release-1-4-2-2022-05-31" title="Permalink to this headline">¶</a></h2> <ul class="simple"> <li><p>cythonize with Cython 0.29.30 (brings python 3.11 support)</p></li> <li><p>also test on python 3.10 and 3.11-dev</p></li> <li><p>remove “nonempty” default mount option, seems unsupported now.</p></li> </ul> </div> <div class="section" id="release-1-4-1-2021-01-31"> <h2>Release 1.4.1 (2021-01-31)<a class="headerlink" href="#release-1-4-1-2021-01-31" title="Permalink to this headline">¶</a></h2> <ul class="simple"> <li><p>timestamp rounding tests: avoid y2038 issue in test</p></li> </ul> </div> <div class="section" id="release-1-4-0-2021-01-24"> <h2>Release 1.4.0 (2021-01-24)<a class="headerlink" href="#release-1-4-0-2021-01-24" title="Permalink to this headline">¶</a></h2> <ul class="simple"> <li><p>Remove py2 and py3<3.5 support, minimum requirement is Python 3.5 now. If you are stuck on Python 2.x or < 3.5, use llfuse<1.4.0.</p></li> <li><p>setup.py: return rc=2 in error cases, fixes #52. implements same behaviour as pyfuse3 for these cases.</p></li> <li><p>Use EACCES instead of EPERM for file permission errors, fixes #36.</p></li> <li><p>Fix long-standing rounding error in file date handling when the nanosecond part of file dates were > 999999500, fixes #38.</p></li> <li><p>Docs: add link to pyfuse3 porting hints ticket</p></li> <li><p>Testing:</p> <ul> <li><p>Add Power support (ppc64le) to travis CI.</p></li> <li><p>Move CI to GitHub Actions, except ppc64le.</p></li> <li><p>Test fixes for pytest 6.</p></li> </ul> </li> </ul> </div> <div class="section" id="release-1-3-8-2020-10-10"> <h2>Release 1.3.8 (2020-10-10)<a class="headerlink" href="#release-1-3-8-2020-10-10" title="Permalink to this headline">¶</a></h2> <ul class="simple"> <li><p>fix compilation on FreeBSD, #28</p></li> <li><p>export DEVELOPER_MODE=1 can be used to opt in (default is 0), #22</p></li> <li><p>twine-based pypi-uploading, Qubes OS support for GPG signing, see util/sdist-sign and pypi-upload</p></li> </ul> </div> <div class="section" id="release-1-3-7-2020-10-04"> <h2>Release 1.3.7 (2020-10-04)<a class="headerlink" href="#release-1-3-7-2020-10-04" title="Permalink to this headline">¶</a></h2> <ul class="simple"> <li><p>Rebuild with Cython 0.29.21 for Python 3.9 compatibility.</p></li> </ul> </div> <div class="section" id="release-1-3-6-2019-02-14"> <h2>Release 1.3.6 (2019-02-14)<a class="headerlink" href="#release-1-3-6-2019-02-14" title="Permalink to this headline">¶</a></h2> <ul class="simple"> <li><p>No change upload.</p></li> <li><p>Python-LLFUSE is no longer actively maintained. Unless you are stuck with Python 2.x or libfuse 2.x, we recommended to use the pyfuse3 module instead.</p></li> </ul> </div> <div class="section" id="release-1-3-5-2018-08-30"> <h2>Release 1.3.5 (2018-08-30)<a class="headerlink" href="#release-1-3-5-2018-08-30" title="Permalink to this headline">¶</a></h2> <ul class="simple"> <li><p>Add <code class="docutils literal notranslate"><span class="pre">handle_signals</span></code> option to <code class="docutils literal notranslate"><span class="pre">llfuse.main</span></code></p></li> <li><p>Several fixes to <code class="docutils literal notranslate"><span class="pre">examples/passthroughfs.py</span></code></p></li> <li><p>Now compatible with Python 3.7</p></li> </ul> </div> <div class="section" id="release-1-3-4-2018-04-29"> <h2>Release 1.3.4 (2018-04-29)<a class="headerlink" href="#release-1-3-4-2018-04-29" title="Permalink to this headline">¶</a></h2> <ul class="simple"> <li><p>No-change rebuild with Cython 0.28.2.</p></li> </ul> </div> <div class="section" id="release-1-3-3-2018-03-31"> <h2>Release 1.3.3 (2018-03-31)<a class="headerlink" href="#release-1-3-3-2018-03-31" title="Permalink to this headline">¶</a></h2> <ul class="simple"> <li><p>Dropped pytest-catchlog dependency and add support for Pytest 3.3.0.</p></li> <li><p>Minor bugfixes.</p></li> </ul> </div> <div class="section" id="release-1-3-2-2017-11-13"> <h2>Release 1.3.2 (2017-11-13)<a class="headerlink" href="#release-1-3-2-2017-11-13" title="Permalink to this headline">¶</a></h2> <ul class="simple"> <li><p>Minor bugfixes.</p></li> </ul> </div> <div class="section" id="release-1-3-1-2017-09-22"> <h2>Release 1.3.1 (2017-09-22)<a class="headerlink" href="#release-1-3-1-2017-09-22" title="Permalink to this headline">¶</a></h2> <ul class="simple"> <li><p>The main loop now terminates properly again when terminated by a signal.</p></li> </ul> </div> <div class="section" id="release-1-3-2017-09-15"> <h2>Release 1.3 (2017-09-15)<a class="headerlink" href="#release-1-3-2017-09-15" title="Permalink to this headline">¶</a></h2> <ul class="simple"> <li><p>The <a class="reference internal" href="data.html#llfuse.StatvfsData" title="llfuse.StatvfsData"><code class="xref py py-obj docutils literal notranslate"><span class="pre">StatvfsData</span></code></a> class now has an <code class="xref py py-obj docutils literal notranslate"><span class="pre">~StatvfsData.f_namemax</span></code> attribute.</p></li> <li><p><a class="reference internal" href="data.html#llfuse.EntryAttributes" title="llfuse.EntryAttributes"><code class="xref py py-obj docutils literal notranslate"><span class="pre">EntryAttributes</span></code></a> and <a class="reference internal" href="data.html#llfuse.StatvfsData" title="llfuse.StatvfsData"><code class="xref py py-obj docutils literal notranslate"><span class="pre">StatvfsData</span></code></a> instances can now be pickled and copied. Other llfuse classes now raise an exception when the do not support pickling/copying.</p></li> </ul> </div> <div class="section" id="release-1-2-2017-01-22"> <h2>Release 1.2 (2017-01-22)<a class="headerlink" href="#release-1-2-2017-01-22" title="Permalink to this headline">¶</a></h2> <ul> <li><p>The <em>attr</em> argument of the <a class="reference internal" href="operations.html#llfuse.Operations.setattr" title="llfuse.Operations.setattr"><code class="xref py py-obj docutils literal notranslate"><span class="pre">setattr</span></code></a> handler now contains valid values only for the attributes that are to be set.</p> <p>Previously, the documentation assorted that other attributes would be set to the original (unchanged) values. However, that was actually never the case.</p> </li> </ul> </div> <div class="section" id="release-1-1-1-2016-07-27"> <h2>Release 1.1.1 (2016-07-27)<a class="headerlink" href="#release-1-1-1-2016-07-27" title="Permalink to this headline">¶</a></h2> <ul class="simple"> <li><p>Fixed the description of the <a class="reference internal" href="operations.html#llfuse.Operations.lookup" title="llfuse.Operations.lookup"><code class="xref py py-obj docutils literal notranslate"><span class="pre">lookup</span></code></a> handler (should return zero if there is no such entry, not a negative value).</p></li> <li><p>Fixed the description of the <a class="reference internal" href="data.html#llfuse.EntryAttributes" title="llfuse.EntryAttributes"><code class="xref py py-obj docutils literal notranslate"><span class="pre">EntryAttributes</span></code></a> structure (descriptions of <a class="reference internal" href="data.html#llfuse.EntryAttributes.attr_timeout" title="llfuse.EntryAttributes.attr_timeout"><code class="xref py py-obj docutils literal notranslate"><span class="pre">attr_timeout</span></code></a> and <a class="reference internal" href="data.html#llfuse.EntryAttributes.entry_timeout" title="llfuse.EntryAttributes.entry_timeout"><code class="xref py py-obj docutils literal notranslate"><span class="pre">entry_timeout</span></code></a> were switched).</p></li> </ul> </div> <div class="section" id="release-1-1-2016-05-23"> <h2>Release 1.1 (2016-05-23)<a class="headerlink" href="#release-1-1-2016-05-23" title="Permalink to this headline">¶</a></h2> <ul class="simple"> <li><p>Added support for nanosecond resolution time-stamps in GNU/kFreeBSD.</p></li> <li><p>Fixed another set of build issues on FreeBSD.</p></li> </ul> </div> <div class="section" id="release-1-0-2016-03-08"> <h2>Release 1.0 (2016-03-08)<a class="headerlink" href="#release-1-0-2016-03-08" title="Permalink to this headline">¶</a></h2> <p><strong>Note:</strong> 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.</p> <ul class="simple"> <li><p>Fixed an overflow when accessing the <code class="docutils literal notranslate"><span class="pre">*st_xtime_ns</span></code> attributes of the <a class="reference internal" href="data.html#llfuse.EntryAttributes" title="llfuse.EntryAttributes"><code class="xref py py-obj docutils literal notranslate"><span class="pre">EntryAttributes</span></code></a> class from Python on 32-bit systems.</p></li> <li><p>POTENTIAL COMPATIBILITY BREAK: The <a class="reference internal" href="operations.html#llfuse.Operations.destroy" title="llfuse.Operations.destroy"><code class="xref py py-obj docutils literal notranslate"><span class="pre">destroy</span></code></a> handler is now called with the global lock acquired.</p></li> </ul> </div> <div class="section" id="release-0-43-2016-02-23"> <h2>Release 0.43 (2016-02-23)<a class="headerlink" href="#release-0-43-2016-02-23" title="Permalink to this headline">¶</a></h2> <ul class="simple"> <li><p>Fixed build-failure under OS-X.</p></li> <li><p>Fixed some build failures under FreeBSD (hopefully all of them, but no testers were available before the release).</p></li> <li><p>The <em>workers</em> parameter to <a class="reference internal" href="fuse_api.html#llfuse.main" title="llfuse.main"><code class="xref py py-obj docutils literal notranslate"><span class="pre">llfuse.main</span></code></a> may now be <a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.10)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">None</span></code></a>.</p></li> </ul> </div> <div class="section" id="release-0-42-1-2016-02-01"> <h2>Release 0.42.1 (2016-02-01)<a class="headerlink" href="#release-0-42-1-2016-02-01" title="Permalink to this headline">¶</a></h2> <ul class="simple"> <li><p>Include HTML documentation.</p></li> </ul> </div> <div class="section" id="release-0-42-2016-01-30"> <h2>Release 0.42 (2016-01-30)<a class="headerlink" href="#release-0-42-2016-01-30" title="Permalink to this headline">¶</a></h2> <ul class="simple"> <li><p>The documentation has been clarified and extended - please take a look even if you’re already familiar with Python-LLFUSE.</p></li> <li><p>Extended coverage of unit tests.</p></li> <li><p>Fixed a compile error under OS-X.</p></li> <li><p>Added <a class="reference internal" href="fuse_api.html#llfuse.notify_store" title="llfuse.notify_store"><code class="xref py py-obj docutils literal notranslate"><span class="pre">notify_store</span></code></a> function.</p></li> <li><p>Added <a class="reference internal" href="util.html#llfuse.get_sup_groups" title="llfuse.get_sup_groups"><code class="xref py py-obj docutils literal notranslate"><span class="pre">get_sup_groups</span></code></a> function.</p></li> <li><p>The <a class="reference internal" href="operations.html#llfuse.Operations.read" title="llfuse.Operations.read"><code class="xref py py-obj docutils literal notranslate"><span class="pre">read</span></code></a> handler may now return arbitrary objects that as long as they implement the buffer protocol.</p></li> <li><p>Implemented a <em>forget_multi</em> handler (used behind the scenes).</p></li> <li><p>Many classes were rewritten in Cython for improved performance.</p></li> <li><p>Python thread-specific data is now initialized only once rather than every time a handler is called.</p></li> <li><p>SIGINT (Ctrl-C) now properly terminates <a class="reference internal" href="fuse_api.html#llfuse.main" title="llfuse.main"><code class="xref py py-obj docutils literal notranslate"><span class="pre">llfuse.main</span></code></a> also when running with multiple workers.</p></li> <li><p>The return value of <a class="reference internal" href="fuse_api.html#llfuse.main" title="llfuse.main"><code class="xref py py-obj docutils literal notranslate"><span class="pre">llfuse.main</span></code></a> now indicates if the loop was terminated due to an unmount request or due to a signal.</p></li> </ul> <p>BACKWARDS INCOMPATIBLE CHANGES:</p> <ul class="simple"> <li><p>Ducktyping the <a class="reference internal" href="data.html#llfuse.EntryAttributes" title="llfuse.EntryAttributes"><code class="xref py py-obj docutils literal notranslate"><span class="pre">EntryAttributes</span></code></a> class is no longer allowed, <a class="reference internal" href="operations.html#llfuse.Operations" title="llfuse.Operations"><code class="xref py py-obj docutils literal notranslate"><span class="pre">Operations</span></code></a> methods must return instances of this class (rather than any object that provides the necessary attributes).</p></li> <li><p>The <code class="xref py py-obj docutils literal notranslate"><span class="pre">st_Xtime</span></code> attributes of the <a class="reference internal" href="data.html#llfuse.EntryAttributes" title="llfuse.EntryAttributes"><code class="xref py py-obj docutils literal notranslate"><span class="pre">EntryAttributes</span></code></a> have been dropped in favor of the <code class="xref py py-obj docutils literal notranslate"><span class="pre">st_Xtime_ns</span></code> attributes.</p></li> <li><p>The <a class="reference external" href="https://docs.python.org/3/library/functions.html#setattr" title="(in Python v3.10)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">setattr</span></code></a> method now always receives a completely filled <a class="reference internal" href="data.html#llfuse.EntryAttributes" title="llfuse.EntryAttributes"><code class="xref py py-obj docutils literal notranslate"><span class="pre">EntryAttributes</span></code></a> instance. To determine which attributes should be changed, a new <em>fields</em> argument has been introduced.</p></li> <li><p>The <a class="reference internal" href="operations.html#llfuse.Operations.setattr" title="llfuse.Operations.setattr"><code class="xref py py-obj docutils literal notranslate"><span class="pre">setattr</span></code></a> method now also receives an <em>fh</em> parameter.</p></li> <li><p>The <a class="reference internal" href="fuse_api.html#llfuse.main" title="llfuse.main"><code class="xref py py-obj docutils literal notranslate"><span class="pre">llfuse.main</span></code></a> function now has a <em>workers</em> parameter, and the <em>single</em> parameter was dropped.</p></li> <li><p>Almost all request handlers now receive a <a class="reference internal" href="data.html#llfuse.RequestContext" title="llfuse.RequestContext"><code class="xref py py-obj docutils literal notranslate"><span class="pre">RequestContext</span></code></a> instance in an additional parameter.</p></li> </ul> </div> <div class="section" id="release-0-41-1-2015-08-22"> <h2>Release 0.41.1 (2015-08-22)<a class="headerlink" href="#release-0-41-1-2015-08-22" title="Permalink to this headline">¶</a></h2> <ul class="simple"> <li><p>Added some files in <code class="file docutils literal notranslate"><span class="pre">test/</span></code> that were missing in the 0.41 tarball. Tests now support the <code class="docutils literal notranslate"><span class="pre">--installed</span></code> option, produce prettier output, and check for error messages printed to stderr or stdout.</p></li> <li><p>Python-LLFUSE can now also be built on NetBSD.</p></li> <li><p>Added support for FUSE_SET_ATTR_ATIME_NOW and FUSE_SET_ATTR_MTIME_NOW setattr flags. Previously, these would be silently ignored.</p></li> <li><p>Fixed an AssertionError in <code class="file docutils literal notranslate"><span class="pre">examples/passthroughfs.py</span></code></p></li> </ul> </div> <div class="section" id="release-0-41-2015-08-20"> <h2>Release 0.41 (2015-08-20)<a class="headerlink" href="#release-0-41-2015-08-20" title="Permalink to this headline">¶</a></h2> <ul class="simple"> <li><p>Fixed a syntax error in contrib/tmpfs.py</p></li> <li><p>Introduced an <code class="xref py py-obj docutils literal notranslate"><span class="pre">llfuse.__version__</span></code> attribute.</p></li> <li><p>Added more reasonable default values for <a class="reference internal" href="data.html#llfuse.EntryAttributes" title="llfuse.EntryAttributes"><code class="xref py py-obj docutils literal notranslate"><span class="pre">llfuse.EntryAttributes</span></code></a>.</p></li> <li><p>Added new minimal example, <code class="file docutils literal notranslate"><span class="pre">examples/lltest.py</span></code>.</p></li> <li><p>Added unit tests.</p></li> <li><p>Added an example for a pass-through file system, <code class="file docutils literal notranslate"><span class="pre">examples/passthroughfs.py</span></code>.</p></li> </ul> </div> <div class="section" id="release-0-40-2013-11-26"> <h2>Release 0.40 (2013-11-26)<a class="headerlink" href="#release-0-40-2013-11-26" title="Permalink to this headline">¶</a></h2> <ul class="simple"> <li><p>Re-raising an exception from a request handler now works correctly under Python 3. Problems were caused by a Cython bug, but llfuse now works around the issue.</p></li> <li><p>File atime, ctime and mtime can now also be represented as nanosecond integer values for increased resolution. Thanks to <a class="reference external" href="mailto:nagy.attila%40gmail.com">nagy<span>.</span>attila<span>@</span>gmail<span>.</span>com</a> for the initial patch.</p></li> <li><p>Python-llfuse no longer includes the setuptools/distribute bootstrap script. This module thus has to be installed manually if not already present on the system.</p></li> <li><p>Duck-typing of the Operations instance is now supported.</p></li> <li><p>Python-llfuse no longer requires a re-compilation of the Cython code (setup.py build_cython step) when compiling for MacOS or FreeBSD.</p></li> <li><p>Extended attributes are now properly supported under FreeBSD.</p></li> </ul> </div> <div class="section" id="release-0-39-2013-05-11"> <h2>Release 0.39 (2013-05-11)<a class="headerlink" href="#release-0-39-2013-05-11" title="Permalink to this headline">¶</a></h2> <ul> <li><p>When running under Python 3.x, several functions now work with string objects rather than byte objects:</p> <ul class="simple"> <li><p>llfuse.init(): the <em>mountpoint</em> argument, and the elements of the <em>fuse_opts</em> argument are expected to be of type str.</p></li> <li><p>llfuse.listdir(): the <em>path</em> argument is expected to be of type str, and the values returned by the iterator will be of type str as well.</p></li> <li><p>llfuse.getxattr(), llfuse.setxattr(): the <em>path</em> and <em>name</em> arguments are expected to be of type str.</p></li> </ul> <p>When necessary, values will be converted to the file system encoding using the surrogatescape handler as described in PEP 383 (<a class="reference external" href="http://www.python.org/dev/peps/pep-0383/">http://www.python.org/dev/peps/pep-0383/</a>)</p> </li> <li><p>Renamed get_off_t_bytes() and get_ino_t_bytes() to get_off_t_bits() and get_ino_t_bits() and documented them.</p></li> </ul> </div> <div class="section" id="release-0-38-2013-01-05"> <h2>Release 0.38 (2013-01-05)<a class="headerlink" href="#release-0-38-2013-01-05" title="Permalink to this headline">¶</a></h2> <ul class="simple"> <li><p>Various small bugfixes.</p></li> </ul> </div> <div class="section" id="release-0-37-1-2011-12-10"> <h2>Release 0.37.1 (2011-12-10)<a class="headerlink" href="#release-0-37-1-2011-12-10" title="Permalink to this headline">¶</a></h2> <ul class="simple"> <li><p>Fixed a segfault-causing race condition in Lock.acquire() and Lock.yield().</p></li> </ul> </div> <div class="section" id="release-0-37-2011-12-05"> <h2>Release 0.37 (2011-12-05)<a class="headerlink" href="#release-0-37-2011-12-05" title="Permalink to this headline">¶</a></h2> <ul> <li><p>Explicitly call fuse_chan_destroy() in llfuse.close(), so that the mountpoint becomes inaccessible right away, even while the process is still running.</p></li> <li><p>Added get_ino_t_bytes() and get_off_t_bytes() that return the number of bytes used for representing inode numbers and file offsets.</p></li> <li><p>The yield_() method of the global lock now takes an additional <em>count</em> argument that can be used to yield the lock more than once.</p></li> <li><p>Changed implementation of global lock. The global lock is no longer a mutex, but a boolean variable protected by a mutex, and changes are tracked with a condition object. This allows lock.yield() to work properly: if there are other threads waiting for the lock, they are guaranteed to run. If there are no other threads waiting for the lock, execution of the active thread continues immediately.</p> <p>The previous implementation using sched_yield() was mostly broken: threads trying to acquire the global lock were calling pthread_mutex_lock, so they got removed from the kernels runqueue. However, calls to sched_yield() would just put the active thread into the expired runqueue, and calls to pthread_mutex_unlock apparently do not synchronously move the threads waiting for the lock back to a runqueue. Therefore, most of the time the active thread would be the only thread in any runqueue and thus continue to run.</p> </li> <li><p>The Operations.forget() method now receives a list of (inode, nlookup) tuples rather than just one such tuple.</p></li> <li><p>invalidate_entry() and invalidate_inode() no longer work synchronously. Instead, the message is put in a queue and send by a background thread.</p></li> <li><p>The acquire() method of the global lock now has an optional <em>timeout</em> parameter.</p></li> <li><p>The create() request handler now receives the open flags as an additional parameter.</p></li> </ul> </div> <div class="section" id="release-0-36-2011-09-20"> <h2>Release 0.36 (2011-09-20)<a class="headerlink" href="#release-0-36-2011-09-20" title="Permalink to this headline">¶</a></h2> <ul class="simple"> <li><p>Don’t send SIGHUP if exception is encountered in destroy() handler (since at that point, main loop has already terminated and signal handling been reset).</p></li> <li><p>Fix a problem with request handler exceptions being re-raised not only in llfuse.main(), but also in llfuse.close() when running single threaded.</p></li> </ul> </div> <div class="section" id="release-0-35-2011-09-14"> <h2>Release 0.35 (2011-09-14)<a class="headerlink" href="#release-0-35-2011-09-14" title="Permalink to this headline">¶</a></h2> <ul class="simple"> <li><p>Explicitly initialize Python thread support. Previously, calling llfuse.main() resulted in a crash if no Python threads were used before the call.</p></li> <li><p>Removed handle_exc() method. If request handle raise an exception, the main loop now terminates and the exception is re-raised and passed to the caller of llfuse.main().</p></li> <li><p>llfuse.close() can now leave the mountpoint in an inaccessible state to signal a shutdown due to an internal file system error.</p></li> <li><p>The destroy() request handler is now called without the global lock acquired. This makes sense, because it’s not called as part of the main loop but by llfuse.close().</p></li> </ul> </div> <div class="section" id="release-0-34-2011-08-10"> <h2>Release 0.34 (2011-08-10)<a class="headerlink" href="#release-0-34-2011-08-10" title="Permalink to this headline">¶</a></h2> <ul class="simple"> <li><p>Explicitly cast S_* constants to mode_t to prevent compiler warnings on FreeBSD.</p></li> <li><p>Fixed initialization error under Python 3.</p></li> </ul> </div> <div class="section" id="release-0-33-2011-07-03"> <h2>Release 0.33 (2011-07-03)<a class="headerlink" href="#release-0-33-2011-07-03" title="Permalink to this headline">¶</a></h2> <ul class="simple"> <li><p>Various small bugfixes.</p></li> </ul> </div> <div class="section" id="release-0-32-2011-06-04"> <h2>Release 0.32 (2011-06-04)<a class="headerlink" href="#release-0-32-2011-06-04" title="Permalink to this headline">¶</a></h2> <ul class="simple"> <li><p>Fixed unlink() bug in contrib/example.py</p></li> <li><p>Include <code class="file docutils literal notranslate"><span class="pre">src/*.pxi</span></code> files in release tarball. Were accidentally omitted in previous version.</p></li> <li><p>Moved debian/ directory into separate repository.</p></li> </ul> </div> <div class="section" id="release-0-31-2011-05-12"> <h2>Release 0.31 (2011-05-12)<a class="headerlink" href="#release-0-31-2011-05-12" title="Permalink to this headline">¶</a></h2> <ul class="simple"> <li><p>Use long for storing nanoseconds in file [amc]times, not int.</p></li> </ul> </div> <div class="section" id="release-0-30-2011-03-08"> <h2>Release 0.30 (2011-03-08)<a class="headerlink" href="#release-0-30-2011-03-08" title="Permalink to this headline">¶</a></h2> <ul class="simple"> <li><p>Fixed compile errors with Python 3.0 and 3.1.</p></li> <li><p>Fixed error handling, errno is now read correctly.</p></li> <li><p>Documentation is now shipped in tarball rather than generated during installation.</p></li> </ul> </div> <div class="section" id="release-0-29-2010-12-30"> <h2>Release 0.29 (2010-12-30)<a class="headerlink" href="#release-0-29-2010-12-30" title="Permalink to this headline">¶</a></h2> <ul class="simple"> <li><p>Initial release</p></li> </ul> </div> </div> <div class="clearer"></div> </div> </div> </div> <div class="sphinxsidebar" role="navigation" aria-label="main navigation"> <div class="sphinxsidebarwrapper"><h3><a href="index.html">Table Of Contents</a></h3> <ul class="current"> <li class="toctree-l1"><a class="reference internal" href="about.html">About</a></li> <li class="toctree-l1"><a class="reference internal" href="install.html">Installation</a></li> <li class="toctree-l1"><a class="reference internal" href="general.html">General Information</a></li> <li class="toctree-l1"><a class="reference internal" href="fuse_api.html">FUSE API Functions</a></li> <li class="toctree-l1"><a class="reference internal" href="data.html">Data Structures</a></li> <li class="toctree-l1"><a class="reference internal" href="lock.html">The global lock</a></li> <li class="toctree-l1"><a class="reference internal" href="operations.html">Request Handlers</a></li> <li class="toctree-l1"><a class="reference internal" href="util.html">Utility Functions</a></li> <li class="toctree-l1"><a class="reference internal" href="gotchas.html">Common Gotchas</a></li> <li class="toctree-l1"><a class="reference internal" href="example.html">Example File Systems</a></li> <li class="toctree-l1 current"><a class="current reference internal" href="#">Changelog</a></li> </ul> <h4>Previous topic</h4> <p class="topless"><a href="example.html" title="previous chapter">Example File Systems</a></p> <div id="searchbox" style="display: none" role="search"> <h3 id="searchlabel">Quick search</h3> <div class="searchformwrapper"> <form class="search" action="search.html" method="get"> <input type="text" name="q" aria-labelledby="searchlabel" /> <input type="submit" value="Go" /> </form> </div> </div> <script>$('#searchbox').show(0);</script> </div> </div> <div class="clearer"></div> </div> <div class="related" role="navigation" aria-label="related navigation"> <h3>Navigation</h3> <ul> <li class="right" style="margin-right: 10px"> <a href="genindex.html" title="General Index" >index</a></li> <li class="right" > <a href="py-modindex.html" title="Python Module Index" >modules</a> |</li> <li class="right" > <a href="example.html" title="Example File Systems" >previous</a> |</li> <li class="nav-item nav-item-0"><a href="index.html">Python-LLFUSE 1.4.2 documentation</a> »</li> <li class="nav-item nav-item-this"><a href="">Changelog</a></li> </ul> </div> <div class="footer" role="contentinfo"> © Copyright 2010-2015, Nikolaus Rath. Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 3.4.3. </div> </body> </html>