-
Notifications
You must be signed in to change notification settings - Fork 502
ReleaseNotes_4
Frank Filz edited this page Apr 21, 2023
·
7 revisions
Currently the head for Ganesha V4 is V4.4.1 in the V4_stable branch.
- Use FSAL_O_ANY for commit operations to avoid opening the global fd if not already open
- Return correct error code for setattr for FSAL_CEPH in one error path
V4.4 consists solely of the following feature:
- add Prometheus and Grafana monitoring stack
- add include directory option in config, the config can now specify directory and wildcards to simplify inclusion - useful for including all exports that are in individual config files
- add -I command line option to provide g_nodeid on the command line
- add ServerOwner to configuration
- pull up libntirpc v4.3
- destroy XPRT when fd already exists
- fix EXPORT_DEFAULTS to work as expected
- make sure all EXPORTS are mounted in pseudo fs if they are NFSv4 exports no matter the order the exports are listed in the configuration
- fix issue with fsal_filesystem multiple claims that was breaking nested exports and nested filesystems
- fix crash with replayed requests
- fix race with rpc callback
- replace dec_nlm_state_ref with dec_state_t_ref to allow compilation without NLM
- fix readdir memory leak
- fix ganesha_mgr show clients
- define __NR_name_to_handle_at and __NR_open_by_handle_at for Linux aarch64
- pull up libntirpc v4.2
- revert sx_fbtbc fix
- use __THROW
- remove recursion from some XDR code
- check FSAL path to avoid termination because of error in EXPORT config
- fix refcount of cid_client_record
- ganesha_mgr fix
Normally we do not include new features in stable update releases, however, one feature has been included that is low risk and disabled by default.
- POSIX ACL support for FSAL_VFS (conversion to NFSv4 ACL as necessary and exposure via NFSv3 POSIX ACL side band protocol).
- Pick up ntirpc 4.1 with some minor fixes and a Coverity fix
- Address almost all the issues raised by Coverity, some significant
- Add SPDX License tags for all (well most) files and clear up some licenses for individual files
- Update to latest Checkpatch and fixup new (and old) warnings and errors
- Fixup reference counting of lock/open state
- Clean up some typos and function documentation in comments
- Avoid opening global FD for write when setting attributes, this helps with the ability to write an executable file via NFSv4 and then be able to execute the file locally.
- Add a config to limit the number of entries returned in readdir
- A number of build fixups
- Various scripting fixes, ganesha_ctx, startup script, etc.
- Allow listening on TCP only without IPv6 configured
- Fix regression in POSIX ACL mapping code
- Numerous fixes for attribute handling including avoiding unnecessary refresh
- Fix a race in MDCACHE LRU
- FSAL_GPFS updates
- Configuration tweaks and fixes including properly handling use of legacy CACHE_INODE block or new MDCACHE block.
- Some FSAL_PROXY_V3 fixes
- Retry connection to rpc.statd
- POSIX ACL support for FSAL_CEPH
- Enhancements to Export Update (DBUS) and Reload (SIGHUP)
- protocol update (add/remove v3/v4 to export)
- Pseudo Path can be changed when reloading exports
- Refresh file system table (allows adding exports for new file systems)
- FSAL_PROXY_V3
- NFSACL POSIX ACL side-band protocol for NFSv3
- Add xattr to FSAL_CEPH
- Add xattr to FSAL_RGW
- Match xattr support up with RFC 8276
- FSAL_CEPH enhancement to release inodes quicker
- Option to increase aggressiveness of MDCACHE releasing entries
- Can actually disable RQUOTA and NFSv3 when building
- Improvements to building on MacOS and other compilers
- FSAL_KVSFS
- Support BTRFS subvolumes as if they are separate file systems
- Export as noted above
- Minimum SVC worker threads is configurable
- Option to allow UDP for MOUNT only
- Add configurable RecoveryRoot, RecoveryDir, RecoveryOldDir
- Maximum number of clientids configurable
- Log POSIX file system type
- dbus query of mdcache utilization
- dbus stats formatting changes to improve clarity
- reduction log level for some noisy log messages
- 4.1 and 4.2 operation stats
- Additional debug and info logging for exports
- No longer look to environment for log levels (too many ways to change log levels...)
- No longer manipulate log level with SIGUSR1 and SIGUSR2 (too many ways to change log levels...)
- Default_Log_Level is now useful
- Removal of a component (including ALL) from LOG { COMPONENTS {}} will properly revert on SIGHUP (this MAY revert changes done with dbus - don't mix dbus and SIGHUP...)
- Logging documentation improved
- Export config documentation improved
- Option to display log timestamps in UTC
- Info logging of socket binding
- Stats
- Handle sizes and issues, particularly for FSAL_CEPH
- Memory leaks
- Error returns
- Segfaults
- MDCACHE (readdir, export root LRU management)
- SELinux
- Skip various non-exportable POSIX file system types
- build and packaging fixes
- total audit of export and other resource usage in op context and assure that op_ctx is set everywhere
- state_lock usage fixups
- Always provide wcc attributes for NFSv3
- NFSv4.1 close/lock race fix and other lock fixes
- Correct handling of errors during export config processing
- Fix up EPERM vs EACCESS confusion
- Block MOUNT if client won't have access to export
- Integer size corrections in log messages
- NFSv3 READDIR response size fixes (allows more entries AND fixes CVE-2018-17159)
- Another CVE-2018-17159 fix is to cap NFS v4.0 max response size
- Various creds fixes in FSAL_CEPH
- Fix EXCLUSIVE create
- Fix issues of caller_name in NLM, proper handling of IPv4/IPv6 and when to use caller name vs. IP address
- improved handling of duplicates of in progress requests