This patch corrects the following: - Fixes two problems that occur on AdvFS systems: o An AdvFS data corruption problem can occur in user files. This problem will not produce either a core file or return non-zero system codes when accessing the corrupted file. o The verify command does not detect corrupted files. - Multithreaded applications that call the pthread_mutex_destroy routine may fail when there are no threads referencing the mutex. This is caused by a race condition inside the pthread_mutex_unlock code. The typical symptom will be a return value of EBUSY from pthread_mutex_destroy. - Fixes a problem with AdvFS in which the following two panics occur: AdvFS Exception Module = 1, line = 1891 kernel memory fault - Systems running with AdvFS and LSM under heavy I/O loads can have sluggish interactive performance. In a DECsafe environment, these systems can encounter unexpected relocation of services. - Idle time is reset on broadcast message when AdvFS is the root file system. - NetWorker Version4.2c requires this patch for new fcntl functionality. This layered product will not run desirably without this patch. - Fixes an AdvFS hang that could occur while running vdump. - Fixes an "ADVFS EXCEPTION, Module = 26" panic that occurs after an "advfs I/O error" console message. - Fixes a system panic with the message "simple_lock: time limit exceeded". - Fixes a problem where AdvFS hangs in routine cleanup_closed_list. - Fixes a problem that occurs on AdvFS systems. When a user exceeds the quota limits, an excessive number of user warning messages are sent to the system console if the user terminal is inaccessible. - Fixes a problem where the vrestore program does not report failed exit status appropriately on incomplete or incorrect commands, corrupt or invalid saved sets, or file open failures. - Corrects a problem with an NFS V3 mounted AdvFS file system where under heavy I/O load, data being written to a file may be lost. Additionally, because file stats are not being saved, the file modification time may revert to a previous value. - Fixes a problem that occurs on AdvFS systems. The system will panic with an error message similar to the following: panic (cpu 0): kernel memory fault - Fixes a problem that occurs on SMP systems with an AdvFS filesystem in which the system panics with the following message: simple_lock: time limit exceeded - When a user attempted to restore a vdump, which had been done with the "-D" option and included directories for which Access Control Lists (ACL's) had been declared, the vrestore program was failing to restore ACL's on directory files and issued warning messages. When a user specified the "-t" option, vrestore erroneously attempted to restore proplists on files that had them; issuing warning messages. - Fixes a problem that occurs on an AdvFS file system. The system may panic with the following error message: ADVFS INTERNAL ERROR: dealloc_bits_page: can't clear a bit twice - Fixes two problems that occur on AdvFS systems: o The system may panic with the following error message: simple_lock: hierarchy violation o A locking problem in the AdvFS log data structures may cause the following problems to occur: - System panics - Kernel memory faults - Memory corruption - Corrects a problem in AdvFS where a data structure fieldS is not initialized until after an AdvFS mount which is too late. This results in the inability for example to see the files after a remount. - Fixes an AdvFS problem in which the "advfsstat -n" command causes a core dump. The system displays the following error message: Memory fault(coredump) - Fixes a problem that occurs on AdvFS systems. If the "ls -l MI" command is given in a .tags directory, the fileset will become unmountable. If the system is then halted, a panic will occur. - Corrects a problem in AdvFS where a data structure field is not initialized until after an AdvFS mount which is too late. This results in the inability for example to see the files after a remount. - Fixes a problem that occurs on an AdvFS file system. While the symptoms of these AdvFS problems vary, the most common is a panic with the following error message: bs_frag_alloc: pinpg faild\n N1 = -1035 Alternately, bs_frag_dealloc: pinpg faild\n N1 = -1035 - Fixes an AdvFS problem that causes the system to panic with the following error message: simple_lock: lock already owned by cpu - Fixes a system panic when shutting down to single user mode using one of of the following commands: a.) # shutdown now b.) # init s When AdvFS is the root or usr filesystem. - Fixes the following problems on systems with the AdvFS filesystem: o The mcellCount on-disk was not being updated as files were being migrated and this resulted in a panic situation during defragment and migrate operations. o A race condition on can result in a system panic with the following error message: panic (cpu 0): bs_frag_alloc: pinpg faild o During defragment and migrate operations, a lock is not released which hangs the system next time a thread tries to obtain the lock. o When executing /sbin/advfs/verify command on an unmounted AdvFS domain, the system will panic with the following - Adds features and corrections to the AdvFS verify utility. - Fixes a problem that occurs on AdvFS systems. The chfsets function returns incorrect exit values and inappropriate error messages. - Fixes a problem that occurs on an AdvFS file system. An AdvFS lock is not released which hangs the system next time a thread tries to obtain the lock. - Fixes an AdvFS problem that causes a lockmode 4 system panic. - Fixes a race condition that occurs on an AdvFS file system. The system panics with the following error message: panic (cpu 0): bs_frag_alloc: pinpg faild - Corrects a kernel read fault panic condition that occurs when the AdvFS verify utility runs. The panic message looks like: trap: invalid memory read access from kernel mode panic (cpu 0): kernel memory fault - Fixes a problem that occurs on AdvFS file systems. A kernel memory fault occurs on the AdvFS file system when accessing nfs-mounted files. - A system using an AdvFS clone fileset can panic with either a kernel memory fault in bs_real_invalidate_pages(), or with the panic string: "bs_real_invalidate_pages: buf refd or pinned". - Corrects a situation where a quotacheck can cause a system panic. - Fixes a problem in which vrestore can cause an occasional core dump (Floating Exception). - Fixes a problem caused by the vdump command. When a user entered Ctrl/C to terminate a vdump operation, the command returned an incorrect status and mistakenly updated the /etc/vdumpdates file. - Fixes AdvFS performance problems. - Fixes an kernel memory fault panic. The system displays the following error message: trap: invalid memory read access from kernel mode - This patch fixes a problem that occurs when the user attempts to fill an AdvFS: the system crashes and displays the following panic: lock_write: hierarchy violation - Corrects a problem where the mcellCount on-disk was not being updated as files were being migrated and this resulted in a panic situation. - This patch fixes a problem caused by the vrestore command. The command would fail when restoring multiple savesets from a TZS20 tape drive. - Provides a performance improvement for AdvFS systems. - Corrects a problem with domain panics that could possibly cause the system to panic. A new AdvFS error number (E_DOMAIN_PANIC) (-1028) was created. - Fixes a problem that occurred when an AdvFS panic crashed the customer's system but the visible symptom was a crash due to a kernel memory fault. - Adds features and corrections to the AdvFS verify utility. The verify utility now detects and reports some file system corruption problems it had previously ignored. It also no longer gives seek errors on really large frag files (>2GB); gives detailed warning messages when a frag file is found to be incorrectly terminated, helping the user to know which file's fragments are involved; gives a useful error message when the root_domain is mounted read-only, preventing it from investigating other domains; properly handles domains that have clones; and properly handles SBM fixups (code which was intended to correct corrupted pages in the SBM metadata file fixed the page in memory but then wrote the newly-corrected page over the NEXT page in the SBM.) Also, increases the amount of memory available to the program so that large memory systems can be worked with. - Corrects a panic and hang situation due to a limit of advfs access structures. - Fixes an AdvFS response time problem that occurred when an application with many random access reads of many files was being slowed down by the resulting number of writes to disk. - Prevents a "kernel memory fault" in the msfs_reclaim() routine on systems using AdvFS. - Fixes a problem with the chfsets command. When a root user exceeded the fileset quota (which root is allowed to do), the chfsets command reported negative values for the free and available blocks in the fileset. - Fixes a kernel memory fault problem that occurs on AdvFS file systems. The system displays the following error message: panic: kernel memory fault at spec_reclaim() - Fixes an AdvFS problem that occurs when unmounting a domain. An unmount thread was waiting on a variable to be set to zero before continuing, but the routine that was to set the variable to zero never did. - Fixes a problem that crashed the system while it was running a "collision" test. The process would hang on a lock, never be woken, and crash the system. - Fixes a problem with the vrestore command. The command had returned a success status code even though it had restored an incomplete file during the operation. - Fixes a problem with the AdvFS fs_write routine, which would mishandle partial writes after detecting an error. - Corrects a problem where a panic would occur when running rmtrashcan on a clone. - Fixes a problem with AdvFS, which caused a system panic with the following message: log_flush_sync: pingpg error The system panic occurred when the AdvFS domain had already issued a domain panic and a user application then attempted to close a file in that domain. - Fixes several problems with the vrestore command, all related to handling and parsing of terminal I/O: - Interactive shell's handling of space characters - Displaying of files containing non-printable characters to a terminal during interactive's ls command, -t, -v, or -l options. - Interactive mode commands piped from stdin. - Prompting and requesting of input from a terminal during ctrl-c signal handling. - Fixes a problem in AdvFS that produced the following system panic: bs_logflush_start: cannot write lsn - Fixes a problem with messages in system logs that reported AdvFS user and group quota limits. The messages were unclear: the user could not determine from them which users or groups were reaching the quota limits. - Fixes several problems associated with AdvFS tag files and directories, including displays of erroneous data and system panics. - Fixes three verify command problems: 1. The command was displaying a large volume of meaningless data. 2. When it encountered a nonrecoverable error, the command did not properly exit. 3. The command sent some error messages to stderr, some to stdout. - Fixes a problem in AdvFS locking code which causes the following panic: kernel memory fault - Fixes a problem in AdvFS, which causes a system panic when a truncate operation is performed on a file. The panic is: log half full - Fixes a problem in AdvFS that was causing a memory leak. - Fixes two AdvFS problems: 1. An error message was misleading when a DIGITAL UNIX Version 4 system attempted to access a file domain created by DIGITAL UNIX Version 5. 2. A state field in an AdvFS data structure was initialized, but not maintained. - Fixes a problem where a system hang can occur when creating an AdvFS file system, such as on "/ "or "/usr" partitions, on small memory systems (e.g. 32-64 mb). - Fixes a problem where user files or the AdvFS frag file could lose data, if they are updated during an AdvFS migration (that is, during a balance, defragment, migrate, or rmvol of their AdvFS domain). - Fixes a problem with AdvFS that caused a page fault and the following panic: panic (cpu 0): kernel memory fault - Fixes a problem that occurs on AdvFS systems. The system will panic with the following error message: malloc_overflow: guard space corruption - Fixes a problem in the chvol command. chvol was not recognizing LSM volumes. - Fixes an AdvFS problem that occurs when the rmvol command is stopped before the commmand successfully removes a volume from a domain. As a result, the showfdmn and addvol commands interpreted the volume as still in the domain (although with no data available) and a balance operation returned the following AdvFS error message: get vol params error EBAD_VDI (-1030) - Fixes a problem in the AdvFS system. The log file corruption caused panics during recovery and failures displaying one of the following messages: ftx_fail: lgr_read failure -or- ftx_fail: dirty page not allowed - Fixes a problem in the AdvFS logging code, The way locking was implemented was causing degraded performance. - Fixes the following problems in AdvFS: 1.) A operating system hang condition. The hang condition exists due to processes deadlocking in the AdvFS code. 2.) AdvFS does not return an error when a user opens a file in O_SYNC mode and power is lost on the disk drive. 3.) A locking error in the AdvFS fs_write() routine. - Fixes a problem in which the vquota, vedquota, quota, edquota, dump, csh, and nslookup commands will sometimes display incorrect error messages for non-English locales.