| 0.99.39 - Mon 21 Jul 2008 |
| - Initial version submitted to sourceforge |
| |
| 0.99.40 - Mon 28 Jul 2008 |
| - Fixed several memory issues in NFSv4 implementation |
| - Fixed several memory issues in FSAL_PROXY |
| - Fixed a badly placed Mem_Free in support/nfs_state_id.c (function nfs4_State_Del) |
| - Added Handle Mapping feature in FSAL_PROXY which makes it possible to export |
| back in NFSv2 and NFSv3 from a proxyfied server accessed via NFSv4 |
| |
| 0.99.41 - Mon 18 Aug 2008 |
| - Fixed nfs4_op_access bug due to bad interpretation of the RFC for |
| OP_ACCESS4 |
| - Added extended features in BuddyMalloc module to enable extended |
| memory leak tracking (run the ./configure script with the following |
| options : "--enable-debug-memleaks --disable-block-prealloc") |
| - Fixed a bug in FSAL_PROXY that made every user have root permissions |
| in a few situations |
| - Bug fixed: bad offset management in FSAL_read/FSAL_write for |
| FSAL_PROXY. This made the datacache behaves weirdly. |
| - Use All-0 stateid for r/w operations made for maintaining the data |
| cache coherent with the "proxyfied" server with FSAL_PROXY. Due to |
| this the parameter NFSv4_Proxy::Open_by_FH_Working_Dir is no more |
| required, making the configuration of nfs-ganesha as a proxy much |
| easier |
| - FSAL_PROXY now supports RPCSEC_GSS authentication |
| |
| 0.99.42 - Mon 29 Sep 2008 |
| - Added xattr support in NFSv4. For object "foo" a ghost |
| directory name ".xattr.d.foo" is used to access extended attributes |
| - Added xattr ghost directory and ghost objects for NFSv3. These "extended |
| attributes" are read-only for the moment. These two new features may |
| be disable if "--disable-xattr-directory" is used at "./configure" time |
| - Enhancement in FSAL_GetXattrs function (file FSAL/FSAL_*/fsal_xattrs.c) for |
| making integration to xattr.d easier |
| |
| 0.99.43 - Fri 10 Oct 2008 |
| - Fixed RPCSEC_GSS support. It is now possible to mount with krb5 |
| authentication. Security tuple krb5, krb5i and krb5p are supported |
| - Add RPCSEC_GSS specifc feature for NFSv4 |
| - Add RPCSEC_GSS specifc feature for NFSv3 |
| - Configuration file supports "nodesets" syntax( the set |
| "node1,node3,node4,node5,node6" can be summarized as |
| "node[1,3,4-6]). This feature is very useful if your client is a |
| cluster. |
| - New RPM packaging. |
| - The libganeshaNFS that provide NFS exports for FUSE ready product is |
| now available as both static and shared libraries. |
| |
| 0.99.44 - Mon 20 Oct 2008 |
| - NFS4_OP_OPEN default behaviour is now to ask the client to confirm |
| the open using NFS5_OP_OPEN_CONFIRM. The default behaviour was |
| formerly the opposite. |
| - A bug in NFS4_OP_OPEN : same open_owner could have multiple states |
| on the same file in certain cases |
| - Many bug fixed in NFS4_OP_LOCK |
| - libganeshaNFS (produced when FSAL_FUSELIKE is chosen) can now be |
| managed by pkgconfig (a ".pc" file is added to the install target) |
| - Improved compatibility for old FUSE filesystems that implement getdir |
| instead of readdir. |
| - FUSE-like binding now support filesystems with no inode numbers. |
| - TIRPC can be use as alternate RPC layer. In later releases, this |
| feature will be used to support IPv6 with NFS-GANESHA. |
| - Added a 'init' scripts to be place in /etc/init.d |
| - Added stuff to specfile so that it installs the .vim files |
| |
| 0.99.45 - Wed 5 Nov 2008 |
| - Add IPv6 support via TIRPC support |
| - Add features to configuration file parsing for IPv6 address |
| - Bug fix in handle mapping module for FSAL_PROXY |
| - Bug Fix: Bad verifier management in FSAL_PROXY's cleintid |
| negociation |
| - Bug fix: bad management of uid=0 is uidgidmap cache when using |
| RPCSEC_GSS authentication. |
| - Bug fix: several bug fixed in .xattr.d management for NFSv3 |
| |
| 0.99.46 - Wed 18 Nov 2008 |
| - Bug fix: possible deadlock may occur in worker thread when using tcp |
| clients |
| - Minor feature: MD cache now uses home made RW_Lock (the same that |
| Hashtable module already uses). Call rw_lock_downgrade was added to |
| RW_Lock module |
| - DataCache GC is done by an external call to the ganesha service |
| started in "syncers" of "flushers" mode. |
| |
| 0.99.47 - Thu 4 Dec 2008 |
| - Running the Spec benchmark on nfs-ganesha showed a bug in attributes |
| asked at creation time in NFSPROC3_CREATE, this has been fixed |
| - Fix non-compliancy (thanks again to Spec NFS) in NFSPROC3_SYMLINK (attributes provided as |
| arguments were never used). |
| - Code cleanup: removed structure related to deprecated way of |
| performing datacache's garbagge collection. |
| - Major feature added : skeleton and "basements" added for MFSL, a |
| new module that goes between md cache and FSAL |
| - Removed direct Cache_Inode_Async, md writeback will be provided in a |
| future module MFSL_ASYNC in MFSL directory |
| |
| 0.99.48 - Mon 15 Dec 2008 |
| - Renamed yyparse and yylex functions so that GANESHA/FUSE would no |
| more interfer with FUSE modules that uses lex/yacc parsing |
| - FSAL_PROXY was ported to MacOS X (Darwin 9.5.0) |
| - FSAL_FUSE was ported to MacOS X (Darwin 9.5.0). This allow user |
| space libs with fuse binding to be used from MacOS through |
| NFS-GANESHA |
| - FSAL_SNMP has been ported to MacOS X (Darwin 9.5.0) |
| - FSAL_POSIX has been ported to MacOS X (Darwin 9.5.0) |
| |
| 0.99.49 - Fri 9 Jan 2009 |
| - FSAL_PROXY has been ported to FreeBSD 7.0 |
| - FSAL_FUSE has been ported to FreeBSD 7.0 (FUSE ready product can now |
| export in NFS via NFS-GANESHA) |
| - FSAL_POSIX has been ported to FreeBSD 7.0 |
| - FSAL_SNMP has been ported to FreeBSD 7.0 |
| - Code has been ported and validated to ia64 architecture for all |
| FSALs |
| |
| 0.99.50 - Fri 23 Jan 2009 |
| - Code has been validated on PPC/Linux architecture |
| - Fixed a Makefile.am that prevent from compiling with FSAL_FUSE and |
| gssrpc activated |
| - Added a 'debian' directory in order to produce debian packages |
| - FSAL_POSIX has been ported to OpenSolaris (alpha) |
| - FSAL_FUSE has been ported to OpenSolaris (beta) |
| - FSAL_PROXY has been ported to OpenSolaris (alpha) |
| - FSAL_SNMP has been ported to OpenSolaris (alpha) |
| - Bug fix: client's address was badly printed by the worker when nfs_export_check_access denied access |
| - Bug fix: syntax error in posix.ganesha.nfsd.conf configuration file example |
| |
| 0.99.51 - Fri 20 Mar 2009 |
| - MySQL can be used instead of PGSQL in FSAL_POSIX. It becomes the |
| default database for this FSAL. |
| - Bug Fix: Massive and parralel mount requests (e.g. : all nodes of a |
| compute cluster starting at the same time after a maintenance) could |
| lead to errors on client. This "denial of service" like trouble has |
| been fixed. |
| - Bug Fix: bad computation in FH checksum when compiled on x86_64 architecture |
| - MFSL_ASYNC: setattr has been made asynchronous |
| - MFSL_ASYNC: link has been made asynchronous |
| - MFSL_ASYNC: unlink has been made asynchronous |
| - MFSL_ASYNC: rename has been made asynchronous |
| - MFSL_ASYNC: truncate has been made asynchronous |
| - MFSL_ASYNC: mkdir has been made asynchronous |
| - MFSL_ASYNC: create has been made asynchronous |
| - New feature: very early alpha version of asynchronous metadata management is available via MFSL_ASYNC |
| This is to be activated by using --with-mfsl=ASYNC at configure time. |
| |
| 0.99.52 - Wed 8 Apr 2009 |
| - Bug Fix: possible race condition in cache_inode_readdir (badly placed rw_lock_downgrade) that could |
| lead in having cache_inode_readdir_populate called twice at the same time. |
| - MFSL_ASYNC: now, preallocated entries are owned by each |
| - Bug Fix: bad MFSL_Context management in ganeshell |
| - Bug Fix: deleted entry can no more be lookuped and accessed before |
| their real deletion. |
| - Lustre v2 FSAL Beta |
| - Fixed bug in RW_lock_downgrade function |
| - Fixed weak locking in cache_inode_remove |
| - I/O optimization and fixes |
| - Improved fd cache management |
| - Tweak fixes in logs |
| - A lot of debug messages now only appear for DEBUG and FULL_DEBUG log levels |
| |
| 0.99.53 - Wed 20 May 2009 |
| - Bug Fix in the non-regression test suite (badly managed |
| configuration file) |
| - Bug Fix: in MFSL_ASYNC, an entry is not looked up by cache_inode |
| layer if its parent is asynchronous, this will prevent from an |
| encountered incoherency (this issue was discovered with cthon's |
| basic test3) |
| - Bug Fix: in MFSL_ASYNC, numlinks was badly managed in MFSL_unlink, |
| files with numlinks >1 were deleted by MFSL_unlink |
| - Bug Fix: in MFSL_ASYNC, symbolic links can't be proceeded |
| asynchronously. Mechanism were added to bypass the asynchronous |
| management for this specific case |
| - MFSL_ASYNC: MFSL_create and MFSL_mkdir now use correctly the |
| credentials provided by the caller |
| - FSAL_POSIX uses pread/pwrite instead of fseek+fwrite/fseek+fread |
| - NFSv4 implementation now supports NFSv4 referrals |
| |
| 0.99.54 - Mon 22 Jun 2009 |
| - Bug Fixed in NFSV4 lock management : NFS4ERR_OPENMODE was not |
| returned in case a WRITE lock was requested on a read-only file |
| - Bug fixed in NFSv4 lock management : previously know lockowner where |
| badly managed. |
| - Bug fixed in NFSv4 lock management : NFS4ERR_OLD_STATEID was |
| returned instead of NFS4ERR_BAD_STATEID in severals cases |
| - Update nfs4_op_open's behaviour related to NFS4ERR_SHARE_DENIED |
| - Update nfs4_op_write and nfs4_op_read behavior regardings locks and |
| share reservations. |
| - OP4_LOCK/OP4_LOCKU bad behavior fixed |
| - add a missing relation between lock-stateids and related |
| open-stateids for managing seqid at state transition |
| - better management of OPEN4 with EXCLIVE4 repeated with same verifier |
| - Return NFS4ERR_LOCKS_HELD when closing a file with held locks |
| - all-one stateid is correctly managed in OP4_WRITE and OP4_READ |
| - Minor bug fixed in nfs4_op_open_confirm (errors when bad arguments |
| are used) |
| - bad seqid management in nfs4_op_close |
| - Fix bug in the use of ACCES4resok::supported flag |
| - MFSL_ASYNC now has startup routines to clean preallocated stuff left |
| by older instance of the server |
| - Bug Fix in OP_OPEN4 : if the file already existed as an |
| OPEN_CREATE operation was made with the UNCHECKED mode, the parent |
| directory remain as the cfh as the operation returned NFS4_OK, |
| leading to lots of mess about the file. |
| |
| 0.99.55 -Tue 30 Jun 2009 |
| - Stupid bug fix in nfs4_op_open.c (allocating a zero length |
| buffer...) |
| - Bug fix in OP_LOCKU4 implementation : no stateid was returned |
| - cache_inode_setattr was modified so that cache_inode_setattr can |
| set the size of a file (by calling FSAL_setattr). This is required |
| for a correct implementation of OP_OPEN4 |
| - Lots of problems were met when implementing NFSv4 state mechanism |
| and work is still in progress. To provide users with usable NFSv4 |
| exports, a "rather stateless" model has been implemented. More |
| complex implementation of NFSv4 state modelscan be activated by |
| using "--enable-nfs4-stateid" at ./configure time. In this last |
| case, the targeted client is 2.6.29-4 (Fedora11). |
| |
| 0.99.56 - Thu 9 Jul 2009 |
| - Change 2 log messages in MFSL_ASYNC |
| - Removed a debug messages in fusexmp_fh |
| - Bug fix in RW_Lock (may lead to deadlock when used in parralel with |
| several clients |
| - Prevent FSAL_PROXY to use udp as a transport layer, the |
| "NFSv4_Proxy::NFS_Proto" field from the configuration file as been |
| removed as well |
| - MFSL_ASYNC: now, only root can chmod or chgrp on a file/dir/symlink |
| - MFSL_ASYNC: the way mfsl_async_symlink was fully reviewd |
| |
| 0.99.57 - Thu 30 Jul 2009 |
| - Add NFSv3 commit/write logic |
| - newpynfs helped locating bug in nfs4_op_commit (bad types and write |
| verifier not set) |
| - Add NFSv4 commit/write logic |
| - Brand new management of the NFSv4 open_owner |
| - Bug fix in clientid generation (very bad hash function) |
| - File nfs4_op_lock.c was fully rewritten to fix bugs |
| - open_owner's seqid is to be incremented even if OPEN fails |
| - lock overlapping check was reviewed |
| - no seqid checking when making read/write |
| |
| 0.99.58 - Mon 14 Sep 2009 |
| - Use SOMAXCON in listen |
| - XDR modules now support NFSv4.1 protocol, the rest is to be |
| implemented |
| - Added nfs41_op_exchange_id, nfs41_op_create_session, |
| nfs41_op_sequence, nfs41_op_lock, nfs41_op_locku, nfs41_op_lockt |
| - Added early support for nfs41_op_create_session, |
| nfs41_op_exchange_id, nfs41_op_destroy_session |
| - command like 'mount -t nfs4 -o minorversion=1 ..' is now possible |
| but basic connectathon is not fully ok |
| |
| 0.99.59 - Wed 28 Oct 2009 |
| - Implementation of SEQUENCE's DRC |
| - Add new "NFSv4.1 specific errors" management in OP_SEQUENCE |
| - Bug Fix: test SEQ9c showed that the request replayed from the |
| session's DRC always had status NFS4_OK |
| - Bug Fix : Management of NFS4ERR_RETRY_UNCACHED_REP and non cached sequence |
| - Bug Fix : correct use of NFS4ERR_TOO_MANY_OPS |
| - Bug Fix : initial seqid value is 1 in NFSv4.1 |
| - Bug Fix : stateid's sequence increment was badly manage in case the |
| file was opened without being created at the same time. |
| - Minor change in rpcxid dupreq management |
| - Fix bad default parameters in config_samples/proxy.ganesha.nfsd.conf |
| - Add config file parameter NFSv4::DomainName (formerly domain was |
| alway "localdomain" which was a big lack of flexibility) |
| - Add macro %tmp_install_dir to spec file to avoid using dirty |
| variable TMP_INSTALL_DIR |
| - Add optional use of nfsidmap library |
| |
| 0.99.60 - Mon 30 Nov 2009 |
| - The uid/gid mapping functions did a bad use of their related |
| idmapper_cache functions (the cache was not used in several cases) |
| - Bug Fix : with kernel newer than 2.6.29, Connectathon's test6 failed |
| on NFSv4 and NFSv4.1. This is now fixed : eod is returned only when |
| the array of requested entries is empty (no more entry to be read in |
| the directory). |
| - Lock supports goes successfully through BULL's locktest when used |
| on top of NFSv4.1 (problems remains with NFSv4.0) |
| - Bug Fix: NFSv4 rsize/wsize had always value 1024 that killed |
| performances. |
| - Bug Fix : in nfsv4, the same open_owner opening a previously opened |
| fileid did not get the same stateid. |
| - Bug Fix : most of the time, files opened/created via NFSv4 were |
| never closed |
| |
| 0.99.61 - Fri 22 Jan 2010 |
| - A patch from Eric Sesterhenn about memleaks has been integrated. |
| - Bug Fix : now check value of csa_flags for OP4_CREATE_SESSION |
| - Bug Fix : OP4_LOOKUPP should return NFS4ERR_SYMLINK instead of |
| NFS4ERR_NOTDIR when cfh is related to a symbolic link. |
| - Bug Fix : error NFS4ERR_NOT_ONLY_OP managed for OP4_EXCHANGE_ID |
| - Bug Fix : OP4_LOOKUPP should return NFS4ERR_NOENT when called from |
| the rootfh |
| - Bug Fix : management of NFS4ERR_NOT_ONLY_OP introduced a bug when |
| compiling without NFSv4.1 support. This is now fixed. |
| - Changed bad #define in Log/log_functions.c (former situation could |
| lead to possible buffer overflow) |
| - A patch by Erik Levinson about the use of libnfsidmap with gssrpc |
| has been integrated |
| - Bug Fix : it was impossible to compile with both support for gssrpc |
| and support for NFSv4.1 (mismatch in nfsv41.h and xdr_nfsv41.c) |
| |
| 0.99.62 - Fri 5 Mar 2010 |
| - Security fix : badly managed caller_gid in nfs_exports.c |
| - Fixed a typo in nfs-ganesha.spec.in |
| - RPM packaging : fixed bad dependences for db engine to be used with |
| FSAL_POSIX (postgresql was always referenced, even when compiled with |
| mysql) |
| - Debian Packaging : fixed same dep problems as above with rpm files |
| - Bug Fix : in idmapper.c, functions utf82uid and utf82gid were badly |
| managing parameters passed to name2uid/name2gid when compiled with the |
| support of libnfsidmap |
| - pNFS implementation : now support attribute FATTR4_FS_LAYOUT_TYPE |
| - Fixed a bug in a Makefile.am that prevent target 'check' to compile |
| - RPM packaging : when compiling rpm files, only those related to the |
| FSAL chose at ./configure time are build |
| - fixed two typos and one potential memleaks (thanks to IBM guys how |
| located this in the code) |
| |
| 0.99.63 - Thu 25 Mar 2010 |
| - A patch from Sean Dague (japh@us.ibm.com) fixes a memleak in FSAL_POSIX |
| - A big patch provided by Aneesh Kumar (aneesh.kumar@linux.vnet.ibm.com) implements |
| the NLMv4 protocol (NFS lock managemment for NFSv3) |
| - Two small patches from Frank Filz were applied |
| - A "indent" target has been add to the src/Makefile.am . The code was fully |
| re-indented with this target (that uses the "indent" utility). |
| - C-format style template for emacs provided by Sean Dague (japh@us.ibm.com) |
| - Bug fix (Frank Filz) : readdir had an extraneous empty request with eod=TRUE |
| - Option "-nce" added to 'make indent' |
| - Bug fix : It was impossible to mount an exported entry's sub directory |
| |
| 0.99.64 - Thu 29 Apr 2010 |
| - pNFS implementation for LAYOUT4_FILE starts with this version |
| - Function to initiates connection/NFsv4.1 sessions with the DS are done |
| - RPM Packaging : add chkconfig --add in %post |
| - Export Access Type "MDONLY" was not managed when using NFSv4 |
| - Add safety check to cache_inode_remove/cache_inode_create and cache_inode_link |
| to prevent from non allowed access. |
| - Statistics for NFSv4.0 and NFSv4.1 operations have been added |
| - Bug Fix: default value for FSINFO3::dtpref was 0. Value 16384 is now used. |
| - Bug Fix: OPEN4 returns NFS4ERR_ROFS when used from the pseudofs |
| - Early (unstable) implementation of pNFS provided. Will continue and be stabilized in later releases. |
| - Project is now released under LGPLv3 |
| |
| 0.99.65 - Tue 8 Jun 2010 |
| - New FSAL_XFS designed for natively exporting XFS filesystems |
| - Integration of a patch from Aneesh Kumar that implements Async NLM and NSM support |
| - A patch from Frank Filz related to POSIX behavior when opening file |
| - Bug Fix : missing AM_FLAGS prevented from compiling with pNFS and |
| POSIX based FSAL using MySQL. |
| - add '--enable-ds' in configure to configure nfs-ganesha as a NFSv4.1 server usable as a pNFS Data Server |
| - FSAL_LUSTRE : add lockdesc support |
| - Bug Fix: nfs4_op_access was not managing secondary groups properly. It now relyes on the FSAL for this. |
| - Default value for FSAL_MODE_SUID and FSAL_MODE_SGID have changed. |
| - Add log trace when a operation is refused due to a setuid/setgid bit violation |
| - Bug Fix : in NFSv4, file were created with mode = 0000 . This was a trouble with certain FSAL |
| - Bug fix: Double close in log_functions.c |
| - checksum were removed from NFS file handles (more space for storing FSAL handles) |
| - (Patch from Frank Filz) : new and optionnal core parameter Bind_Addr |
| |
| 0.99.66 - Fri 25 Jun 2010 |
| - FSAL_XFS now has lock support |
| - Brand new FSAL_GPFS added (patch from IBM) to natively support GPFS |
| - FSAL_POSIX and FSAL_XFS now have quota support (via rquota v1/v2 |
| protocol and the use of the quotactl function) |
| - Typos fixed in doxygen.conf files |
| - FSAL_TEMPLATE updated (had new functions for quota and lock management) |
| - pNFS/LAYOUT_FILES works with multiple Data Server |
| |
| 1.0.1 - Fri 17 Sep 2010 |
| - New FSAL model: FSAL modules can now be compile as shared object and |
| can be loaded at runtime |
| - New FSAL to support ZFS filesystem |
| - Add the capability to build a "FSAL-less" daemon that loads FSAL |
| shared object by using the dlopen function. |
| - FSAL_PROXY: the embedded client now can allocate a tcp socket on a |
| privileged port to contact the "proxyfied" server |
| - FSAL shared objects are provided as precompiled rpms |
| - Log layer now uses syslog as a possible log stream |
| - Add new call FSAL_getextattrs to get info such a generation number |
| or creation time |
| - New Log management from IBM |
| - Several potential buffer overflow in fscanf fixed |
| |
| 1.0.2 - Mon 18 Oct 2010 |
| - New TCP connection management to avoid DOS-like attack |
| - Tag _NO_BLOCK_PREALLOC was removed |
| - New debian packaging |
| - Bug Fix : OP4_REMOVE did not operate if the destination was an existing file |
| - Bug Fix : FATTR4_ACL is now an unsupported attributes (it is in fact) |
| - Bug Fix : OP4_GETATTR on unsupported attributes should ignore them instead |
| of returning NFS4ERR_ATTR_NOTSUPP |
| - Bug Fix : locks_held counter was badly managed in OP4_LOCKU |
| - Bug Fix : OP4_DESTROY_SESSION returned bad session when session was successfully destroyed. |
| - Bug Fix : FSAL_XFS:fsal_create always made files owned by root. |
| - Code Cleaning : all Log* functions's format were reviewed and fixed |
| - Memory manager improvement : stuff_alloc macros and BuddyMalloc are |
| now closely tied. |
| - Bug Fix : erroneous EACCESS in FSAL_XFS and FSAL_LUSTRE when |
| creating file as a regulat user |
| - New feature : FSAL_ZFS provides access to ZFS snapshot directory |
| .zfs based on ZFS's COW feature. |
| |
| 1.0.3 - Tue 21 Dec 2010 |
| - A regression in FSAL_PROXY was fixed (size of NFSv4 handles) |
| - HashTable support hash functions that compute hashval and rbtval in one pass |
| - Cache_inode uses a "dual value compute function" in its hashtable |
| - Reverse clientid mapper uses a "dual value compute function" in its hashtable |
| - pNFS/LAYOUT4_NFSV4_1_FILES : several bug fixed (see git log) |
| - DupReq indexation has been reviewed: now (src_ipaddr,port,xid,additional cksum) tuple is used as key |
| - workers's selection has been reviewed to reduce CPU comsumption in the case a very large number |
| of workers is used. |
| - security fixed : when 'root' is mapped as nobody, its 'altgroups' is cleared |
| - Configuration can now reduce the version of NFS advertsised to rpcbind (to avoid NFSv2 for example). |
| - XML output has been added to non-regression tests for easier integration in HudsonCI |
| - A few changes in NLM implementation |
| - FSAL_HPSS has been ported to HPSSv7.3.2 |
| - Better management of NFSv4.x attribute FATTR4_CHANGE |
| |
| 1.0.4 - Tue 25 Jan 2011 |
| - init.d scripts are now closer to LSB requirements |
| - Bug fix: race condition when inserting the same new entry several |
| time and concurrently in metadata cache |
| - Bug fix : it was impossible to set "/" as an export's entry's pseudopath |
| - Bug fix : badly pack fsal_handle in FSAL_PROXY could create 2 entries in |
| cache_inode for a single file. |
| - Bug fix : memory violation in FSAL_PROXY for fattr4's type based on nfs4time |
| |
| 1.0.5 - Wed 6 Apr 2011 |
| - Using function daemon() to start the daemon in a cleaner way |
| - Using gethostbyaddr_r to avoid contention when resolving address in nfs_ip_name.c |
| - pNFS/file support has been added for LUSTRE |
| - pNFS related sources were reorganized with a design closer to what is done with FSAL/MFSL |
| - "stable_how" flag management has been remade in deep, including a |
| new FSAL_sync call to every FSAL |
| - FSAL_PROXY: the FSAL is no able to deal correctly when the remote server restarts |
| - Data Cache : a set of flushers threads has been added to the daemon, making it possible to |
| run the flush operations internally and no more as an external command. |
| - Bug Fix: FSAL error was not converted into a Cache_inode error, and thus was |
| dropped, causing client to infinite retry |
| - Add a new tool to find all the instances of LogXXX |
| - New LogInfo and LogWarn log level |
| |
| 1.1.0 - Wed 7 Apr 2011 |
| - Bug Fix: Bad memset in FSAL_HPSS::HPSSFSAL_lookup. Result was a segfault at init. |
| - Code reorganization : subdirectory RPCAL has been added |
| - Bug fixe : bad 'fd2handle' options in FSAL_XFS::FSAL_rename |
| - Log: new log levels LogFatal, LogCleanup added |
| - TIRPC now supports the RPCSEC_GSS feature |
| - pNFS : API for implementing pNFS specific feature has been fully refurbished. |
| - FSAL_VFS: new FSAL using "open_by_handle" feature added in the kernel higher than 2.6.39. |
| This FSAL makes it possible to export any filesystem managed by the VFS. |
| - NFSv4: the product is now compiled with NFSv4.1 support by default |
| - Log module: now using __FUNCTION__ macro to get the function's name |
| - Bug Fix: the cache_inode_commit function badly managed the Data Cache. |
| - Multiple FSAL support: it is now possible to 'dlopen' several fsal shared objects. |
| Attention: there are changes to be done in the configuration file |
| - Bug Fix: issue occured in 'Tbl' pass of cthon04 test for FSAL_XFS and FSAL_VFS because |
| of a badly managed opened fd. This is now fixed. |
| - NFSv4 ACLs support |
| - GPFS ACLs support (to be used with NFSv4 ACL support) |
| |
| 1.1.1 - Fri 11 Nov 2011 |
| - Bug Fix: padded size for FSAL-less daemon were too short and not aligned on 64 bits |
| - Bug Fix: Badly formed fsal_op_context_t in FSAL_ZFS (issue when using as shared object) |
| - Bug Fix: bad modes/ACLs management in several FSALs (produced EPERM errors) |
| - Bug Fix: badly managed access_type in nfs3_Access |
| |
| 1.2.0 - Mon 12 Dec 2011 |
| - Bug Fix: Call cache_inode_close after deleting share state |
| - Bug Fix: Bad management of PID_FILE is several init.d scripts |
| - Added support for ERR_FSAL_DELAY in upper layer |
| - FSAL code has been reorganized a lot |
| - New SAL (State Abstraction Layer) to manage locks (NFSv4/NLM) and share reservations |
| - Symbolic Links are managed via a pool to save memory in Cache_Inode |
| - Early 9P support |
| |
| 1.3.0 - Fri 23 Dec 2011 |
| - Lustre FSAL: exporting several Lustre filesystem with the same server instance |
| - A bug was found (during Bake-A-thon) and fix in OP4_READDIRPLUS (leading to missing |
| directory's entries) |
| - Directory content cached is now managed as a tree. Formerly used |
| dir_chain were removed. |
| - Lock support for FSAL_LUSTRE |
| - FSAL_LUSTRE/FSAL_XFS/FSAL_FUSELIKE/FSAL_ZFS: regression in readdir detected and fixed |
| - export list now supports IP ranges using the CIDR format |
| |
| 1.4.0 - Thu 15 Mar 2012 |
| - Bug Fix: Memory leak fixed in RPC's DRC |
| - Bug Fix: Bad computation of rbt_value in RPC's DRC's hashtable |
| - New FSAL_CEPH (dedicated to the ceph filesystem) |
| - pNFS code refurbished with CEPH specific code and layout file support |
| - All RPCs are now based on TIRPC |
| - Bug Fix: in nfs_Write, for clean handle of umask, the server should |
| allow the owner of a file to write to it, even if the file is read-only |
| (has mode r---r--r-- for example) |
| - Bug Fix: bad memory padding in fsal_handle_t and fsal_cookie_t |
| |
| 1.5.0 - Mon 16 Jul 2012 |
| - TIRPC library was significantly refurbished with bi-directional RPC |
| support (required for NFSv4.1 backchannel support). |
| - Multiple RPC dispatch is now supported |
| - Cache inode has been reworked on its handling of directory entries |
| - Cache inode readdir logic is now based on callbacks to take advantage |
| of AVL tree work |
| - State Management has been unified and improved. Locking is consistent |
| across both NFSv3 and NFSv4.x |
| - Client id management support has been added |
| - 9p.2000L support has been added. Dev is currently under alpha version |
| - Improved file handle support. Handles's versions and variable length handles |
| are better supported. |
| - Memory allocation has been refactored. The configure step can detect the memory |
| allocators available for the build and select the best allocator (jemalloc preferred |
| if available) with a fallback to the standard C library malloc/free. |
| The buddy allocator has been completely removed. |
| - Improved Kerberos support. Autoconf now probes it correctly. |
| Compatibility with Microsoft AD Kerberos is improved. |
| - Numerous bits of experimental and partially implemented feature code |
| have been removed, significantly reducing the code line count and eliminating |
| unused build time configuration options. These include: |
| - FSAL_SNMP is now officially deprecated |
| |
| 2.0.0 - Fri 6 Dec 2013 |
| - FSALs (filesystem backends) are now loadable shared objects. The |
| server can support multiple backends at runtime. Most of the 1.5.0 |
| FSALs have been rewritten to support this new API. |
| - NFSv4.1 pNFS is supported. Most of the FSALs for clustered |
| filesystems also support pNFS. The server can be both an MDS and DS. |
| - DBus is now the administration tool. The SNMP MIB and stats thread are |
| deprecated. Reference implementations of DBus client(s) for all of |
| the DBus interfaces are supplied. These clients use the PyQt4 class |
| libraries and Python 2.7. There are both command line scripts and |
| a Qt based GUI admin tool. |
| - All the significant bugfixes from the 1.5.x branch have been |
| forward ported or re-implemented in the new codebase. |
| - The server passes all of the cthonv4 and pynfs 4.0 tests. All of |
| the significant (non-delegation) pynfs 4.1 tests also pass. This is |
| significant protocol correctness improvement over the previous version. |
| - Most subsystems/modules have had refactor/rewrite work to improve |
| stability, scalability, and correctness. Memory and system resource |
| usage has also been improved. |
| - NFSv2 support has been deprecated. NFSv3 still supports the older |
| version of the MNT protocol for compatibility with some clients. |
| - The build process has been converted to Cmake and autotools has been |
| removed. |
| - The codebase has been reformatted to conform to Linux kernel coding |
| style. Changes are checked and validated with the kernel's |
| checkpatch.pl script. The script and our configuration file for it |
| are supplied in the source. |
| |
| 2.1.0 - Thurs 26 Jun 2014 |
| - Exports are now dynamic. They can be added or removed via DBus |
| commands. The manage_exports python script has been updated to |
| support the feature. |
| - The Pseudo filesystem has been re-written as a FSAL. This enables |
| dynamic exports. Submounted filesystems also work base on this |
| change. |
| - The configuration file processing has been rewritten to improve |
| error checking and logging. All parameters are consistently |
| checked for range. The validation of the whole configuration blocks |
| are also checked. |
| - GIDs can now be managed to use external authentication sources. This |
| fixes the protocol limitation of AUTH_SYS which restricted the |
| number of alternate gids to 16. |
| - RPM packaging has been restructured and updated. The DBus tools |
| are now packaged. |
| |
| 2.2.0 - Tue 21 Apr 2015 |
| - Ganesha supports granting delegations |
| - There have been numerous config changes |
| - Ganesha now includes systemd scripts |
| - Improved packaging for RPM and Debian |
| - Major stability improvements |
| - non-QT based python tools |
| - Support for Ganesha to be a pNFS DS only, no MDS |
| - SECINFO in preferred order |
| - LTTng support |
| - NFS v4.2 support |
| - Major improvements in 9p support |
| - Code cleanup (checkpatch and Coverity) |
| - ntirpc improvements |
| - FSAL_GLUSTER updated with pNFS and ACL support and more |
| |
| 2.3.0 - Tue 27 Oct 2015 |
| - Numerous bug fixes - this release is fundamentally a stability |
| improvement |
| - Update Checkpatch |
| - FSAL_GLUSTER ACL support using POSIX ACLs underneath |
| - FSAL_GLUSTER Upcall Interface |
| - FSAL_GLUSTER Performance Improvements (including pNFS performance) |
| - Send SECINFO_NO_NAME in preferred order. |
| - Build and Packaging Improvements |
| - In Memory NFS v4 ACLs for FSAL_VFS for experimentation/testing |
| - libntirpc Performance Improvements |
| - Allow Multiple DSes |
| - Cache Inode Tuning |
| - Licensing Cleanup |
| - Config improvements in FSAL_GLUSTER and FSAL_GPFS (including ability |
| to disable ACL support in config) |
| - Build properly on 32 bit and Big Endian platforms |
| - FSAL_GPFS fix regression for short handles to work with VMWare clients |
| - FSAL_GPFS fix regression for short handles to work with some NFS v3 |
| clients that don't conform to RFC and only allow 56 byte handles |