@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.Message ID: <xrootd/xrootd/pull/1912/c1435150314@github.com>

[ { "@context": "http://schema.org", "@type": "EmailMessage", "potentialAction": { "@type": "ViewAction", "target": "https://github.com/xrootd/xrootd/pull/1912#issuecomment-1435150314", "url": "https://github.com/xrootd/xrootd/pull/1912#issuecomment-1435150314", "name": "View Pull Request" }, "description": "View this Pull Request on GitHub", "publisher": { "@type": "Organization", "name": "GitHub", "url": "https://github.com" } } ]

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