• Kirill Smelkov's avatar
    bigfile/zodb: Teach ZBigFile backend to use WCFS · c5e18c74
    Kirill Smelkov authored
    By using WCFS as mmap-overlay for base data(*). WCFS-mode is still opt-in
    with default remaining to use old full user-space virtual memory manager
    mode as initially introduced in 2015.
    Wendelin.core should be draftly usable in WCFS mode now.
    This patch is organized as follows:
    - file_zodb.cpp provides mmap-overlay operations for WCFS implemented via
      WCFS client library.
    - file_zodb.py is adjusted accordingly to use WCFS if requested.
      Low-level things specific to gluing to file_zodb.cpp are moved to _file_zodb.pyx.
    - the rest of the changes are drive-by by main ones.
    (*) see the following patches for what is mmap-overlay:
    - fae045cc  (bigfile/virtmem: Introduce "mmap overlay" mode)
    - 23362204  (bigfile/py: Allow PyBigFile backend to expose "mmap overlay" functionality)
    Some preliminary history:
    kirr/wendelin.core@01916f09    X Draft demo that reading data through wcfs works
    kirr/wendelin.core@fd58082a    X Fix build on old GCC
    kirr/wendelin.core@f622e751    X tests: Stop wcfs spawned during tests
    kirr/wendelin.core@f118617b    X tests: Don't try to stop wcfs that is already exited