04/20-21/2004
----------
- fix for do_access fs_ino return value
- fix for storing correct fs_ino in metadata for files
- chmod fix
- multiple patches to keep correct mtime under error conditions
  and when files are open

01/15/2004
----------
- major code cleanup while at Acxiom

11/24/2003
---------
- various symlink metadata fixes

11/24/2003
---------
- integrated patch submitted by Don Porter to correct behavior
  on symlink removal

11/12/2003
---------
- new configure test for sendfile, to verify (among other things) that
  it will work with LFS flags if LFS has been detected, also fixed
  usage of offset arg to sendfile to allow 64 bit offsets

11/12/2003
---------
- add -Wall to default cflags, fixed various compile time warnings

10/23/2003
---------
- added better configure time check for LFS support, and fixed large
  file support when libpvfs is used to access unix files

10/22/2003
---------
- applied patch from Murali Vilayannur to speed up the return of iod 
  info to clients at create time, including some sockio fixes

10/21/2003
---------
- applied patch from Don Porter <PorterDE@mercury.hendrix.edu> to fix time
  stamps on metadata in some cases

10/16/2003
---------
- boosted socket backlog count from 64 to 256

10/16/2003
---------
- applied sticky bit patch from Murali Vilayannur

10/16/2003
---------
- applied patch from Don Porter <donimal@conwaycorp.net> to speed up stat
  times, added --enable-fast-stats option to configure to enable it

9/16/2003
---------
- added patch from Jim Schutt <jaschut@sandia.gov> for trusted ports and
  restricted IP ranges

9/16/2003
---------
- fix for fd leaks pointed out by Don Porter <donimal@conwaycorp.net>

9/16/2003
---------
- permission fixes to stat, getdents, and unlink, based on patches from 
  Don Porter <donimal@conwaycorp.net>

9/16/2003
---------
- patch from Don Porter <donimal@conwaycorp.net> that adds
  additional group checking in metaio

8/25/2003
---------
- added aligned write patch; attempts to write data out in block aligned 
  chunks on the server side when possible.  Developed by
  Manoj Pillai <pillai@cis.ohio-state.edu> and Mario Lauria
  <lauria@cis.ohio-state.edu>

8/25/2003
---------
- added symlink support, contributed by Murali Vilayannur.

8/22/2003
---------
- another mkmgrconf modification, this time to work around perl 
  interpreter on Redhat 9

7/17/2003
---------
- added enable_sendfile option to iod.conf, now using sendfile is a
  runtime option.

7/1/2003
----------
- fixed bug in iod fdatasync operation (accessing wrong union member),
  pointed out by Murali

6/16/2003
----------
- added O_LARGEFILE to mgr log open call, suggested by Christoph
  Biardzki <Christoph.Biardzki@lrz-muenchen.de>

6/11/2003
----------
- changed license of all client side library and header components
  to LGPL

6/11/2003
---------
- modification based on patch from Richard Jones
  <Richard.T.Jones@uconn.edu>; makes inifinite select break out
  occasionally to manually check socket set- works around a few
  select hang cases

6/10/2003
----------
- added workaround to mkmgrconf for Redhat 8's version of perl

5/15/2003
----------
- removed mdbi interface from source tree

5/7/2003
----------
- removed variables named st_[amc]time to avoid conflicts in glibc
  2.3.2

5/2/2003
----------
- fixed bug reported by Alexandr Konovalov in which we would not
  necessarily report the correct errno value if a stat failed during
  do_stat_req() in iod.c.

4/15/2003
----------
- fixed bug identified by Mario R. Medina <c-medina@uiuc.edu>, use of a
  32 bit variable in listio code prevented it from working on large
  files in some cases.

4/8/2003
----------
- now detect and warn about conflicts in pvfstab files
- removed all instances of bsize and soff members (which were no longer used).
  This changes the on-disk metadata format and wire protocol again: use
  migrate-1.5.6-to-1.5.7 to convert existing pvfs metadata directories.
- added -s <ssize> option to mgr to specify default strip size at
  runtime

4/3/2003
----------
- made --enable-lfs be on by default, added a configure test to make
  sure that LFS really works if it isn't disabled.

2/28/2003
----------
- fixed bug that occurs when a file is truncated while reading from it
  (we now send zeroed out data after truncate).  Previously this had the
  potential to cause a SIGBUS and crash the iod.

2/4/2003
----------
- removed --with-single option and made it the default behavior
  (only use one socket per iod, regardless of number of open
  files)

12/12/2002
----------
- fixed missing optarg in mgr-ping (found by Andrew Uselton)

11/25/2002
----------
- fixed case in which send_error was being called with
  uninitialized 'status' parameter if md_unlink failed in
  do_unlink (found by Pete Wyckoff)
- added some patches from Mark Veltzer to clean up warnings that
  appear when -Wall is used
- made MAX_REASONABLE_TRAILER error case more verbose
- misc CFLAGS cleanup in the makefiles

11/20/2002
----------
- added archiving tools to build process (but don't install by
  default yet)

11/13/2002 
----------
- added support for out of tree builds, patch by Pete Wyckoff

11/13/2002
----------
- added patch by Pete Wyckoff to fix ia64/x86 heterogeneous
  support in the wire protocol (broken after addition of protocol
  version number)

10/31/2002
----------
- modified the way the iod's respond to new connections- should
  improve scalability in some situations (problem pointed out by Brian
  Macy)

10/25/2002
----------
- fixes to errno declarations, provided by Mark Veltzer.

10/24/2002
----------
- Added support for iod connection management (so that each client
  maintains exactly one connection to each iod, regardless of the
  number of files opened).  Implemented by Murali Vilayyanur.

10/3/2002
----------
- added version number to request protocol- modified code
  (particularly diagnostic utilities) to indicate version mismatches
  between components.

10/2002
----------
- modified default size of dynamic fdsets so that they are at
  least as big as the system defaults (the alternative potentially
  causes problems with -lpthread if linked into the iod).
- removed call to timeout_fns() in mgr, that is triggered after
  about a 5 minute inactivity period.  This was sending shutdown
  requests to the iods, which essentially causes them to reset all
  connections and jobs.  Not really necessary at this point, and
  probably dangerous.

10/2/2002
----------
- added extra memset to iod acks before sending (needed only to
  make valgrind run quieter)
- redid handling of config file name in iod.  variable
  iod_conf_name was not being set in some cases, though it is
  always used in do_restart() (bug located using valgrind)

10/01/2002
----------
- fixed FD leak when files are unlinked (pointed out by Ruth Klundt)

7/25/2002
- coalesce access list entries.  A side effect of this coalescing is that 
  stripe size of the file no longer has an impact on how much of a file 
  will be mmap()ed at a time.  Instead, mmap() will try to map as big a 
  region specified by the new config file option 'access_size'. 

7/15/2002
----------
- fixed misc. bugs in jlist, alist, and job code pointed out by
  Murali Vilayannur.

7/?/2002
----------
- Added several new iod config options and added madvise support

7/2/2002
----------
- fixed semantics of utime and ctime, so that permission is granted if
  you have write access to a given file, _or_ if you are the owner of
  that file.  Previously we required write permission regardless of
  ownership, which is counter to proper Posix semantics

7/2/2002
----------
- added CTIME request that can be used to update the ctime on a file.
  Used by the kernel code to make cp -p work correctly for files.  Still
  cannot set ctime for directories, however.

6/?/2002 
----------
- fixed bugs in pvfs benchmarking utilities, including pvfs-test and
  mpi-io-test

04/25/2002
----------
- fixed bug in pvfs_read; case in which a read was attempted after
  seeking beyond EOF was not handled correctly.  Originallly discovered 
  in similar pvfs-kernel algorithm by Frank Shorter's test harness.

04/09/2002
----------
- fixed bug in md_chown where any user could chown a file to their uid.
  Bug pointed out by Arun Ramakrishnan <ramakria@cis.ohio-state.edu>.

03/04/2002
----------
- fixed bug in iod where stat() was used where stat64() should have been
  on close when lfs is available.  Bug pointed out by Brian Behlendorf
  by iozone test runs.

03/01/2001
----------
- looks like LFS support is working now.

[this file is virtually useless]

01/15/2001
----------
- fixed bug in mgrcomm.c which would cause first request to a restarted
  manager to fail

[lazy bug fixers didn't log changes for a bit]

10/27/2000
----------
- most instances of syscall() are removed; there are still some left to
  deal with though
- libminipvfs is now installed along with everything else
- libpvfs is no longer created
- struct pvfs_stat changed to struct pvfs_filestat to fix naming oddity
  that has been in lib forever (pvfs_ostat()).

6/16/2000
----------
- manager and iod both now include linux/fs.h.  This mainly provides a
  reasonable value for NR_OPEN, the max number of open files.  This
  inclusion can be toggled off with __FS_H_IS_OK__ in config.h.  --Phil

03/29/2000
----------
- cut down manager default logging substantially.
- manager now includes -r option for using a random base node number
  instead of 0 for default.
- manager now uses SO_REUSEADDR to enable restarting more quickly.  iod
  uses this too.  bind() problems should be gone.
- Configuration defines are better documented in pvfs_config.h:
  __ALPHA__ for Alpha processors (still not quite there),
  LARGE_FILE_SUPPORT for >2GB files (also still not quite there),
  __USE_SENDFILE__ for using sendfile() on the iod (not faster?).
- sendfile() support is now added to the iod.
- TCP_CORK is available on iods and in library (not working in iod?
  undefined at top of jobs.c to prevent its use for now).
- library sleeps and retries connect() when an EAGAIN error is
  encountered (gracefully handles no-sockets problem)
- big memory leak in manager fixed

01/31/2000
----------
- all metadata reading and writing operations are now in the mgr/meta
  directory and are handled by the manager; applications only see what
  is passed back to them through pvfs calls.

01/14/2000
----------
- integrated filter_dirents() into the manager to pull reserved names
  out of getdents output.  This eliminates the need to check for these
  names on the client side (which is good, since the VFS code doesn't do
  that)
- now using resv_name() check in the check_pvfs() call, so it no longer
  incorrectly detects names as reserved when they aren't (eg.
  .pvfsdir.saveme).

01/13/2000
----------
- removed uncalled functions
- added resv_name.c in shared directory
- modified mgr to use resv_name for all incoming names, return ENOENT if
  name is reserved
- took out __USE_NFS__ code
- fixed bug in pvfs_rename which was causing segfaults
- fixed bug in put_dmeta() which was causing the .pvfsdir corruption

11/08/1999
----------
- added pvfstab man page
- updated User Guide to discuss pvfstab file and changes WRT NFS
- fixed bug in statfs() call which was causing xterms, vi, tcsh, etc. to
  fail

10/21/1999
----------
- added sample pvfstab file
- modified pvfs spec file; copies pvfstab into place, tags configs files
  appropriately (so rpm doesn't overwrite on package update)

10/20/1999 (v1.4.2-pre5)
------------------------
- now mostly working without NFS
- lack of chdir() and getcwd() support (along with no NFS) breaks:
	* rm -rf <dir> (rm tries to chdir() into directories)
	* mv <dir> (mv tries to chdir() into directories too)
- other miscellaneous resulting problems:
	* no wildcards (unless you start a shell with LD_PRELOAD set)
	* if you do start the shell, vi doesn't work right (?)

TODO
----
- maybe do a chdir() and a getcwd() wrapper?
- sendfile() in iod/jobs.c:do_access() for read accesses w/linux2.2

OTHER KNOWN BUGS
----------------
- files accessed with stdio calls don't get final buffers written if not
  explicitly closed (?)
