[PVFS2-developers] PVFS2 release: pvfs2-0.1.2

neillm at mcs.anl.gov neillm at mcs.anl.gov
Tue Mar 30 15:47:24 EST 2004


Announcing version 0.1.2 of PVFS2
=================================

Earlier today, the PVFS2 source tree was tagged as pvfs2-0-1-2.

This release fixes many more nasty bugs over the previous release.
We've also revamped and improved large parts of the system, along with
the regular feature additions.  Most notable changes are Infiniband
architecture and performance improvements, changes to the build system
(particularly with regard to the kernel module), a full system
interface cleanup and enhancement, and a new method of mounting
volumes through the kernel interface.  Everyone is encouraged to
upgrade as soon as possible.


This release can be downloaded at:

ftp://ftp.parl.clemson.edu/pub/pvfs2/pvfs2-0.1.2.tar.gz

The md5sum for this release is 6dc7a2c45a84b1cd3ae324d83765dce7.

Changes from the previous release include the following:

pvfs2-0.1.2
===========
- BMI IB module:
    - fix bug resulting in mixed-up connections
    - clean up incoming message processing
    - refactor test and testcontext code
    - simplify state machine
- add shared and static libraries build options
- honor PVFS2_DEBUGFILE environment variable in client
- Kernel module builds:
    - build the module with everything else, if configured
    - clean up properly
    - work out-of-tree
- Build system:
    - list explicit include directories
    - add cflags provided by module makefile stubs
    - install kernel module if configured
    - simplify dependency generator script, add .po
- BMI: initialize needed methods dynamically, not at startup
- add ability to force use of alternative pvfs2tab file at run time
- general cleanup of API used for system interface initialization,
  including tabfile parsing
- added reserved value for fsid type to indicate uninitialized value
- BMI and flow interfaces now accept NULL list of modules to
  initialize defaults, BMI interprets this by delaying init of modules
  until needed, flow interface interprets by initializing all possible
  modules
- new api functions for resolving local file system paths
- added ability to dynamically add and remove file systems from the
  system interface at run time
- fix request scheduler bug that was leading to odd behavior under
  heavy I/O load
- added some scripts started by Wes Emeneker to automated the steps
  needed to download and build ROMIO with PVFS2 support
- re-enable compilation of Jiesheng's caching flow protocol
- added new automated nightly test scripts started by Wes Emeneker
  into test/automated subdir
- started running automated tests on Adenine cluster at Clemson as a
  nightly cron job
- isolated a request processing corner case with a test program
- renamed PVFS_pinode_reference -> PVFS_object_ref to cleanup the
  system interface a little further
- added some first stubs for hooks to specify distribution parameters
  at runtime
- added more specific server and client side debugging keywords
- enhanced vfs error reporting
- client sysint cleanups and error reporting improvements
- server operation cleanups and error reporting improvements
- bmi error code translation hooks to work properly with pvfs2 error
  codes
- fixed mmap-ra-cache bug that didn't flush data at the right times
- made the mmap readahead cache functionality a configure option
  (enabled by default)
- fixed vfs bug that caused multiple processes accessing the same file
  trigger a SIGBUS on file close
- enhanced vfs test pvfs2-shell-test.sh to test a tricky case of
  filling and emptying the page cache repeatedly in a worst case
  scenario
- start client sysint thread safety by making accesses to the global
  configuration object serialized
- reworked the vfs statfs method to not cause overflows on some
  kernels
- re-introduced a client sysint lookup optimization to work with the
  overhauled client lookup operation
- fixed size reporting of symlinks in pvfs2-ls program
- fixed vfs getattr calls for directories and symlinks
- added an experimental testbed program for testing threaded client
  sysint operations based on the pvfs2-client-core (called
  pvfs2-threaded-client-core)
- mostly consolidated credential generation to one place
- modified the kernel mount and initialization to use the dynamic
  mount system, where a server and file system name is specific on the
  mount command line (no more hard coded coll_id and root_handle!)
- fixed a particularly nasty vfs race bug that could crash the kernel
  during writes
- fixed a vfs bug that could cause a client to think a file did not
  exist when in fact it did
- added full support for dynamic vfs mount (which breaks the old way
  of mounting, but is more convenient and makes more sense)
- Better documentation for building MPICH2+ROMIO+PVFS2

Enjoy!

-PVFS2 Development Team

--
IRC: #pvfs2 on irc.freenode.net
WEB: http://www.pvfs.org/pvfs2/


More information about the PVFS2-developers mailing list