----------------------- OrangeFS Release ChangeLog ----------------------- orangefs-2.8.7 (Subversion Tag v2.8.7) Revs 9399 thru 9763 * WARNINGS: * - The pvfs kernel module is NOT compatible with linux kernel versions * 3.4 and higher. Work is currently underway. * - A known linux kernel bug causing kernel panics when a PVFS * filesystem is unmounted was found in RHEL releases 2.6.18-308.1.1 thru * 2.6.18-308.20.1. The OrangeFS team recommends using 2.6.18-308 (RHEL 5.8) or * 2.6.32-71 (RHEL 6.0) and up. This kernel bug affects other * filesystems as well. * Corrected issues with the readdirplus operations effecting the dokan interface for Windows. * Corrected memory overwrite that resulted from using both readdir and readdirplus members of a union whenever the readdir state machine was called from the readdirplus state machine. * Starting in linux kernels 3.4, d_make_root is used instead of d_alloc_root. Configure changes were added to account for this change in the kernel module. * Fixed a bug in pvfs_readdir associated with the usrint library. * Modified kernel module to accommodate the RCU walk initiated by the kernel in pvfs2_d_validate. This fixes a deadlock occurring in kernel versions 2.6.38 and later. * Fixed bug in usrint library where a dir is opened and the fd is passed to fchdir but the path is missing. * Added support for fts interface in usrint library. * Fixed errors with invalid objects in the kernel module. * Performance improvements for Windows Client. * Defects corrected for ucache system. * Changes to Makefile: * - Using glibtool instead of glib on MAC-Darwin OS when making libpvfs2.a * - Ensure that sbin dir is creatd before moving ucache system into it. * - Added lib/libpvfs2.so as a dependency when making libofs.so to allow * make with the -j option to operate correctly. * - Renamed liborange to liborangefs. * New Feature: added human readable times to pvfs2-db-display. * New Feature: when setting the mode (admin or normal) of a filesystem using pvfs2-set-mode, you can now do so for individual servers. Prior to this change, the mode was set for all the servers within a particular filesystem. orangefs-2.8.6 (Rev v2.8.6) * New Feature: users can now specify at configure time how they want the * kernel module to handle the file pointer when an error occurs. The * default behavior is to leave the file pointer alone, i.e., the file * pointer will always represent the position of the last byte written, * even though the user's entire request is not totally satisfied. In * this case, a the actual number of bytes written is returned to the user. * The new feature will change this default behavior such that the file pointer * is repositioned to the byte just prior to the user's write request, a * -1 is returned to the user's call, and errno is appropriately set. To * enable this feature, add --enable-reset-file-pos on the configure * command line when your OrangeFS system is configured. * Bug fix: modified pvfs2_readdir, which is executed by the kernel module * on behalf of an "ls", to properly retry or quit when pvfs2-client-core * aborts/restarts or when pvfs2-client terminates. Prior to these * changes, pvfs2_readdir could possibly corrupt another process's "ls" * command by releasing access to a shared memory buffer index that may * be legitimately in use. * Bug fix: modified the kernel code to re-post data to the shared memory * system (for I/O requests) whenever pvfs2-client-core aborts. Because the * data was not re-posted prior to these changes, the resulting file contained * corrupted data. * New Feature: added hint support to pvfs_open() to allow user to * provide various things like the number of servers to use, the * distribution to use, the layout to use, as well as tags that can be * used to trace requests. * New Feature: added new layout LOCAL which puts a file on the server on * the same node as the client, if there is one. Otherwise defaults to * ROUND_ROBIN * Bug Fix: repaired a bug in the layout processing * Bug Fix: fixed some problems with void pointers and replaced a missing * function prototype * Bug Fix: Corrected a long time bug: if the number of unexpected requests defined in the config file is greater than 64, then the code inadvertently used invalid job_status_s addresses when calling server_post_unexpected_recv(). If a failure occurs, the error code in the status structure is updated with the error value. In this case, the code would NOT segfault, because the address is actually within valid address space on the heap; however, the code would be overwriting other global structures, like the known_method_table, etc. To correct this problem, I use a local job_status_s structure inside the server_post_unexpected_recv(). Please read the comments in that function to understand why this works. SVN: Change #9272 * New Feature: added usrint and ucache code allows programs to link * directly bypassing kernel * Bug Fix: rewrote layout algorithms for RANDOM and ROUND_ROBIN which * did not perform as advertized. Still a question if metadata * selection works correctly or stuffed file allocation. * Enhancement: pvfs2-ls.c - modified the display of handles from 16 characters to 20 characters. * Bug Fix: uninitialized variable could cause seg fault when file system * cannot be initialized. orangefs-2.8.5 SVN changes can be seen at http://www.orangefs.org/fisheye/orangefs/changelog/orangefs/branches/orangefs-2-8-5 * Bug Fix: Problem: server seg faulted when the unstuff state machine tried to unstuff a file defined as needing more datafilesthan I/O servers currently in the system. A side affect was that this worked when there was more than one server in the system. The correct behavior is to NEVER define more datahandles than there are I/O servers in the system. Correction: Modified function PINT_cached_config_get_num_dfiles to return no more than the number of I/O servers, regardless of the number requested by the user or needed by the distribution. This function is called during the sys-create state machine BEFORE the number of requested datafiles is sent to the server. SVN: Change #9082 * Enhancement: Added optimization. When a file is created and the requested number of dfiles is 1, then we create the metadata without "stuffed" values,i.e., key="nd". When data is written to this file, there is no need to execute the "unstuff" server side state machine. SVN: Change #9083 Text after "CVS: " can be prepended with "http://www.pvfs.org/fisheye/changelog/~br=Orange-Branch/PVFS/?cs=Orange-Branch:" to view related change sets in FishEye. * Enhancement: change to kernel source path to support SuSE style kernel sources CVS: mtmoore:20110831005433 * Enhancement: add prompt after X removals during a pvfs2-fsck when -y specified CVS: mtmoore:20110824144127 * Enhancement: Add sanity checks to extended attribute operations CVS: mtmoore:20110811180653 * Enhancement addition of counters and application to feed SNMP counters CVS: walt:20110628184842 CVS: walt:20110628161840 CVS: walt:20110617152339 * Enhancement: addition of scripts used for OrangeFS CI Jenkins testing CVS: mtmoore:20110623183144 * Enhancement: add backtrace handler to SIGABRT CVS: mtmoore:20110607235041 * Enhancement: add sanity checks during trove cleanup/initialization CVS: mtmoore:20110607232817 * Enhancement: allow server log to be re-opened on SIGHUP to allow log rotation CVS: mtmoore:20110607023901 CVS: mtmoore:20110530143543 * Enhancement: allow debug mask to be reset during SIGHUP CVS: bligon:20110504200411 * Enhancement: add Berkeley DB configure check for version 4.8.30 CVS: mtmoore:20110405050554 Additional Information: https://www.orangefs.org/trac/orangefs/wiki/DBVersionRequired * Enhancement add configure checks for binaries required during build CVS: mtmoore:20110404165443 * Enhancement: kernel changes to support newer kernels (up to 2.6.40 tested and 3.X compiles, not tested) CVS: mtmoore:20110831005433 CVS: mtmoore:20110823184109 CVS: mtmoore:20110822232017 CVS: mtmoore:20110412175323 CVS: mtmoore:20110525205504 CVS: mtmoore:20110405142136 CVS: mtmoore:20110405141506 * Bug Fix: man pages are now gzip'd during installation CVS: mtmoore:20110904010919 * Bug Fix: berkeley db gives back unaligned pages (in custom compare/multi-key cases), use local variables to fix ARM failures CVS: mtmoore:20110902173424 * Bug Fix: pointer dereference size issue in dbpf-mgmt on non-x86 platforms, Neal Ferguson CVS: mtmoore:20110823171834 * Bug Fix: file corruption using direct backend when writes continuously appending to single file CVS: elaine:20110819120934 CVS: mtmoore:20110629130442 * Bug Fix: segfault in pvfs2-xattr due to mirror handle string comparison, Nick Mills CVS: mtmoore:20110809180325 * Bug Fix: add backtrace functionality back in for newer distributions CVS: mtmoore:20110801124552 CVS: mtmoore:20110607215819 * Bug Fix: server-side memory leak related to operation completion CVS: bligon:20110708194724 * Bug Fix: slab cache fix, Bart Taylor CVS: bligon:20110613200154 * Bug Fix: duplicate handle fix in iterate-handles, Phil Carns CVS: bligon:20110610202309 * Bug Fix: correctly parse pvfs2-server alias argument CVS: mtmoore:20110608010721 * Bug Fix: mx_address lookup failure with multiple protocols CVS: bligon:20110530173949 * Bug Fix: admin apps segfault with IB CVS: bligon:20110512215357 * Bug Fix: allow pvfs2-server to re-read configuratio file regardless of absolute or relative path CVS: mtmoore:20110506194814 * Bug Fix: root squash functionality, Bart Taylor CVS: bligon:20110506173620 * Bug Fix: various kernel related stability and error-handling fixes CVS: mtmoore:20110729151843 CVS: mtmoore:20110729143317 CVS: mtmoore:20110530154853 CVS: mtmoore:20110412175444 * Bug Fix: pin memory passed in to the kernel to prevent swap pages and kernel panic CVS: mtmoore:20110725160953 ------------------------------------------------------------------------------- orangefs-2.8.4 * Change verisioning to no longer include dates, just increment the sub version for every release orangefs-2.8.3-20110323 * Bug fix: resolve assert in dbpf_open_cache_remove() when using tree code for file remove CVS: Orange-Branch:bligon:20110322141529 * Bug fix: PINT_dist_encode() segfault in pvfs2-server caused by the client create state machine not sending dist information on create retries. CVS: Orange-Branch:mtmoore:20110322014656 CVS: Orange-Branch:mtmoore:20110322031703 CVS: Orange-Branch:mtmoore:20110322040628 CVS: Orange-Branch:mtmoore:20110322114637 CVS: Orange-Branch:mtmoore:20110322121208 * Bug fix: fix incorrect attribute output using sys attrs CVS: Orange-Branch:mtmoore:20110301023749 * Bug fix: fix segfault in pvfs2-server if client provides too large of buffer in the list-eattr state machine. Includes additional sanity checks on extended attribute operations CVS: Orange-Branch:mtmoore:20110225222047 * Bug fix: merge dir.c fix from main branch CVS: Orange-Branch:bligon:20110126215228 * Bug fix: resolve data corruption caused by ki_pos not being updated during synchronous I/O through asynchronous path (relevant to newer kernels). CVS: Orange-Branch:mtmoore:20110123143300 * Bug fix: fix resolving symbolic links from pvfs2-* utilities CVS: Orange-Branch:mtmoore:20110114215452 * Bug fix: Fix ncache entry update when moving files by David Metheny CVS: Orange-Branch:mtmoore:20110111154332 * Bug fix: PVFS_hint_add fix by Julian Kunkel and refinement of patch CVS: Orange-Branch:mtmoore:20110105051448 CVS: Orange-Branch:bligon:20110224203131 * Bug fix: change where unlocks occur w.r.t __PVFS_JOB_THREADED__ to prevent deadlock CVS: Orange-Branch:mtmoore:20101221163004 * Bug fix: change incorrect use of union members in tree-communicate CVS: Orange-Branch:mtmoore:20101214182035 * Bug fix: initialize values in trove-migrate to resolve segfault CVS: Orange-Branch:bligon:20101213175120 * Bug fix: pvfs2-mkspace not set collection-only properly CVS: Orange-Branch:bligon:20101213174458 * Bug fix: update iteration in quickhash to use safe variant CVS: Orange-Branch:mtmoore:20101207004159 * Bug fix: null handle/fs_id sent to getattr in client create state machine CVS: Orange-Branch:bligon:20101201170021 * Added support for newer (> 2.6.18) kernels up through 2.6.34. CVS: Orange-Branch:mtmoore:20101216185529 CVS: Orange-Branch:mtmoore:20101221153412 CVS: Orange-Branch:mtmoore:20101221153514 CVS: Orange-Branch:mtmoore:20101221153709 CVS: Orange-Branch:mtmoore:20101221153806 CVS: Orange-Branch:mtmoore:20101221154012 CVS: Orange-Branch:mtmoore:20101221154240 CVS: Orange-Branch:mtmoore:20101221160327 CVS: Orange-Branch:mtmoore:20110123143015 CVS: Orange-Branch:mtmoore:20110124130323 CVS: Orange-Branch:mtmoore:20110203182026 * Added beginning of new user interface CVS: Orange-Branch:walt:20110208213934 * Cleanup: change PINT_dist_finalize to unregister and free distributions cleanly CVS: Orange-Branch:mtmoore:20101221163224 * Cleanup: delete items from timer queue list when element is freed CVS: Orange-Branch:mtmoore:20101221163041 ------------------------------------------------------------------------------- orangefs-2.8.2-20100920 * Changed unstuff state machine to handle writing to files with read-only permissions on create CVS: Orange-Branch:bligon:20100920181650 * Bug fix for kernel panics from list corruption CVS: Orange-Branch:mtmoore:20100915132022 * Trove version increase to 0.1.5 to support precreate pools of multiple types CVS: Orange-Branch:mtmoore:20100908153740 * PJMP memory leak fix CVS: Orange-Branch:bligon:20100906203050 * BMI memory leak fix CVS: Orange-Branch:bligon:20100831190531, Orange-Branch:bligon:20100831190748, Orange-Branch:bligon:20100902155433