I have a brand-new, read-only catfs filesystem. I am using it to accelerate a python script that reads many small files from NFS. After the script reads 1,000-20,000 files, the read system call fairly reliably returns -ECANCELED. Python throws an exception and the script terminates. catfs does not log anything when this occurs.
ECANCELED is not mentioned as a possible error in the read(2) or read(3p) man pages. Does catfs actually intend to return this error? If so, what does it mean, and what are programs expected to do about it?
A quick grep shows this line of code as a potential source of the error:
|
io::Error::from_raw_os_error(libc::ECANCELED), |
I have a brand-new, read-only catfs filesystem. I am using it to accelerate a python script that reads many small files from NFS. After the script reads 1,000-20,000 files, the
readsystem call fairly reliably returns-ECANCELED. Python throws an exception and the script terminates. catfs does not log anything when this occurs.ECANCELEDis not mentioned as a possible error in theread(2)orread(3p)man pages. Does catfs actually intend to return this error? If so, what does it mean, and what are programs expected to do about it?A quick grep shows this line of code as a potential source of the error:
catfs/src/catfs/file.rs
Line 499 in daa2b85