Dear Users,

3.12.0 is officially out!

Featuring:

- C API
- nfs-ganesha plugin (with multiple exports allowed)
- RichACL - a new POSIX + NFSv4 compatible ACL standard
- OSX ACL support through osxfuse
- ACL in-memory deduplication
- client readahead enabled by default
- file lock fixes
- AVX2 support for erasure code goals
- MinGW compilation fixes
- more flexible chunkserver options
- many fixes


Detailed info:

* C API *

LizardFS 3.12 comes with liblizardfs-client library and C language API header.
It's now possible to build programs/plugins with direct support for LizardFS operations,
no FUSE needed. For reference, see:
src/mount/client/lizardfs_c_api.h
src/data/liblizardfs-client-example.c

For those building LizardFS from source, pass a -DENABLE_CLIENT_LIB=YES flag to cmake
in order to make sure you're building client library as well.


* nfs-ganesha plugin *

Our official plugin for Ganesha NFS server is included as well. This plugin enables
a LizardFS FSAL (File System Abstraction Layer) to Ganesha, which is then used
to access LizardFS clusters directly. Our new plugin is pNFS and NFSv4.1 friendly.

For those building LizardFS from source, pass a -DENABLE_NFS_GANESHA=YES flag to cmake in order to make sure you're building client library as well.


* RichACL *
In order to extend POSIX access control list implementation we introduced RichACL support.
Backward compatibility with POSIX ACLs is guaranteed. Additionally, it's possible to use NFSv4-style ACL tools (nfs4_getfacl/nfs4_setfacl) and RichACL tools (getrichacl/setrichacl) to manage more complicated access control rules.


* OSX ACL *
Setting/getting ACLs is also possible on OSX via both command line chmod/ls -e interface and desktop.


* File lock fixes *
Global file locking mechanism is now fully fixed and passes all NFS lock tests from connectathon suite.


* AVX2 *
Erasure code goal computing routines now take full advantage of AVX2 processor extensions.


* MinGW *
LizardFS is now bug-free again for MinGW cross-compiling.


* Chunkserver options *
Replication limits are now fully configurable in chunkserver config.
Also, chunk test (a.k.a. scrubbing) has 1 millisecond precision now instead of previous 1 second, which allows users to turn on more aggressive scrubbing with simple chunkserver reload.

Cheers,
Piotr Sarna
LizardFS Team

