Releases
v1.0
Release Notes
Add client API for I/O middleware libraries (#622 , #651 , #662 , #665 , #667 , #719 )
Update Mochi-Margo usage (new required version - v0.9.6) (#703 )
Build separate libraries for MPI auto-mount (#640 )
Improve file staging (#614 , #631 , #717 )
Install unifyfs-stage
in bin (#710 )
Ensure logio data is persisted to storage on user fsync()
(#655 )
Configure with new UNIFYFS_CLIENT_FSYNC_PERSIST
option
Add server.local_extents
mode (#695 )
Add client unlink callbacks (#661 )
Add heartbeat RPC to detect failed clients (#653 )
Enable servers to use PMI to get rank and count (#626 )
Release logio storage for extents on file unlink (#656 )
Offload server-server request processing to service manager threads (#627 )
Cray compiler wrapper support for lx_find_mpi.m4
Update example programs
Migrate from Travis CI to GitHub Actions
Unit tests
Client API tests
Add lipsum generator/checks
Update unifyfs-stage
tests
Print failed tests at end of run
Continuous Integration tests
Run sub-sets of tests in independent jobs
Laminated and non-laminated file tests
New stage/transfer tests
Test on additional compilers
Documentation updates
API for I/O Middleware
Known limitations of UnifyFS
Determining UnifyFS compatibility with VerifyIO
General reorganization and updates
Config Option Changes
New UNIFYFS_CLIENT_FSYNC_PERSIST
to persist data to storage on calls to fsync()
New UNIFYFS_MARGO_CLIENT_TIMEOUT
to adjust rpc timeouts between client and server
New UNIFYFS_MARGO_SERVER_TIMEOUT
to adjust rpc timeouts between servers
New UNIFYFS_MARGO_LAZY_CONNECT
to speed up bootstrap
New UNIFYFS_SERVER_LOCAL_EXTENTS
to use server extents to service local reads without consulting file owner
Set UNIFYFS_DAEMONIZE
default to off
Remove unused UNIFYFS_CONSISTENCY
config
Bug Fixes
avoid request signal if RM thread exiting (#721 )
disallow unifyfs_create()
of existing file (#720 )
PMIx initialization bug (#712 )
fix for serial transfer from non-zero rank client
fix to use flexible arrays (#696 )
define _STAT_VER
if it's not already defined
fix various memory leaks
initialize unifyfs_io_request result and state in dispatch (#683 )
fix for failed reads when client.local_extents=1
(#680 )
fix attempt to sync unlinked file (#679 )
allow remote clients to read non-shared files once they are laminated
fix undefined refs for inline logio functions
avoid concurrent logio updates by the client and server
defer ABT_init
to Margo (#659 )
fix bug in unifyfs_fskv_init()
(#654 )
remove unused app_id
parameter to unifyfs_mount()
unlink global file not found locally (#638 )
avoid laminate broadcast for private files
allocate extent_tree when inode is allocated
disable unnecessary dispatcher signaling
use max bulk size in client-server transfers
only broadcast truncate when new size is smaller
avoid metaget storm on file open by using server cached attributes
build fix for --enable-pmix
remove racy client read pthread condition signal/wait
fix unifyfs start/terminate on SLURM
allow variable logio header size (#635 )
fix build failure from undefined reference to major
, minor
(#629 )
fix for missing req completion notice for hole extent
fix for write after laminate
eliminate shadow copy of file attributes in client metadata
fix to clean up logio shmem regions on server exit
Potentially Impactful Issues
Server may hang at shutdown on multi-node jobs with large number of clients
You can’t perform that action at this time.