[OpenAFS-devel] ReallyRead failures (was Re: CopyOnWrite failures continue still)
Chaskiel M Grundman
cg2v@andrew.cmu.edu
Thu, 28 Mar 2002 16:08:41 -0500
--On Thursday, March 28, 2002 12:37:54 -0500 hoffman@cs.pitt.edu wrote:
> Sun Mar 24 14:49:51 2002 ReallyRead(): read failed device 2 inode
> 80AA9E0 errno 5
>
> Errno 5 is "I/O error".
What is really going on here is that the fileserver tried to read off the
end of a directory and got a zero back from read. see the following snippet
from viced/physio.c:ReallyRead. We don't know what causes it, but as far as
I can tell from reading the code, it must be the case that the directory
hash table must be corrupt in order to trigger it.
code = FDH_READ(fdP, data, PAGESIZE);
if (code != PAGESIZE) {
if (code < 0)
code = errno;
else
code = EIO;
ViceLog (0,
("ReallyRead(): read failed device %X inode %s errno %d\n",
file->dirh_handle->ih_dev,
PrintInode(NULL, file->dirh_handle->ih_ino), code));
For whatever reason, these errors do not end up offlining the volume until
a dir/dir.c:Create() or Delete() fails unexpetedly.