>> + touch /mnt/array1/.accesstest >> + CHK_RESULT=1 > > It looks to me that touch is failing and reporting the failure and > that bash is handling it correctly. > >> + touch /mnt/array1/.accesstest >> + CHK_RESULT=0 > > And then on a subsequent pass touch is reporting success. > > This doesn't (yet) look like a problem with bash.
Admittedly bash seems to do the right thing if you go by the set -x execution trace. If you go by that, it would indeed seem that the call to touch is failing. But the strace output tells a different story. According to it, the system calls that touch makes are succeeding. In fact, I created my own 'touch' and 'stat' programs, both of which log any errors. I never see any errors logged, so I'm pretty sure they are getting executed which jives with what I'm seeing in the strace output. Is this a lower level scheduling problem? It certainly could be. I'm testing on Linux 2.6.39.4. I'll rollback to an older kernel, libc, and libpthread and see if that makes any difference. > >> The purpose of this function is simply to try and create or modify a >> test file on a RAID share. It's just a periodic integrity check. > > If I ever had even one single failure on a raid filesystem I would > start replacing hardware. I wouldn't be trying to retry. I wouldn't > be trying to umount and mount it again. ANY failures would mean > something so severely broken that I would consider the system unusable > until repaired. Yep, I agree - these sort of failures should not happen unless there is something terribly wrong. > > On the other hand, do you really mean an NFS mounted filesystem? > Perhaps using the nfs automounter? If so then say so. Don't say > "share" which implies a MS Windows SMB / CIFS network mount. The NFS > client subsystem is notoriously bad. The nfs automounter is worse. I > am guessing you probably really mean that you are using an nfs mounted > filesystem using the automounter. Pretty much everyone in that > situation has tried to recover from problems with it at one time or > another. Not doing anything with NFS mounting thankfully. It's a RAID array on a NAS device which is typically used for SMB / CIFS network mount.