Releases: leil-io/saunafs
v4.8.0-rc1
What's Changed
- feat(mount): Add option for open files on Windows by @rolysr in #230
- Fix readcache memory release by @rolysr in #241
- fix(mount): Fix consistent read cache release by @rolysr in #258
- fix: metarestore logging by @uristdwarf in #255
- fix(build): suppress warnings in manpage generation by @ralcolea in #264
- fix(mount): Fix low level fuse options in help by @rolysr in #254
- feat: Reduce malloc virtual memory usage by @lgsilva3087 in #266
- feat(mount): Add path by inode hidden file by @rolysr in #265
- fix: Fix functions detection in CMake by @dmga44 in #267
- Build saunafs using clang by @ralcolea in #270
- feat(mount): Enable status updater thread option by @rolysr in #276
- feat(slogger): Improve logging by @uristdwarf in #234
- fix(slogger): Set log level as
maybe_unused
by @rolysr in #278 - feat: Speedup unlink operation for big directories by @dmga44 in #268
- build: Move cpack to another script by @ictus4u in #285
- fix: Fix CLang compilation by @dmga44 in #286
- feat(mount): Add ignore utimens data for Windows by @rolysr in #283
- feat(mount): Add client limit glibc malloc arenas by @rolysr in #274
- feat(chunkserver): Reduce strings RAM usage by @lgsilva3087 in #290
- feat: Improve metadata speed for big directories by @dmga44 in #272
- fix: Fixes on sfsappendchunks + test by @dmga44 in #293
- perf(uraft): Reduce CPU usage on non-leader nodes by @ralcolea in #297
- feat(mds,common): Start decoupling metadata backend by @lgsilva3087 in #296
- build: Add vcpkg support by @uristdwarf in #302
- fix(build): Fix vcpkg presets for Windows by @rolysr in #305
- feat: Use quota in volume size option by @dmga44 in #295
Full Changelog: v4.7.0...v4.8.0-rc1
v4.7.0
What's Changed
- feat(master): Add case insensitiveness on system by @rolysr in #188
- fix(tools): infinite recursion in sfstools.sh by @fogti in #184
- feat(chunkserver): Use aligned memory for writes by @lgsilva3087 in #225
- fix(chunkserver): Use option HDD_ADVISE_NO_CACHE by @lgsilva3087 in #227
- chore: add codespell support and make it fix few typos by @yarikoptic in #161
- tests: Small fixes on read tests by @dmga44 in #231
- feat(mount): Add ignoreflush to tweaks variables by @rolysr in #228
- test(mount): Add test for ignoreflush option by @rolysr in #229
- ci(tests): Move some tests to a special suite by @uristdwarf in #236
- fix: Unhandled exception in plugin_manager.cc by @uristdwarf in #237
- feat: Improve Judy related compiler directives by @dmga44 in #244
- feat(chunkserver): Stat chunks at scan optionally by @lgsilva3087 in #245
- refactor(common): Replace raw queue with PCQueue by @ralcolea in #247
- docs: Fix wrong default value in sfschunkserver.cfg by @uristdwarf in #246
- refactor: Minor changes in Windows Client testing by @dmga44 in #248
- test: Move pread to MachineTests by @uristdwarf in #249
- fix(pcqueue): Remove Helgrind warnings by @ralcolea in #250
- chore: Change how PACKAGE_VERSION string is build by @uristdwarf in #232
- fix(chunkserver): Replace pthread_mutex_t by std in jobpool by @lgsilva3087 in #252
- test(all): Add new basic helgrind test by @lgsilva3087 in #251
New Contributors
- @fogti made their first contribution in #184
- @yarikoptic made their first contribution in #161
Full Changelog: v4.6.0...v4.7.0
v4.6.0
What's Changed
- test: Improve Ganesha test for master failover by @ralcolea in #187
- feat(tests): Add RPC service recovery function by @ralcolea in #189
- ci: Add new pipeline for short, sanity and long tests by @uristdwarf in #197
- feat(chunkserver): Get chunk to test from manager by @lgsilva3087 in #174
- fix(mount): Fix client race conditions by @dmga44 in #178
- ci: Add Github workflow to run Ganesha and Unit Tests by @ralcolea in #198
- ci: Limit amount of artifacts by @uristdwarf in #200
- feat(chunkserver): Improve network workers params by @lgsilva3087 in #201
- fix(mount): Fix tcptoread-write error message by @rolysr in #190
- fix(mount): Fix tcptoread-write error message (in Windows) by @rolysr in #204
- ci: Update GitHub Actions to use latest versions by @ralcolea in #205
- Refactor old csserventry related structs by @lgsilva3087 in #203
- ci: Update sfstests to v0.2.1 by @uristdwarf in #207
- fix(cgi): Change key to re-order list of disks by @antuan96314 in #177
- test: Apply multiplier regardless if Valgrind enabled or not by @uristdwarf in #209
- feat(master): Add option to toggle data parts priority by @lgsilva3087 in #208
- Refactor chunkserverentry use std list and smart pointers by @lgsilva3087 in #206
- fix(tests): Fix call to timeout_rescale by @lgsilva3087 in #213
- feat(chunkserver): Make configurable masterconn workers by @lgsilva3087 in #212
- feat(uraft): Add mechanism to recover floating IP by @ralcolea in #214
- feat: Improve big sessions create/open performance by @dmga44 in #216
- feat(master, chukserver): Make poll timeout configurable by @lgsilva3087 in #211
- docs(sfsgoals.cfg): Give more practical examples by @uristdwarf in #162
- feat: Configure judy use via directives by @dmga44 in #219
- fix: Clarify error offset in file-validate by @dmga44 in #218
- fix(tests): Fix read-write during scan for Windows by @rolysr in #186
- Refactor CS move functions to ChunkserverEntry by @lgsilva3087 in #210
- fix(mount): Fix read cache max size as percentage by @rolysr in #202
- ci: Add upgrade tests by @uristdwarf in #223
- refactor(chunkserver): Give own files to ChunkserverEntry by @lgsilva3087 in #217
Full Changelog: v4.5.1...v4.6.0
v4.6.0-rc3
Full Changelog: v4.6.0-rc2...v4.6.0-rc3
- Add new build options to generate git information or not
- Add build option to add a suffix to the version (to differentiate builds)
KNOWN ISSUES
- (HIGH) (regression) master takes a very long time loading metadata #239
v4.6.0-rc2
What's Changed
- test: Improve Ganesha test for master failover by @ralcolea in #187
- feat(tests): Add RPC service recovery function by @ralcolea in #189
- Uraft ip fix (for dev) by @uristdwarf in #196
- ci: Add new pipeline for short, sanity and long tests by @uristdwarf in #197
- feat(chunkserver): Get chunk to test from manager by @lgsilva3087 in #174
- fix(mount): Fix client race conditions by @dmga44 in #178
- ci: Add Github workflow to run Ganesha and Unit Tests by @ralcolea in #198
- ci: Limit amount of artifacts by @uristdwarf in #200
- feat(chunkserver): Improve network workers params by @lgsilva3087 in #201
- fix(mount): Fix tcptoread-write error message by @rolysr in #190
- fix(windows): Fix tcptoread-write error message by @rolysr in #204
- ci: Update GitHub Actions to use latest versions by @ralcolea in #205
- Refactor old csserventry related structs by @lgsilva3087 in #203
- ci: Update sfstests to v0.2.1 by @uristdwarf in #207
- fix(cgi): Change key to re-order list of disks by @antuan96314 in #177
- test: Apply multiplier regardless if Valgrind enabled or not by @uristdwarf in #209
- feat(master): Add option to toggle data parts priority by @lgsilva3087 in #208
- Refactor chunkserverentry use std list and smart pointers by @lgsilva3087 in #206
- fix(tests): Fix call to timeout_rescale by @lgsilva3087 in #213
- feat(chunkserver): Make configurable masterconn workers by @lgsilva3087 in #212
- feat(uraft): Add mechanism to recover floating IP by @ralcolea in #214
- feat: Improve big sessions create/open performance by @dmga44 in #216
- feat(master, chukserver): Make poll timeout configurable by @lgsilva3087 in #211
- docs(sfsgoals.cfg): Give more practical examples by @uristdwarf in #162
- feat: Configure judy use via directives by @dmga44 in #219
- fix: Clarify error offset in file-validate by @dmga44 in #218
- fix(tests): Fix read-write during scan for Windows by @rolysr in #186
- Refactor CS move functions to ChunkserverEntry by @lgsilva3087 in #210
- fix(mount): Fix read cache max size as percentage by @rolysr in #202
- ci: Add upgrade tests by @uristdwarf in #223
- refactor(chunkserver): Give own files to ChunkserverEntry by @lgsilva3087 in #217
Full Changelog: v4.5.1...v4.6.0-rc2
v4.6.0-rc1
What's Changed
- test: Improve Ganesha test for master failover by @ralcolea in #187
- feat(tests): Add RPC service recovery function by @ralcolea in #189
- Uraft ip fix (for dev) by @uristdwarf in #196
- ci: Add new pipeline for short, sanity and long tests by @uristdwarf in #197
- feat(chunkserver): Get chunk to test from manager by @lgsilva3087 in #174
- fix(mount): Fix client race conditions by @dmga44 in #178
- ci: Add Github workflow to run Ganesha and Unit Tests by @ralcolea in #198
- ci: Limit amount of artifacts by @uristdwarf in #200
- feat(chunkserver): Improve network workers params by @lgsilva3087 in #201
- fix(mount): Fix tcptoread-write error message by @rolysr in #190
- fix(mount): Fix tcptoread-write error message by @rolysr in #204
- ci: Update GitHub Actions to use latest versions by @ralcolea in #205
- Refactor old csserventry related structs by @lgsilva3087 in #203
- ci: Update sfstests to v0.2.1 by @uristdwarf in #207
- fix(cgi): Change key to re-order list of disks by @antuan96314 in #177
- test: Apply multiplier regardless if Valgrind enabled or not by @uristdwarf in #209
- feat(master): Add option to toggle data parts priority by @lgsilva3087 in #208
- Refactor chunkserverentry use std list and smart pointers by @lgsilva3087 in #206
- fix(tests): Fix call to timeout_rescale by @lgsilva3087 in #213
- feat(chunkserver): Make configurable masterconn workers by @lgsilva3087 in #212
- feat(uraft): Add mechanism to recover floating IP by @ralcolea in #214
- feat: Improve big sessions create/open performance by @dmga44 in #216
- feat(master, chukserver): Make poll timeout configurable by @lgsilva3087 in #211
- docs(sfsgoals.cfg): Give more practical examples by @uristdwarf in #162
- feat: Configure judy use via directives by @dmga44 in #219
- fix: Clarify error offset in file-validate by @dmga44 in #218
- fix(tests): Fix read-write during scan for Windows by @rolysr in #186
- Refactor CS move functions to ChunkserverEntry by @lgsilva3087 in #210
- fix(mount): Fix read cache max size as percentage by @rolysr in #202
- ci: Add upgrade tests by @uristdwarf in #223
- refactor(chunkserver): Give own files to ChunkserverEntry by @lgsilva3087 in #217
Full Changelog: v4.5.1...v4.6.0-rc1
v4.5.1
What's Changed
- Fix critical issue where uRaft was assigning IP to every node.
Full Changelog: v4.5.0...v4.5.1
Known issues
- #179 - This issue can occur if multiple processes are reading from the same mount point. It can be mitigated by setting CacheExpirationTime to 0 in existing installations with
echo "CacheExpirationTime=0" > /saunafs/mountpoint
or using-o cacheExpirationTime=0 when
mounting. As of 4.5.0, 0 is currently the default (but it can be overridden). Note that this disables client cache. - #195 - If systemd network services restart, the current leader uRaft floating IP will be lost.
v4.5.0
What's Changed
Includes changes from v4.5.0-rc1 and v4.5.0-rc2
- fix(mount): Set default cacheExpirationTime to 0 (#180)
- feat(mount): Add readcachemaxsize option (#145)
- feat(master): Add empty reserved files option (#176)
- fix(mount): Fix random case option parsing (#135)
- feat(chunkserver): Add IDiskManager::getDiskForGC (#169)
- test: Improve
stop_ganesha()
function (#168) - fix(ci): Modify timeout from env (#165)
- ci: Fix tests behavior (#172)
- fix(uraft): Fix missing floating ip address
- fix(mount): Fix create time (Windows) (#167)
- feat(admin): Add list-disk-groups command (#155)
- ci: Abort previous concurrent tests
- ci: Update de base docker image on build
- fix(tests): Fix typo in setup-machine script
- fix(tests): Amend upgrade tests (#146)
- fix: Update services to wait for network (#151)
- fix: Update uraft service to restart on failure (#153)
- fix: Release compilation on GCC 14 (#148)
- feat(chunkserver): Extend IDiskManager interface (#143)
- test: Verify master loading legacy metadata
- feat: Load legacy metadata file
- fix: Allow legacy sessions download
- fix: Allow legacy metadata download
Full Changelog: v4.4.0...v4.5.0
Known issues:
Client reading wrong data with parallel reads from multiple files - This issue can occur if multiple processes are reading from the same mount point. It can be mitigated by setting CacheExpirationTime to 0 in existing installations with echo "CacheExpirationTime=0" > /saunafs/mountpoint
or using -o cacheExpirationTime=0
when mounting. As of 4.5.0, 0 is currently the default (but it can be overridden). Note that this disables client cache.
v4.5.0-rc2
- fix(mount): Set default cacheExpirationTime to 0 (#180)
- feat(mount): Add readcachemaxsize option (#145)
- feat(master): Add empty reserved files option (#176)
- fix(mount): Fix random case option parsing (#135)
- feat(chunkserver): Add IDiskManager::getDiskForGC (#169)
- test: Improve
stop_ganesha()
function (#168) - fix(ci): Modify timeout from env (#165)
- ci: Fix tests behavior (#172)
- fix(uraft): Fix missing floating ip address
- fix(mount): Fix create time (Windows) (#167)
- feat(admin): Add list-disk-groups command (#155)
- ci: Abort previous concurrent tests
- ci: Update de base docker image on build
- fix(tests): Fix typo in setup-machine script
- fix(tests): Amend upgrade tests (#146)
- fix: Update services to wait for network (#151)
- fix: Update uraft service to restart on failure (#153)
- fix: Release compilation on GCC 14 (#148)
- feat(chunkserver): Extend IDiskManager interface (#143)
- test: Verify master loading legacy metadata
- feat: Load legacy metadata file
- fix: Allow legacy sessions download
- fix: Allow legacy metadata download
Full Changelog: v4.4.0...v4.5.0-rc2
v4.5.0-rc1
What's Changed
- ci: Abort previous concurrent tests
- ci: Update de base docker image on build
- fix(tests): Fix typo in setup-machine script
- fix(tests): Amend upgrade tests (#146)
- fix: Update services to wait for network (#151)
- fix: Update uraft service to restart on failure (#153)
- fix: Release compilation on GCC 14 (#148)
- feat(chunkserver): Extend IDiskManager interface (#143)
- test: Verify master loading legacy metadata
- feat: Load legacy metadata file
- fix: Allow legacy sessions download
- fix: Allow legacy metadata download
Full Changelog: v4.4.0...v4.5.0-rc1