@ccaffy - I test with this small patch to inject a fault:
--- a/src/XrdOss/XrdOssApi.cc
+++ b/src/XrdOss/XrdOssApi.cc
@@ -884,8 +884,13 @@ ssize_t XrdOssFile::Read(void *buff, off_t offset, size_t blen)
else retval = cxobj->Read((char *)buff, blen, offset);
else
#endif
+ if (offset < 64*1024) {
do { retval = pread(fd, buff, blen, offset); }
while(retval < 0 && errno == EINTR);
+ } else {
+ errno = EIO;
+ retval = -1;
+ }
return (retval >= 0 ? retval : (ssize_t)-errno);
}
Any reads after 64KB will fail (though, since reads are issued as 1MB chunks, the test file needs to be >1MB).
Note that you'll need to add --raw -v
to the curl
command to see the trailer. Sadly trailers aren't printed by -v
by default.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.
Use REPLY-ALL to reply to list
To unsubscribe from the XROOTD-DEV list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=XROOTD-DEV&A=1