Jim, We have a new version of Linux RFS, version 4.0.64.4, which should allow you to read the data written by the old tetsu RFS server. This version includes other previous updates, which made RFS a 64-bit application, improved memory management and performance, and included a number of other enhancements and fixes. This email includes download instructions, installation instructions for your site, and general delivery notes (which includes a set of generic installation instructions). The initial delivery of RFS for Solaris x86 (which your tetsu server was running) had a bug where the byte order of CRC and other fields was incorrect. This delivery includes code to check for the wrong byte order in the CRC field of the VIB (a structure written to the SM collection file). Note that while this delivery is included in our standard software, its distribution is being limited to your site until we verify that it resolves the issue. If you have any questions or issues, please let us know. Jeb Rechen FileTek Customer Support ################################################################# DOWNLOAD INSTRUCTIONS To download the new RFS package, use your browser to go to the URL shown below, enter the user ID and password, open the "RFS-LINUX-4.0.64.4-UnivOfWisc (one-off release only)" folder, and click on the FLTKrfs package name. UserID Password URL ------ ------- --- download39 zeprUv3v http://download.filetek.com/customers/download39 After downloading the package, copy it to your RFS servers. ################################################################# UPGRADE INSTRUCTIONS You can use the following procedure to update RFS. ****** NOTE: You may need to find the current version of your RFS software. You can execute the following command as root while RFS is running to get RFS information, including the current version: cat /RFS/SM_LOCAL/RFSHEALTH.TXT If your local RFS mount point is not /RFS, substitute your local mount point for /RFS. The version number is identified as "RFS Version" in the GENERAL INFORMATION section toward the beginning of the display. ****** As root on your RFS server: # Prepare delivery file and directory mkdir /rfs/deliver cp /FLTKrfs-4-0-64-4.rpm /rfs/deliver cd /rfs/deliver # Save files prior to update cp -p /rfs/files/rfs*.cfg /rfs/deliver cp -p /etc/init.d/rfs /rfs/deliver mv /etc/init.d/rfs.v4r0 /rfs/deliver/rfs.v4r0.old cp -p /rfs/files/localpath/RFSALIAS.HTML /rfs/deliver # Stop RFS and RFSAS /sbin/service rfs stop /sbin/service rfsas stop # Remove the old package # If you want to repackage the RFS software in /var/spool/repackage # as part of the removal: rpm -e --repackage FLTKrfs # Or just remove it without repackaging: rpm -e FLTKrfs # Install the new package rpm -i FLTKrfs-4-0-64-4.rpm # Restore config files and replace html files cp -p /rfs/deliver/rfs*.cfg /rfs/files cp -p /rfs/v4r0/html/* /rfs/files/localpath rm /rfs/files/localpath/RFSALIAS.HTML After reinstalling the package using the above procedure, replace the rfs startup script with the updated version, if needed: ls -l /etc/init.d/rfs* # If you see an rfs file and an rfs.v4r0, execute next two commands # If you see rfs.4r0 but not rfs, then execute just the mv command # If you see rfs but no rfs.v4r0, skip both commands cp -p /etc/init.d/rfs /etc/init.d/rfs.old mv /etc/init.d/rfs.v4r0 /etc/init.d/rfs Edit the /rfs/files/rfs.cfg file and make changes as needed as described in 1. through 5. below. 1. Locate the FileCleanupTimeout parameter. Verify that the value is between 480 and 1440 (minutes), inclusive. If not, change it to a value within that range. The default for new installations is 1440. 2. Locate each instance of the MaxSMFiles parameter. Verify that the value is between 32 and 64, inclusive. If not, change it to a value within that range. The default for new installations is 64. If your current value is less than 32, then change it to 32. If it is larger than 64, change it to 64. 3. Locate each instance of the MaxWriteSize parameter. If the value is not 1800 (megabytes), change the value to 1800. 4. Locate the MaxCacheSpace parameter. The new minimum value is 1000 (megabytes), and the new maximum is 64000 (megabytes), but the value should not be set to more than 50% of system memory. It is recommended that you set MaxCacheSpace to about 25% of system memory. If system memory is 4GB or less, then set MaxCacheSpace to its minimum value of 1000. If system memory is larger than 256GB, then set MaxCacheSpace to its maximum value of 64000. 5. Remove all instances of the obsolete parameters CleanupTimeout, CheckPoint, Browse, and MIN_RFS_FILE_LIST. (Your configuration file might not have all of these.) After completing the above changes to /rfs/files/rfs.cfg, save the changes and exit the editor. Then save a copy of the file: cp -p /rfs/v4r0/conf/rfs.cfg /rfs/v4r0/conf/rfs.cfg.d37 cp -p /rfs/files/rfs.cfg /rfs/v4r0/conf Edit the /rfs/files/rfsas.cfg file and change or add the RfsDataRoot parameter toward the end of the file in the section identified by this comment: "directories used by UNIX RFSAS" The parameter should be defined as: RfsDataRoot=/rfs/files/localpath After completing the above changes to /rfs/files/rfsas.cfg, save the changes and exit the editor. Then save a copy of the file: cp -p /rfs/v4r0/conf/rfsas.cfg /rfs/v4r0/conf/rfsas.cfg.d37 cp -p /rfs/files/rfsas.cfg /rfs/v4r0/conf This completes the updates unless there are additional changes in the delivery notes below that you would like to make. To start RFS: /sbin/service rfsas start /sbin/service rfs start After RFS completes startup, it is recommended that you get a health report and check it for errors (entries with "E-" type messages). You can get a health report by executing the following command as root while RFS is running: cat /RFS/SM_LOCAL/RFSHEALTH.TXT If your local RFS mount point is not /RFS, substitute your local mount point for /RFS. ######################################################################### GENERAL DELIVERY NOTES: ######################################################################### 5-MAY-2011 FLTKrfs-4-0-64-4.rpm 110505S40D40 Version 4.0.64.4 of RFS for Linux RFS is a 64-bit application starting with RFS version 4.0.64.1. See the Delivery notes below for procedures for updating from previous deliveries. In particular, Deliveries #36, #37, #38, and #39 include a new parameter to support MacOS Finder access, new cache and collector directory features, required and optional changes to RFS parameters, and a new rfs startup script to replace the existing one. For delivery #24 and delivery #28 note that you must use tblgen to create a new table to support user files with path names longer than 250 bytes and symbolic links in RFS collection space. Also note the procedure for enabling the new file version limit feature in delivery #20. Also of interest in recent deliveries are the new debug command for the rfs startup script (which also sets tcp_keepalive to 600 seconds to keep long transfers to StorHouse from timing out), the FSTAT command in delivery #22, the new rfscmd utility in delivery #24, the new RFS FIND and FSTAT command capabilities in delivery #24, additional special characters in user file names, the ability to specify the scheduling policy in rfs.cfg, and a number of significant bug fixes. RFS now will run DUMPSYS in the background and will time it out if it does not complete within 30 seconds. INITIAL INSTALLATIONS: If you are installing RFS for the first time, refer to the FileTek RFS installation and configuration documentation and the /rfs/v4r0/conf/README file after installing the package. Be sure to include the X option when using tblgen to create tables in the RFS database on the StorHouse server and StorHouse mirror server (if using a mirror). The X option is a relatively new feature and may not be included in older documentation. The use of the X option is described below in the section describing update procedures. The delivery notes below also describe RFS parameter changes that may not be included in older documentation. UPDATING EXISTING INSTALLATIONS: ****** NOTE: You may need to find the current version of your RFS software. You can execute the following command as root while RFS is running to get RFS information, including the current version: cat /RFS/SM_LOCAL/RFSHEALTH.TXT If your local RFS mount point is not /RFS, substitute your local mount point for /RFS. The version number is identified as "RFS Version" in the GENERAL INFORMATION section toward the beginning of the display. ****** If you are updating an existing RFS software instance that has a version number prior to 4.0.64.1, it is suggested that you update by saving the RFS configuration files, uninstalling the existing version, installing the new version, restoring the configuration files, and then making any additional changes described below; otherwise, you can use the "-U --force" rpm options as described below. In either case, you should review these notes to see if any parameter or other changes are required or optional for your current delivery level. You can use the following procedure to update RFS. As root: # Prepare delivery file and directory mkdir /rfs/deliver cp /FLTKrfs-4-0-64-4.rpm /rfs/deliver cd /rfs/deliver # Save files prior to update cp -p /rfs/files/rfs*.cfg /rfs/deliver cp -p /etc/init.d/rfs /rfs/deliver # The following file might not exist if current RFS version # 4.0.64.1 or later. cp -p /rfs/files/localpath/RFSALIAS.HTML /rfs/deliver # Stop RFS and RFSAS /sbin/service rfs stop /sbin/service rfsas stop ****** # If you are updating an existing RFS instance older than version 4.0.64.1 # it is suggested that you remove and reinstall the package. # Remove the old package # If you want to repackage the RFS software in /var/spool/repackage # as part of the removal: rpm -e --repackage FLTKrfs # Or just remove it without repackaging: rpm -e FLTKrfs # Install the new package rpm -i FLTKrfs-4-0-64-4.rpm ****** OR ****** # If you are updating an existing RFS instance with a version # number of 4.0.64.1 or later, you can update the existing RFS instance. # In this case, you can use this command (as root) in place of the rpm -e and # rpm -i commands given above: rpm -U --force FLTKrfs-4-0-64-4.rpm ****** # Restore config files and replace html files cp -p /rfs/deliver/rfs*.cfg /rfs/files cp -p /rfs/v4r0/html/* /rfs/files/localpath rm /rfs/files/localpath/RFSALIAS.HTML After reinstalling or updating the package using the above procedure, replace the rfs startup script with the updated version: cp -p /etc/init.d/rfs /etc/init.d/rfs.old mv /etc/init.d/rfs.v4r0 /etc/init.d/rfs ****** NOTE: If you previously modified the /etc/init.d/rfs startup script, compare the new and old files and add any required changes to the new rfs startup script. ****** If your previous version of RFS was older than 4.0.64.1, then edit the /rfs/files/rfs.cfg file and make changes as needed as described in 1. through 5. below. 1. Locate the FileCleanupTimeout parameter. Verify that the value is between 480 and 1440 (minutes), inclusive. If not, change it to a value within that range. The default for new installations is 1440. 2. Locate each instance of the MaxSMFiles parameter. Verify that the value is between 32 and 64, inclusive. If not, change it to a value within that range. The default for new installations is 64. If your current value is less than 32, then change it to 32. If it is larger than 64, change it to 64. 3. Locate each instance of the MaxWriteSize parameter. If the value is not 1800 (megabytes), change the value to 1800. 4. Locate the MaxCacheSpace parameter. The new minimum value is 1000 (megabytes), and the new maximum is 64000 (megabytes), but the value should not be set to more than 50% of system memory. It is recommended that you set MaxCacheSpace to about 25% of system memory. If system memory is 4GB or less, then set MaxCacheSpace to its minimum value of 1000. If system memory is larger than 256GB, then set MaxCacheSpace to its maximum value of 64000. 5. Remove all instances of the obsolete parameters CleanupTimeout, CheckPoint, Browse, and MIN_RFS_FILE_LIST. (Your configuration file might not have all of these.) After completing the above changes to /rfs/files/rfs.cfg, save the changes and exit the editor. Then save a copy of the file: cp -p /rfs/v4r0/conf/rfs.cfg /rfs/v4r0/conf/rfs.cfg.d37 cp -p /rfs/files/rfs.cfg /rfs/v4r0/conf If your previous version of RFS was older than 4.0.64.1, then edit the /rfs/files/rfsas.cfg file and change or add the RfsDataRoot parameter toward the end of the file in the section identified by this comment: "directories used by UNIX RFSAS" The parameter should be defined as: RfsDataRoot=/rfs/files/localpath After completing the above changes to /rfs/files/rfsas.cfg, save the changes and exit the editor. Then save a copy of the file: cp -p /rfs/v4r0/conf/rfsas.cfg /rfs/v4r0/conf/rfsas.cfg.d37 cp -p /rfs/files/rfsas.cfg /rfs/v4r0/conf ****** NOTE: If your previous RFS was 4.0.57.4 or later, then you can probably stop here and restart RFS, unless there are additional changes in the delivery notes below that you would like to make. To start RFS: /sbin/service rfsas start /sbin/service rfs start ****** If you are updating an existing installation of RFS software and have not previously used the X option with tblgen to create the database table to support long names and symbolic links, then see the instructions below. If you are currently running RFS version 4.0.57.4 or later, then you should already have the long path name table. You should also review the delivery notes included below to identify other changes you may have to make. For each collection definition in your RFS configuration file (rfs.cfg), make a note of the Database name, TableName, and UserId in the storage definition associated with the collection and the DNSName in the system definition associated with the storage definition. If a storage definition specifies a MirrorName, also note the DNSName in the MirrorName system definition. You must use the X option with the tblgen utility once and only once for each unique combination of Database name, TableName, and DNSName. If a storage definition specifies a MirrorName as well as a SystemName, then you must execute tblgen once for the SystemName and once for the MirrorName. When you execute the tblgen utility, it will ask for the table type (X), the DNSName, the Database name, the TableName, the UserId, and the Password associated with the storage definition UserId. For example, for the DATA_CLTN collection, DATA_STORAGE storage definition, STH system definition, and STH_MIRROR system definition shown below, you would note the DATA_STORAGE SystemName (STH), MirrorName (STH_MIRROR), Database name (RFS), TableName (DATA), and UserId (SYSADM). You would also note the STH system definition's DNSName (sth1) and the STH_MIRROR system definition's DNSName (sth2). [DATA_CLTN] Storage=DATA_STORAGE CollectionDir=/rfs/staging/collections/data MaxLoadInterval=360 MaxWriteSize=1800 Compression=no Browse=yes Retention=0 [DATA_STORAGE] SystemName=STH MirrorName=STH_MIRROR Database=RFS TableName=DATA UserId=SYSADM Password=abc123 MaxSearchConnections=4 SearchConnectionTimeout=10 [STH] DNSName=sth1 STHName=STH MailRecipient= RetryInterval=3 UserId=SYSADM Password=abc123 Group=RFS VSET=DATA1 FSET=DATA1 FSETSegments=1 VTF=NEXT Checkpoint=1800 MaxSMFiles=20 MaxSMWriters=2 [STH_MIRROR] DNSName=sth2 STHName=STH_MIRROR MailRecipient= RetryInterval=3 UserId=SYSADM Password=abc123 Group=RFS VSET=DATA1 FSET=DATA1 FSETSegments=1 VTF=NEXT Checkpoint=1800 MaxSMFiles=20 MaxSMWriters=2 For the above definitions, after updating the RFS software you would execute the tblgen utility, as root, on the RFS server two times, once for the primary StorHouse server and once for the mirror StorHouse server. For the primary StorHouse server: . /rfs/v4r0/bin/defs cd /rfs/v4r0/conf ./tblgen # tblgen will request the table types: Type the upper case letter X and press enter. # tblgen will request the host name: Type the DNSName (sth1) from the STH System # Definition and press enter. # tblgen will request the RM database name: Type the Database name RFS from # the Storage Definition and press enter. # tblgen will request the table name: Type the TableName DATA from the # Storage Definition and press enter. # tblgen will request the account: Type the UserID SYSADM from the Storage Definition # and press enter. # tblgen will request the password: Type the SYSADM password in upper case and # press enter. NOTE: The Q option quits out of tblgen. tblgen will create the new table on the primary StorHouse server. For the mirror StorHouse server, you would then repeat the above steps substituting the mirror StorHouse server DNSName (sth2) in place of the primary DNSName (sth1) and respond to the other requests as shown above. This completes the updates unless there are additional changes in the delivery notes below that you would like to make. To start RFS: /sbin/service rfsas start /sbin/service rfs start After RFS completes startup, it is recommended that you get a health report and check it for errors (entries with "E-" type messages). You can get a health report by executing the following command as root while RFS is running: cat /RFS/SM_LOCAL/RFSHEALTH.TXT If your local RFS mount point is not /RFS, substitute your local mount point for /RFS. ##################################################################### Delivery Notes (most recent to oldest): ************************************************************* #40 Thu May 5 12:22:06 EDT 2011 keith -rwxrwxr-x 1 keith rfs 96742 May 5 11:44 bin/checkfile -rwxrwxr-x 1 keith rfs 125021 May 5 11:44 bin/checkldr -rwxrwxr-x 1 keith rfs 113675 May 5 11:44 bin/listdeleted -rwxrwxr-x 1 keith rfs 1034186 May 5 11:44 bin/rfsas -rwxrwxr-x 1 keith rfs 5445209 May 5 11:44 bin/rfsd -rwxrwxr-x 1 keith rfs 139525 May 5 11:44 bin/rfsdelete -rwxrwxr-x 1 keith rfs 356770 May 5 11:44 bin/rfsextract -rwxrwxr-x 1 keith rfs 236774 May 5 11:44 bin/rfsgetldr -rwxrwxr-x 1 keith rfs 623822 May 5 11:44 bin/rfsmaint -rwxrwxr-x 1 keith rfs 660445 May 5 11:44 bin/rfsrestore -rwxrwxr-x 1 keith rfs 846340 May 5 11:43 lib/libfsd.so -rwxrwxr-x 1 keith rfs 1745894 May 5 11:42 lib/libutil.so This delivery provides version 4.0.64.4 of RFS. The initial delivery of RFS for Solaris x86 had a bug where the byte order of CRC and other fields was incorrect. This delivery includes code to check for the wrong byte order in the CRC field of the VIB (a structure written to the SM collection file). Also with this delivery RFS will now attempt to register with the portmap service. Note that this registration will fail if standard NFS is also running on the RFS server system. Successful registration with portmap will allow clients that cannot specify the port number and/or protocol type in the mount options to mount RFS. ************************************************************* #38-39 PSTAMP=110422S40D39 Fri April 22, 2011 This release provides version 4.0.64.2 of RFS. This release has the following changes: - The volume command has been changed to report the amount of available space based on the rfs.cfg file parameter SpaceAvailable, defined in the 'RFS' section. If this parameter is not defined, RFS will return 80% of the amount of space configured in the smallest collector that is writable by the caller. Note that in either case RFS will now always return space used as 0. The driver for this change was to allow Mac OSX clients using Finder to copy files/content into RFS collectors where enough space is allocated but not being reported back. Finder will not allow a copy to be initiated unless enough space is returned as available. Using the 'SpaceAvailable' parameter (set manually) now allows for Finder (and potentially other client applications) to copy content into RFS where another configured collector may not have enough available space. - The /etc/init.d/rfs script now will mount /RFS in the start function. This restores the behavior of /etc/init.d/rfs prior to Linux delivery 4.0.64.2. "/RFS" should not be used by customers to transfer data to RFS, but is needed for special commands executed via RFSAS and CCi. ************************************************************* #36-37 PSTAMP=110408S40D37 Fri April 8, 2011 Changes, fixes, inclusions to RFS made in Linux 4.0.64.1 and 4.0.64.2 releases: - The maximum for 'MaxWriteSize' (as defined in rfs.cfg) is now set at '1800'. - RFS now allows files copied from Mac OSX clients that contained special attributes/options (such as O_EXCL). - RFS now saves a new user 'gid' upon first use instead of using the anonymous 'gid'. - RFS supported as a 64-bit application on Linux. - The maximum size of the cache file for SM reads is now 64GB. - Other "rfs.cfg" parameter changes: - 'FileCleanupTimeout' -- min: 480; default: 1440; max 1440 - 'MaxSMFiles' - min: 32; default: 64; max: 64 - 'MaxWriteSize' - min: 500; default: 1800; (max: 20000 unchanged) - 'MaxCacheSpace' - min: 1000, default: 1000; max: 64000 - Obsolete parameters - 'CleanupTimeout', 'CheckPoint', 'Browse', 'MIN_RFS_FILE_LIST' - Domain name is no longer appended to username and groupnames if it matches the domain name of the RFS server. - The maximum number of concurrent RM loads is now limited to the sum of all MaxSMWriters (was previously unlimited). - The "/etc/init.d/rfs debug" command will now examine core files and produce stack tracebacks. - "tblgen" now has a 'Q' option to quit. - RFS now logs I/O statistics every hour in rfs.log. - RFS now logs when users are aliased. ************************************************************* #35 Thu Jan 13 17:18:56 EST 2011 keith -rwxrwxr-x 1 keith rfs 158972 Jan 4 15:02 conf/tblgen Tblgen should have been provided with delivery #32, because it's linked to libutil.so, which changed. This delivery will be needed by any new customer installing 4.0.63.1. ************************************************************* #34 Thu Jan 6 16:03:35 EST 2011 keith -rwxrwxr-x 1 keith rfs 9011 Jan 6 15:50 linux_pkg/rfs This delivery provides enhancements to the debug command in /etc/init.d/rfs. This has been added: - df -h - top -bH -n 1 - cat /proc/meminfo - ls -lt /rfs/logs/core.* - /var/log/messages - /etc/hosts The script has also been changed to remove dumpsys and pstack output that was generated by the debug command. The output file has changed to DATE.debug, and it is written to the /rfs/logs directory. ************************************************************* #33 Wed Jan 5 16:46:40 EST 2011 keith -rwxrwxr-x 1 keith rfs 8573 Jan 5 16:38 linux_pkg/rfs This delivery provides several enhancements to the /etc/init.d/rfs script. When starting RFS the TCP parameter tcp_keepalive_timeout is now set to 600 (10 minutes). The pstack command has been changed to accept a repeat count, which defaults to 3, and can range from 1 to 10. The script delays 2 seconds between each pstack, and the output is written to /rfs/logs/rfs.DATE.pstack.N, with N starting at 0. Pstack output is no longer written to stdout, instead the script lists the pstack files that were generated. [root@linxsth ~]# /etc/init.d/rfs pstack 15:35:37: generating 3 pstack files... -rw-r--r-- 1 root root 6980 Jan 5 15:35 /rfs/logs/rfs.20110105153537.pstack.0 -rw-r--r-- 1 root root 6980 Jan 5 15:35 /rfs/logs/rfs.20110105153537.pstack.1 -rw-r--r-- 1 root root 6980 Jan 5 15:35 /rfs/logs/rfs.20110105153537.pstack.2 The dumpsys command has been changed to execute in the background, in case RFS is hung and can't complete the command. If the command hasn't completed in 30 seconds the script will give up. The new command debug has been created to collect debug info into a single file. This command accepts a parameter specifying the number of days of debug info to collect. The default is 2, and it can range from 1 to 30. The debug command collects the following info : - rfs.cfg - output of ls -l for each collection directory - pstack output if RFS is running - dumpsys output if RFS is running - all log files in the RFS directory beginning with rfs. for the specified number of days (except those ending in .debug) All these files are collected into a tar/gzip file named /rfs/logs/DATE.debug. [root@linxsth logs]# /etc/init.d/rfs debug 16:01:31: collecting debug info from the last 2 days... -rw-r--r-- 1 root root 44625 Jan 5 16:01 rfs.20110105160131.debug [root@linxsth logs]# tar -tvf rfs.*.debug -rwxr-xr-x root/root 1386 2011-01-05 16:01:31 ./rfs.cfg -rw-r--r-- root/root 6 2011-01-05 15:37:24 ./rfs.pid -rw-rw-rw- root/root 12024 2011-01-05 16:01:24 ./rfs.log -rw-r--r-- root/root 284 2011-01-05 16:00:00 ./rfs.err -rw-rw-rw- root/root 35574 2011-01-04 15:20:01 ./rfs.20110104152008.log -rw-r--r-- root/root 314 2011-01-04 15:20:01 ./rfs.20110104151958.err -rw-r--r-- root/root 6996 2011-01-05 16:01:33 ./rfs.20110105160131.pstack.1 -rw-r--r-- root/root 6996 2011-01-05 16:01:35 ./rfs.20110105160131.pstack.2 -rw-r--r-- root/root 479 2011-01-04 14:35:46 ./rfs.20110104143543.err -rw-rw-rw- root/root 108014 2011-01-05 00:00:14 ./rfs.20110105000014.log -rw-rw-rw- root/root 153641 2011-01-04 14:35:46 ./rfs.20110104143548.log -r--r--r-- root/root 2997 2011-01-05 16:01:37 ./rfs.20110105160137.dumpsys -rw-rw-rw- root/root 86904 2011-01-04 00:07:01 ./rfs.20110104000701.log -rw-r--r-- root/root 0 2011-01-05 15:37:24 ./rfs.out -rw-r--r-- root/root 1068 2011-01-05 16:01:31 ./rfs.20110105160131.coll -rw-r--r-- root/root 6996 2011-01-05 16:01:31 ./rfs.20110105160131.pstack.0 -rw-rw-rw- root/root 151561 2011-01-05 15:36:25 ./rfs.20110105153724.log ************************************************************* #32 Thu Dec 23 13:16:10 EST 2010 keith SPR2541 -rwxrwxr-x 1 keith rfs 73416 Dec 23 13:11 bin/checkfile -rwxrwxr-x 1 keith rfs 93707 Dec 23 13:11 bin/checkldr -r-xr-xr-x 1 keith rfs 4642 Dec 23 13:11 bin/defs -rwxrwxr-x 1 keith rfs 88015 Dec 23 13:11 bin/listdeleted -rwxrwxr-x 1 keith rfs 842198 Dec 23 13:11 bin/rfsas -r-xr-xr-x 1 keith rfs 1765 Dec 23 13:11 bin/rfscmd -rwxrwxr-x 1 keith rfs 4141223 Dec 23 13:11 bin/rfsd -rwxrwxr-x 1 keith rfs 107165 Dec 23 13:11 bin/rfsdelete -rwxrwxr-x 1 keith rfs 270076 Dec 23 13:11 bin/rfsextract -rwxrwxr-x 1 keith rfs 177706 Dec 23 13:11 bin/rfsgetldr -rwxrwxr-x 1 keith rfs 476158 Dec 23 13:11 bin/rfsmaint -rwxrwxr-x 1 keith rfs 499806 Dec 23 13:11 bin/rfsrestore -rwxrwxr-x 1 keith rfs 627050 Dec 23 13:10 lib/libfsd.so -rwxrwxr-x 1 keith rfs 878647 Dec 23 13:09 lib/libptypes.so -rwxrwxr-x 1 keith rfs 1398156 Dec 23 13:09 lib/libutil.so This delivery provides version 4.0.63.1 of RFS. These problems have been fixed: - Issue 2541, permissions errors when rsync was updating read-only files. - The hang when reading from STH because of a leak of RefCnt in RFSCacheMgr. - The -50007 error when inserting into long path tables. ************************************************************* #31 Wed Dec 1 08:47:21 EST 2010 keith -rwxrwxr-x 1 keith rfs 6412 Dec 1 08:46 linux_pkg/rfs The RFS startup/shutdown script has been changed to not collect DUMPSYS info during shutdown. DUMPSYS info can be collected on demand with the command "/etc/init.d/rfs dumpsys". ************************************************************* #30 Tue Nov 23 17:37:46 EST 2010 keith -rwxrwxr-x 1 keith rfs 60391 Nov 23 17:34 bin/checkfile -rwxrwxr-x 1 keith rfs 88177 Nov 23 17:33 bin/checkldr -r-xr-xr-x 1 keith rfs 4642 Nov 23 17:33 bin/defs -rwxrwxr-x 1 keith rfs 76457 Nov 23 17:34 bin/listdeleted -rwxrwxr-x 1 keith rfs 780272 Nov 23 17:34 bin/rfsas -r-xr-xr-x 1 keith rfs 1765 Nov 23 17:34 bin/rfscmd -rwxrwxr-x 1 keith rfs 3578334 Nov 23 17:33 bin/rfsd -rwxrwxr-x 1 keith rfs 101422 Nov 23 17:34 bin/rfsdelete -rwxrwxr-x 1 keith rfs 244023 Nov 23 17:34 bin/rfsextract -rwxrwxr-x 1 keith rfs 162229 Nov 23 17:34 bin/rfsgetldr -rwxrwxr-x 1 keith rfs 438933 Nov 23 17:34 bin/rfsmaint -rwxrwxr-x 1 keith rfs 463513 Nov 23 17:34 bin/rfsrestore -rwxrwxr-x 1 keith rfs 601109 Nov 23 17:33 lib/libfsd.so -rwxrwxr-x 1 keith rfs 1217004 Nov 23 17:32 lib/libutil.so Delivery #29 was compiled with debug, and should have been compiled with optimization. ************************************************************* #29 Tue Nov 23 16:23:32 EST 2010 keith -rwxrwxr-x 1 keith rfs 46537 Nov 23 09:46 bin/checkfile -rwxrwxr-x 1 keith rfs 59668 Nov 23 09:46 bin/checkldr -r-xr-xr-x 1 keith rfs 4642 Nov 23 09:46 bin/defs -rwxrwxr-x 1 keith rfs 61162 Nov 23 09:46 bin/listdeleted -rwxrwxr-x 1 keith rfs 739348 Nov 23 09:46 bin/rfsas -r-xr-xr-x 1 keith rfs 1765 Nov 23 09:46 bin/rfscmd -rwxrwxr-x 1 keith rfs 2408743 Nov 23 09:46 bin/rfsd -rwxrwxr-x 1 keith rfs 73754 Nov 23 09:46 bin/rfsdelete -rwxrwxr-x 1 keith rfs 185638 Nov 23 09:46 bin/rfsextract -rwxrwxr-x 1 keith rfs 122887 Nov 23 09:46 bin/rfsgetldr -rwxrwxr-x 1 keith rfs 284668 Nov 23 09:46 bin/rfsmaint -rwxrwxr-x 1 keith rfs 300137 Nov 23 09:46 bin/rfsrestore -rwxrwxr-x 1 keith rfs 556914 Nov 23 13:44 lib/libfsd.so -rwxrwxr-x 1 keith rfs 982982 Nov 23 13:44 lib/libutil.so This delivery provides version 4.0.57.8 of RFS. This delivery provides support for multiple RFS servers accessing the same database, enhanced write throttling, and other enhancements and bug fixes. Support for multiple servers accessing the same database is only available with UNIX RFS. When multiple RFS servers access the database, only one server should be writing. The other servers are considered read-only. There are two new rfs.cfg file parameters that support multiple RFS servers; RefreshTimeout and ReadOnly. These new parameters both belong in the storage section. Both of these parameters should be defined only on the read-only RFS servers. RefreshTimeout defines how many minutes RFS will cache directory info before checking the database for updates. RefreshTimeout defaults to 0, which means refresh operations are disabled. RefreshTimeout can range from 0 to 10000 minutes. ReadOnly defines whether the read-only RFS server allows writes; if ReadOnly is no then writes will be allowed, but warning messages will be added to rfs.log for each write-type operation. If ReadOnly is yes, then updates will be refused. The default value for ReadOnly is yes if RefreshTimeout is > 0, otherwise ReadOnly defaults to no. Prior to this delivery RFS did not write a database record for any collector root. Permissions and ownership were derived from the local staging directory for that collector. Now RFS updates these database records so that read-only RFS servers will find them in the database. When this delivery is installed at sites with existing data, manual steps MUST be taken in order to force a database update. This is to avoid spurious "file not found" errors at the read-only servers. After this code is installed a temporary file must be created in each shared collector root (on the "writing" server). It can be deleted immediately. When this file is created RFS will generate a database record for its parent directory, in this case the collector root. Also in this delivery the support for write throttling has been enhanced. Several new rfs.cfg parameters have been created to better control write throttling. These parameters all belong in the collector section. MaxStagePct can be defined to cause RFS to return an out of space error before the staging area is 100% full. MaxStagePct defaults to 100, and can range from 80 - 100. MaxFileSizePct defines the maximum allowed file size as a % of the staging area. MaxFileSizePct defaults to 100, and can range from 0 - 100. MaxThrottleDelayMsec defines the maximum delay in milliseconds per write operation. In previous implementations this value was hard-coded to 5000. MaxThrottleDelayMsec defaults to 1000, and can range from 0 - 5000. If set to 0, write throttling is disabled. Another enhancement is that MaxSMWriters can be set to 0. This allows customers to schedule times where writes to StorHouse would not take place. Note that once the staging areaa is 80% or more full, writes to RFS will be throttled. In addition these bugs have been fixed: - An overflow of volume information fields has been fixed. - The maximum file size has been increased from 4.398 TB to 9.999 TB. Note that the maximum tested file size is 4.398 TB. - The rename logic now handles rename operations that span collectors and/or file systems. - Fix internal error when the target of a symlink operation started with a digit. - rfscmd: fixed bugs encountered during testing at Filetek. Summary of rfs.cfg parameter changes: parameter section default min max --------- ------- ------- --- --- RefreshTimeout storage 0 0 10000 ReadOnly storage * no yes MaxStagePct collector 100 80 100 MaxFileSizePct collector 100 0 100 MaxThrottleDelayMsec collector 1000 0 5000 (*) - ReadOnly default = yes if RefreshTimeout > 0, else no. ************************************************************* #28 Mon Oct 25 11:48:37 EDT 2010 keith -rwxrwxr-x 1 keith rfs 59634 Oct 25 11:18 bin/checkfile -rwxrwxr-x 1 keith rfs 88037 Oct 25 11:18 bin/checkldr -r-xr-xr-x 1 keith rfs 4642 Oct 25 11:18 bin/defs -rwxrwxr-x 1 keith rfs 76313 Oct 25 11:18 bin/listdeleted -rwxrwxr-x 1 keith rfs 779604 Oct 25 11:18 bin/rfsas -r-xr-xr-x 1 keith rfs 1738 Oct 25 11:18 bin/rfscmd -rwxrwxr-x 1 keith rfs 3573152 Oct 25 11:18 bin/rfsd -rwxrwxr-x 1 keith rfs 100965 Oct 25 11:18 bin/rfsdelete -rwxrwxr-x 1 keith rfs 243290 Oct 25 11:18 bin/rfsextract -rwxrwxr-x 1 keith rfs 160960 Oct 25 11:18 bin/rfsgetldr -rwxrwxr-x 1 keith rfs 435788 Oct 25 11:18 bin/rfsmaint -rwxrwxr-x 1 keith rfs 460164 Oct 25 11:18 bin/rfsrestore -rwxrwxr-x 1 keith rfs 129954 Oct 25 11:18 conf/tblgen -rwxrwxr-x 1 keith rfs 600661 Oct 25 11:17 lib/libfsd.so -rwxrwxr-x 1 keith rfs 1218268 Oct 25 11:16 lib/libutil.so -r-xr-xr-x 1 keith rfs 6585 Oct 25 11:18 linux_pkg/rfs This delivery provides version 4.0.57.7 of RFS. With this delivery RFS now supports symbolic links. Symbolic links are stored in the long path tables, which are created with the X option of tblgen. In addition the /etc/init.d/rfs script has been changed to limit the number of open files used by RFS to 75% of the number of open files supported, to a maximum of 131072 descriptors. ************************************************************* #27 Thu Sep 30 17:04:29 EDT 2010 keith -rwxrwxr-x 1 keith rfs 779060 Sep 21 13:17 bin/rfsas rfsas should have been included in delivery #26, because older versions of rfsas will not run with newer shared libraries (libfsd.so and libutil.so). ************************************************************* #26 Wed Sep 15 19:18:37 EDT 2010 keith -rwxrwxr-x 1 keith rfs 3556335 Sep 15 18:52 bin/rfsd -rwxrwxr-x 1 keith rfs 584546 Sep 15 18:51 lib/libfsd.so -rwxrwxr-x 1 keith rfs 878483 Sep 15 18:51 lib/libptypes.so -rwxrwxr-x 1 keith rfs 1216432 Sep 15 18:51 lib/libutil.so This delivery provides version 4.0.57.6 of RFS. With this delivery RFS now supports the use of unusual characters in file names on UNIX. In addition UTF-8 characters are now allowed in file names on UNIX (UTF-8 was already supported on Windows). These characters aren't allowed on either system: ASCII characters below 0x20 / (forward slash) ASCII characters 0x7F and 0xFF These characters aren't allowed on Windows: ? * On both systems files named . or .. can't be created. The code that was provided in delivery #25 was not compiled with optimization. This version has been. ************************************************************* #25 Thu Sep 2 15:01:18 EDT 2010 keith -rwxrwxr-x 1 keith rfs 2389484 Sep 2 14:12 bin/rfsd -rwxrwxr-x 1 keith rfs 540840 Sep 2 14:12 lib/libfsd.so -rwxrwxr-x 1 keith rfs 966275 Sep 2 14:12 lib/libutil.so This delivery provides version 4.0.57.5 of RFS. This delivery provides these changes: - RFS has been changed to keep writing files to the primary system even if the mirror system falls behind. - The scheduling policy used by RFS can now be specified on UNIX, in the rfs.cfg file. The parameter SchedPolicy accepts the values FIFO, RR, or OTHER. FIFO is First In First out, RR is Round Robin, and OTHER is the default timesharing scheduling policy. This parameter needs to be specified in the (new) section UNIX. The default value for scheduling policy is OTHER. Prior to this change all flavors of UNIX used FIFO, except for AIX which used OTHER. - The number of directory entries requested by the FSD when doing directory lookups has been increased. ************************************************************* #24 Fri Aug 27 11:59:21 EDT 2010 keith -r-xr-xr-x 1 keith rfs 1738 Aug 27 11:02 bin/rfscmd -rwxrwxr-x 1 keith rfs 3554647 Aug 26 16:49 bin/rfsd -rwxrwxr-x 1 keith rfs 129822 Aug 26 16:49 conf/tblgen -rwxrwxr-x 1 keith rfs 584474 Aug 27 11:02 lib/libfsd.so -rwxrwxr-x 1 keith rfs 1185536 Aug 27 11:35 lib/libutil.so -rw-rw-r-- 1 keith rfs 8561 Aug 27 11:02 linux_pkg/FLTKrfs.spec This delivery provides version 4.0.57.4 of RFS. This delivery contains support for long paths. If long paths are enabled by creating the long path table, RFS can support a maximum path of around 4000 characters. To enable support for long paths, tblgen must be run, specifying the X option to create the necessary long path tables. If the tables haven't been created and a path greater than 250 bytes is written, RFS will not detect the failure until load time, and will log an error when the insert fails that includes "Make sure new 'long path' tables have been created." In addition, the special commands FIND and FSTAT now support lookups via inode number: [root@linxsth logs]# ls -id /RFS/rfs0 563326648 /RFS/rfs0 [root@linxsth logs]# cat /RFS/SM_LOCAL/FIND563326648 File: /rfs0 Local System: LINXSTH.FILETEK.COM Instance: (UNCOLLECTED) Size: 0 Attributes: 10055711 LBN: - Modified: 2010-08-24 09:19:40 Changed: 2010-08-24 09:19:40 Owner: rfs0@filetek.com Group: sm@filetek.com PRIMARY System: linxsth File not found in any collection. [root@linxsth logs]# cat /RFS/SM_LOCAL/FSTAT563326648 Unwritten: In local collection [root@linxsth logs]# bc obase=16 563326648 2193AEB8 [root@linxsth logs]# cat /RFS/SM_LOCAL/FINDx2193AEB8 File: /rfs0 Local System: LINXSTH.FILETEK.COM Instance: (UNCOLLECTED) Size: 0 Attributes: 10055711 LBN: - Modified: 2010-08-24 09:19:40 Changed: 2010-08-24 09:19:40 Owner: rfs0@filetek.com Group: sm@filetek.com PRIMARY System: linxsth File not found in any collection. [root@linxsth logs]# cat /RFS/SM_LOCAL/FSTATx2193AEB8 Unwritten: In local collection [root@linxsth test]# cat /RFS/SM_LOCAL/FSTATx2193AEB8 Unwritten: In local collection The shell script rfscmd is provided to make use of FIND, FSTAT, and DUMPFILE easier. The script accepts two parameters; the command to execute (FIND, FSTAT, or DUMPFILE), and the path to check. Note that the path needs to include the mount point. On Linux inode numbers are 64 bit signed values. If an RFSFile instance address is negative, Linux sign extends the value and it can't be used directly with RFS special commands. rfscmd adjusts the inode number if it's negative. # $BIN/rfscmd FIND /RFS/rfs0 File: /rfs0 Local System: ALPHA2 Instance: (UNCOLLECTED) Size: 0 Attributes: 10055711 LBN: - Modified: 2010-07-01 14:46:46 Changed: 2010-07-01 14:46:46 Owner: rfs0@filetek.com Group: rfstest@filetek.com PRIMARY System: alpha2 Instance: (ACTIVE) Size: 0 Attributes: 10055701 LBN: 0 Modified: 2008-10-02 07:44:47 Changed: 2008-10-02 07:44:47 Owner: rfs0.filetek.com Group: rfstest.filetek.com ************************************************************* #23 Wed Aug 11 18:12:33 EDT 2010 keith -r-xr-xr-x 1 keith rfs 6298 Aug 11 13:18 linux_pkg/rfs The rfs startup script should have been included in the previous delivery. ************************************************************* #22 Wed Jul 28 14:27:58 EDT 2010 keith -rwxrwxr-x 1 keith rfs 59350 Jul 24 13:24 bin/checkfile -rwxrwxr-x 1 keith rfs 87669 Jul 24 13:24 bin/checkldr -rwxrwxr-x 1 keith rfs 75513 Jul 27 13:00 bin/listdeleted -rwxrwxr-x 1 keith rfs 778364 Jul 24 13:24 bin/rfsas -rwxrwxr-x 1 keith rfs 3480999 Jul 27 17:32 bin/rfsd -rwxrwxr-x 1 keith rfs 100829 Jul 24 13:24 bin/rfsdelete -rwxrwxr-x 1 keith rfs 242468 Jul 28 14:23 bin/rfsextract -rwxrwxr-x 1 keith rfs 160536 Jul 26 16:54 bin/rfsgetldr -rwxrwxr-x 1 keith rfs 437072 Jul 26 16:54 bin/rfsmaint -rwxrwxr-x 1 keith rfs 583850 Jul 28 14:06 lib/libfsd.so -rwxrwxr-x 1 keith rfs 1098208 Jul 28 14:07 lib/libutil.so -rw-rw-r-- 1 keith rfs 8516 Jul 28 13:07 linux_pkg/FLTKrfs.spec This delivery provides version 4.0.57.3 of RFS. Included is support for a new special command, a new utility to list deleted files, and several bug fixes. The new command FSTAT works the same way as FIND, but provides one line of output that identifies where the file in question is located. Note that RFS must have already browsed the directory where the file is located. The output looks like this: Unwritten: Buffered in staging Unwritten: In local collection Written: In local collection Written: In performance buffer Written: Not buffered The FSTAT command is intended for files, but does report status on directories. If a directory is written, FSTAT always reports "In local collection", because directories do not require access to StorHouse to recreate. If a collector root is queried, this status line is reported: Root directory for collector COLLECTOR_NAME If FSTAT is passed a file that does not exist, then the command fails with the error "file not found". Other error conditions are reported with a single line: Error locating collection COLLECTION_NAME Collection COLLECTION_NAME not found on STORHOUSE_SYSTEM The utility listdeleted has this interface: Usage: listdeleted -c -d -m perform actions on mirror system...default is primary system -t If not specified, the entire database will be searched -w where: full path and name of rfs config file to use. The default is /rfs/files/rfs.cfg. is where listdeleted will create the log for this run. listdeleted reports any deleted files in the directory specified by the -t option. If this option isn't specified listdeleted will scan the entire database looking for deleted files. Bug fixes included in this directory: - RFS no longer omits an RM row insert/update after a load is restarted after being suspended. - Problem where a user was refused access to files has been fixed. - The LDR file is now correctly rebuilt during CRC error processing. ************************************************************* #21 Wed Jul 14 17:47:23 EDT 2010 keith -rwxrwxr-x 1 keith rfs 2457360 Jul 14 17:31 bin/rfsd This delivery provides version 4.0.57.2 of RFS. This delivery fixes a problem with version 4.0.57.1 during testing at Filetek; some users were refused access to RFS with the status "Permission denied". That problem could also cause the user to receive an incorrect response when querying volume information (df). ************************************************************* #20 Wed Jul 14 12:06:14 EDT 2010 keith -rwxrwxr-x 1 keith rfs 87669 Jul 13 19:09 bin/checkldr -rwxrwxr-x 1 keith rfs 778364 Jul 13 19:10 bin/rfsas -rwxrwxr-x 1 keith rfs 3449000 Jul 13 19:09 bin/rfsd -rwxrwxr-x 1 keith rfs 100829 Jul 13 19:09 bin/rfsdelete -rwxrwxr-x 1 keith rfs 160536 Jul 13 19:09 bin/rfsgetldr -rwxrwxr-x 1 keith rfs 437072 Jul 13 19:09 bin/rfsmaint -rwxrwxr-x 1 keith rfs 459596 Jul 13 19:09 bin/rfsrestore -rwxrwxr-x 1 keith rfs 1016 May 24 12:20 conf/rfs.cfg -rwxrwxr-x 1 keith rfs 583850 Jul 13 19:09 lib/libfsd.so -rwxrwxr-x 1 keith rfs 1128693 Jul 13 19:09 lib/libutil.so -rwxrwxr-x 1 keith rfs 6296 Jul 13 19:09 linux_pkg/rfs This delivery provides version 4.0.57.1 of RFS. Included in this delivery is the support for file version limits, and a number of bug fixes. The file version limit feature makes it easier to free storage space on StorHouse/RM by automatically deleting old versions of files. This feature can be enabled on a per collection basis by setting the "FileVersionLimit" value for the collection in the rfs.cfg file. This value specifies the maximum number of versions RFS will keep for any given file in that collection. When a file exceeds that limit, older versions of the file will be marked for deletion by the rfsmaint and rfsdelete utilities. A value of 0 or absense of the FileVersionLimit parameter disables this feature. In addition, the delivery addresses these issues: - A race condition that caused RFS to incorrectly report files as not found has been fixed. - When deleting local collection files after they have been written to StorHouse, RFS now ensures that all local files are closed. - The RFSList class limited the maximum number of files in a directory to approximately 2 million. That limitation has been lifted. However it's still not a good idea to put that many files into a single directory, because RFS tries to cache them all in memory. Future enhancements will address this issue. - A bug in the FIND logic reporting collection names has been fixed. - The use of file descriptors has been improved on UNIX. On Linux RFS now uses up to 131,072 descriptors. Prior to this change the limit on Linux was 16,384. - RFS now supports storing negative dates (those beyond 2038). - The RFS utility checkldr now has a -r option that supports "repairing" LDR files. It will correct any negative dates found and recompute the CRC. The repair option writes a new LDR file with the extension ".new", and this file must be renamed manually, when RFS is not running. - A problem with termination of StorHouse threads in RFS utilities has been addressed. - Log files now start with "uname()" output. This output includes the system name, node name, and OS release/version/machine. ************************************************************* #19 Wed May 12 11:08:19 EDT 2010 keith -rwxrwxr-x 1 keith rfs 6391 May 11 13:11 linux_pkg/rfs The rfs startup script in this delivery has these changes: - The RFS startup script now supports the commands dumpsys and pstack. These commands write the results to stdout, and to the file /rfs/logs/CURDATE.CMD - A bug in checking if the mount daemon is running caused the script to start the mount daemon every time RFS is started has been fixed. ************************************************************* #18 Tue May 11 13:30:18 EDT 2010 keith -rwxrwxr-x 1 keith rfs 3410567 May 11 13:11 bin/rfsd -rwxrwxr-x 1 keith rfs 997 Apr 29 13:57 conf/rfs.cfg -rwxrwxr-x 1 keith rfs 586891 May 11 13:11 lib/libfsd.so -rwxrwxr-x 1 keith rfs 1089055 May 11 13:11 lib/libutil.so This delivery provides version 4.0.55.1 of RFS. The changes are: - MaxSMWriters and MaxSMFiles are now defined on a per system basis, and belong in the system section of the rfs.cfg file. - TCP buffer sizes are not set for Linux - the RFS version has been added to libfsd.so. - the RFS startup script now supports the commands dumpsys and pstack. These commands write the results to stdout, and to the file /rfs/logs/CURDATE.CMD - LBNs are now tracked with 64-bit variables to avoid overflow issues - fix problems with the collector not collecting under certain conditions. ************************************************************* #17 Thu Apr 22 08:05:56 EDT 2010 keith -rwxrwxr-x 1 keith rfs 3389580 Apr 20 16:29 bin/rfsd -rwxrwxr-x 1 keith rfs 585767 Apr 22 08:04 lib/libfsd.so -rwxrwxr-x 1 keith rfs 1077003 Apr 21 10:15 lib/libutil.so This delivery provides version 4.0.54.1 of RFS. In this delivery handling of directory modification time has changed. When RFS cleans up files, it now updates the directory mod time by only a fraction of a second, instead of using the current time. File recalls no longer cause the dir mod time to be updated. In addition a bug in the handling of timed out SM instances has been fixed. This bug was preventing RFS from using the mirror system when operations timed out on the primary. ************************************************************* #16 Thu Apr 15 10:46:41 EDT 2010 keith -rwxrwxr-x 1 keith rfs 3380295 Apr 15 10:26 bin/rfsd -rwxrwxr-x 1 keith rfs 585819 Apr 15 10:35 lib/libfsd.so -rwxrwxr-x 1 keith rfs 1074495 Apr 15 10:35 lib/libutil.so -rwxrwxr-x 1 keith rfs 5791 Apr 15 10:35 linux_pkg/rfs This delivery provides version 4.0.53.1 of RFS. With this delivery the 1 TB file size limitation has been removed. The new limit is 4.398 TB. This delivery fixes problems with the FIND command that were introduced in delivery #13. The startup/shutdown script has been changed to collect DUMPSYS info before stopping RFS. ************************************************************* #15 Mon Apr 12 08:59:39 EDT 2010 keith -rwxrwxr-x 1 keith rfs 144738 Mar 29 10:34 bin/rfsgetldr -rw-rw-r-- 1 keith rfs 8417 Apr 12 08:58 linux_pkg/FLTKrfs.spec This delivery provides version 4.0.52.1 of rfsgetldr. The package file FLTKrfs.spec now includes rfsgetldr. ************************************************************* #14 Tue Mar 30 16:05:51 EDT 2010 keith -rw-rw-r-- 1 keith rfs 8369 Mar 30 16:04 linux_pkg/FLTKrfs.spec The Linux package nfs-utils has been added as a prerequisite for RFS. ************************************************************* #13 Mon Mar 29 11:16:45 EDT 2010 keith -rwxrwxr-x 1 keith rfs 3377195 Mar 29 10:34 bin/rfsd -rwxrwxr-x 1 keith rfs 100553 Mar 29 10:34 bin/rfsdelete -rwxrwxr-x 1 keith rfs 473937 Mar 29 10:34 bin/rfsmaint -rwxrwxr-x 1 keith rfs 585439 Mar 29 10:33 lib/libfsd.so -rwxrwxr-x 1 keith rfs 878387 Mar 29 10:33 lib/libptypes.so -rwxrwxr-x 1 keith rfs 1074575 Mar 29 10:33 lib/libutil.so This delivery provides version 4.0.52.1 of RFS. RFS has been compiled with the -g option, to aid in debugging core files. In addition the signal handler has been changed to call the function traceback() if /usr/bin/pstack is not present. traceback() will show the stack trace for the current thread, whereas pstack handles all threads. If a USR1 signal is sent to the rfsd process, the signal handler will collect stack traces and call gcore to produce a core file: /rfs/logs/gcore.N, where N is the pid of the rfsd process. Rfsmaint and rfsdelete have been changed to get config info from the rfs.cfg file. These utilities should now be run on the RFS server system. As a reminder, the user must be root, and must have invoked the RFS definitions script (. /rfs/v4r0/bin/defs) before attempting to run utilities. Here are the command line options for rfsmaint and rfsdelete: Usage: rfsmaint -b -c -d -f -l list only -m perform actions on mirror system...default is primary system -o delete orphaned collections -p valid values are 1 to 100 and cannot be used with -u option -r -s -u unconditionally delete the collection specified by the -f option -w -x include collections of only metadata where: dates are specified as yyyy-mm-dd or yyyy-mm-dd:hh:mm:ss full path and name of rfs config file to use. The default is /rfs/files/rfs.cfg. creates a list in the log file of all collections to be processed. is a specific collection to process (only this collection will be processed and it must meet the other criteria) is where rfsmaint will create the log for this run. Usage: rfsdelete -c -d -m perform actions on mirror system...default is primary system -w where: full path and name of rfs config file to use. The default is /rfs/files/rfs.cfg. is where rfsdelete will create the log for this run. ************************************************************* #12 Sun Mar 14 18:33:44 EDT 2010 keith -rwxrwxr-x 1 keith rfs 1366467 Mar 14 18:03 bin/rfsd -rwxrwxr-x 1 keith rfs 233479 Mar 14 18:27 lib/libfsd.so This delivery provides version 4.0.51.1 of RFS. This delivery fixes the problem where RFS would not save ownership changes to the .LDR file for collected directories. Also, the file attributes have been added to the FIND command. ************************************************************* #11 Tue Mar 2 10:47:02 EST 2010 keith -rwxrwxr-x 1 keith rfs 1360460 Mar 2 10:37 bin/rfsd -rwxrwxr-x 1 keith rfs 57689 Mar 2 10:38 conf/tblgen -rwxrwxr-x 1 keith rfs 233511 Mar 2 10:37 lib/libfsd.so -rwxrwxr-x 1 keith rfs 550083 Mar 2 10:37 lib/libutil.so This delivery provides version 4.0.50.1 of RFS, and fixes the performance issue. This problem was caused by incorrect handling of reference counts in CheckForWrite() when mirroring. The reference counts were preventing written collections from being deleted, which resulted in the collecction space becoming full. Tblgen has been changed to not allow creation of a security table on UNIX. ************************************************************* #10 Mon Feb 15 08:51:08 EST 2010 keith -rwxrwxr-x 1 keith rfs 1360531 Feb 15 08:26 bin/rfsd -rwxrwxr-x 1 keith rfs 550083 Feb 15 08:26 lib/libutil.so This delivery provides version 4.0.49.1 of RFS. With this delivery a new debug mode has been added to RFS. Debug mode 'T' provides SM API tracing. Trace files are written in /rfs/files/trace_N.tbl, where N is the number of the thread that is generating the trace. This command enables SM API tracing: ls /RFS/SM_DEBUG\!T ************************************************************* #9 Thu Oct 29 16:17:25 EDT 2009 keith -rw-rw-r-- 1 keith rfs 8723 Oct 29 16:16 linux_pkg/FLTKrfs.spec libz.so has been removed from the RFS package. ************************************************************* #8 Thu Oct 29 16:16:25 EDT 2009 keith -rwxrwxr-x 1 keith rfs 21555 Oct 28 12:56 bin/checkfile -rwxrwxr-x 1 keith rfs 29229 Oct 28 12:56 bin/checkldr -r-xr-xr-x 1 keith rfs 3680 Oct 28 12:56 bin/defs -rwxrwxr-x 1 keith rfs 218924 Oct 28 12:56 bin/rfsas -rwxrwxr-x 1 keith rfs 1360163 Oct 29 13:07 bin/rfsd -rwxrwxr-x 1 keith rfs 38725 Oct 28 12:56 bin/rfsdelete -rwxrwxr-x 1 keith rfs 60957 Oct 28 12:56 bin/rfsgetldr -rwxrwxr-x 1 keith rfs 199976 Oct 28 12:56 bin/rfsmaint -rwxrwxr-x 1 keith rfs 194156 Oct 28 12:56 bin/rfsrestore -r-xr-xr-x 1 keith rfs 4839 Oct 28 10:20 conf/README -r-xr-xr-x 1 keith rfs 1002 Oct 28 10:20 conf/rfs.cfg -r-xr-xr-x 1 keith rfs 968 Oct 23 15:25 conf/rfsas.cfg -rwxrwxr-x 1 keith rfs 64457 Oct 28 12:56 conf/tblgen -rwxrwxr-x 1 keith rfs 237267 Oct 29 13:07 lib/libfsd.so -rwxrwxr-x 1 keith rfs 260751 Oct 29 13:07 lib/libptypes.so -rwxrwxr-x 1 keith rfs 550083 Oct 29 13:07 lib/libutil.so -rw-rw-r-- 1 keith rfs 8769 Oct 28 12:56 linux_pkg/FLTKrfs.spec -r-xr-xr-x 1 keith rfs 3684 Oct 28 12:56 linux_pkg/make_pkg -r-xr-xr-x 1 keith rfs 5622 Oct 28 12:56 linux_pkg/rfs -r-xr-xr-x 1 keith rfs 1809 Oct 28 12:56 linux_pkg/rfsas -r-xr-xr-x 1 keith rfs 4054 Oct 28 12:56 linux_pkg/rfsdev This delivery provides version 4.0.48.1 of RFS, which fixes these problems: - overflow when writing statistics - memory leak when using 3rd party authentication routines - abort doesn't happen on first exception In addition the rfs.cfg file has been changed; STHName is obsolete, and the Exclusions section has been removed. ************************************************************* #7 Thu Sep 3 13:33:49 EDT 2009 keith -rwxrwxr-x 1 keith rfs 22443 Sep 3 13:01 bin/checkfile -rwxrwxr-x 1 keith rfs 29229 Sep 3 13:01 bin/checkldr -rwxrwxr-x 1 keith rfs 1312374 Sep 3 13:01 bin/rfsd -rwxrwxr-x 1 keith rfs 39837 Sep 3 13:01 bin/rfsdelete -rwxrwxr-x 1 keith rfs 60957 Sep 3 13:01 bin/rfsgetldr -rwxrwxr-x 1 keith rfs 200263 Sep 3 13:01 bin/rfsmaint -rwxrwxr-x 1 keith rfs 194284 Sep 3 13:01 bin/rfsrestore -rwxrwxr-x 1 keith rfs 237735 Sep 3 13:00 lib/libfsd.so -rwxrwxr-x 1 keith rfs 540935 Sep 3 13:00 lib/libutil.so This delivery provides version 4.0.47.1 of RFS. With this version of RFS the rfs.cfg file parameter STHName is obsolete. ************************************************************* #6 Thu Aug 27 15:55:57 EDT 2009 keith -rwxrwxr-x 1 keith rfs 228557 Aug 27 15:06 bin/rfsas -rwxrwxr-x 1 keith rfs 1312830 Aug 27 15:05 bin/rfsd -rwxr-xr-x 1 keith rfs 4839 Aug 26 12:16 conf/README -rwxrwxr-x 1 keith rfs 237767 Aug 27 15:05 lib/libfsd.so -rwxrwxr-x 1 keith rfs 260751 Aug 27 15:05 lib/libptypes.so -rwxrwxr-x 1 keith rfs 541063 Aug 27 15:05 lib/libutil.so -rw-rw-r-- 1 keith rfs 8769 Aug 27 15:06 linux_pkg/FLTKrfs.spec -rwxr-xr-x 1 keith rfs 1825 Aug 27 15:06 linux_pkg/rfsas This delivery provides version 4.0.46.51 of RFS, and version 4.0.2.2 of RFSAS. RFS no longer requires an SMCONFIG file. RFSAS includes fixes for problems found during testing at Filetek. ************************************************************* #5 Thu Aug 13 15:42:03 EDT 2009 keith -rwxrwxr-x 1 keith rfs 232712 Aug 13 15:29 bin/rfsas -r--r--r-- 1 keith rfs 968 Aug 13 15:35 conf/rfsas.cfg This delivery fixes a couple of issues with rfsas. The config file has been updated with the UNIX directory structure, and rfsas has been changed so the RFSINFO file is now found via RfsRoot. ************************************************************* #4 Sat Aug 8 07:23:28 EDT 2009 keith -rwxrwxr-x 1 keith rfs 232712 Aug 8 07:04 bin/rfsas -rw-r--r-- 1 keith rfs 771 Aug 5 11:02 conf/rfsas.cfg -rwxrwxr-x 1 keith rfs 260751 Aug 4 12:55 lib/libptypes.so -rw-r--r-- 1 keith rfs 3725012 Aug 5 11:59 linux_pkg/FLTKrfs.rpm -rwxr-xr-x 1 keith rfs 1650 Aug 5 11:46 linux_pkg/rfsas This delivery provides version 4.0.1.1 of RFSAS. The command "rpm -U --force FL TKrfs.rpm" should be used to update the package. Once the package has been updated, these steps need to be done (as root) to configure RFSAS: mv /etc/init.d/rfsas.v4r0 /etc/init.d/rfsas chkconfig --add rfsas cp /rfs/v4r0/conf/rfsas.cfg /rfs/files ************************************************************* #3 Mon Aug 3 15:24:33 EDT 2009 keith -rwxrwxr-x 1 keith rfs 1312838 Aug 3 14:03 bin/rfsd -rwxrwxr-x 1 keith rfs 237767 Aug 3 13:12 lib/libfsd.so -rwxrwxr-x 1 keith rfs 540835 Aug 3 13:12 lib/libutil.so This delivery fixes a couple of problems with the previous Linux RFS delivery, and provides two additional changes. The previous delivery included debug statements, and they have been removed. Also a bug in RFSWait that was just introduced has been fixed. In addition a problem with shutdown that caused RFS to die before doing shutdown processing has been fixed. And RFS now logs NFS version 3 statistics once per hour. ************************************************************* #2 Mon Jul 20 14:33:45 EDT 2009 keith -rwxrwxr-x 1 keith rfs 22443 Jul 17 15:44 bin/checkfile -rwxrwxr-x 1 keith rfs 29229 Jul 17 15:44 bin/checkldr -r-xr-xr-x 1 keith rfs 3680 Jul 17 15:44 bin/defs -rwxrwxr-x 1 keith rfs 1315766 Jul 20 14:29 bin/rfsd -rwxrwxr-x 1 keith rfs 37565 Jul 17 15:44 bin/rfsdelete -rwxrwxr-x 1 keith rfs 58968 Jul 17 15:44 bin/rfsgetldr -rwxrwxr-x 1 keith rfs 195343 Jul 17 15:44 bin/rfsmaint -rwxrwxr-x 1 keith rfs 180374 Jul 17 15:44 bin/rfsrestore -rwxrwxr-x 1 keith rfs 237650 Jul 20 14:29 lib/libfsd.so -rwxrwxr-x 1 keith rfs 256130 Jul 17 15:43 lib/libptypes.so -rwxrwxr-x 1 keith rfs 540835 Jul 20 14:29 lib/libutil.so -rwxrwxr-x 1 keith rfs 78624 Jul 17 15:43 lib/libz.so This delivery provides version 4.0.44.49 of RFS. This delivery includes support for throttling writes to the staging area when RFS is short on space. ************************************************************* #1 Fri Jul 17 17:08:46 EDT 2009 keith -rwxrwxr-x 1 keith rfs 22443 Jul 17 10:36 bin/checkfile -rwxrwxr-x 1 keith rfs 29229 Jul 17 10:36 bin/checkldr -r-xr-xr-x 1 keith rfs 3680 Jul 17 10:36 bin/defs -rwxrwxr-x 1 keith rfs 1305384 Jul 17 10:36 bin/rfsd -rwxrwxr-x 1 keith rfs 37565 Jul 17 10:36 bin/rfsdelete -rwxrwxr-x 1 keith rfs 58968 Jul 17 10:36 bin/rfsgetldr -rwxrwxr-x 1 keith rfs 195343 Jul 17 10:36 bin/rfsmaint -rwxrwxr-x 1 keith rfs 180374 Jul 17 10:36 bin/rfsrestore -rwxrwxr-x 1 keith rfs 237650 Jul 17 10:35 lib/libfsd.so -rwxrwxr-x 1 keith rfs 256130 Jul 17 10:35 lib/libptypes.so -rwxrwxr-x 1 keith rfs 540942 Jul 17 10:35 lib/libutil.so -rwxrwxr-x 1 keith rfs 78624 Jul 17 10:35 lib/libz.so This delivery provides version 4.0.43.48 of RFS. In this delivery the cache attribute to LSMCO has been changed from 4 records to 128 records. In order to take advantage of the increased caching the SM system parameter VRAM_CACHE_MAX must be increased. A value of 52,428,800 has been tested on Solaris and Linux systems and seems to work fine, but caution should be used if there isn't much system memory and/or the number of KUs is high. ************************************************************* This email and any files transmitted with it are confidential, may also be privileged, and are intended solely for the use of the individual or entity to whom they are addressed. If you have received this email in error, you may not copy or use it, or disclose it to anyone else; please notify the FileTek Security Administrators [secureIT@filetek.com] immediately and destroy this email and any copies of it. Please note that any views or opinions presented in this email are solely those of the author and do not necessarily represent those of FileTek, Inc. Finally, the recipient should check this email and any attachments for the presence of viruses. FileTek, Inc. accepts no liability for any damage caused by any virus transmitted by this email.