
This document is a collection of lessons learned, while implementing
CON5.  If you want to do additional work on CON5, or write other stress
tests that need to keep running on a heavily stressed system, this may
prevent you from repeating mistakes.

CPIO
====

1) The man pages for cpio do not fully specify all possible messages
and values of exit status.  The "out-of-band" exit status values that
are used by CON5 are not really out-of-band, merely highly unlikely to
occur.  It is possible that cpio could generate an exit status that is
confused with a CON5 special exit status.

2) cpio does not guarantee that messages are written an entire line at
a time.  I went to trouble to open log files with O_APPEND and O_SYNC.
But that does not do any good for cpio.  Trace messages from different
instances of cpio can still be interleaved.

(   cd /var/tmp/night-thing
    truss cpio -pdu < /var/tmp/srcfiles /home/shaw/ss/qa/src/hba/CON5/tmp/code
    )

[ . . . ]

close(8)                                        = 0
close(6)                                        = 0
read(0, 0xEF65001C, 8192)                       = 0
312write(2, " 3 1 2", 3)                                = 3
 blockswrite(2, "   b l o c k s", 7)                    = 7

write(2, "\n", 1)                               = 1
lseek(0, 0, SEEK_CUR)                           = 91
_exit(0)



