After upgrading an ubuntu LTS server at work proftpd (not my choice) would not transfer files anymore. It would die with:
error using sendfile(): [75] Value too large for defined data type
After searching a little I found the problem: sendfile does not work if the filesystem on which the files are stored is 'special'. Of course we are serving files from a CIFS directory... Sigh.
My Common Lisp and Debian blog. For more off topic rants and stuff please see my livejournal blog.
Subscribe to:
Post Comments (Atom)
2 comments:
sendfile() is a system call that let's the kernel read in a file and push the data directly into a socket. (this avoids the many kernel-app context switches and data copying that would occur if the app reads in the data itself and then sends it through a socket). It makes sense that they only do this on 'normal' (i guess that means local) filesystems.
So the question really is : doesn't have proftd a (less efficient) fallback for filesystems not supported by sendfile()? I hope for you they do :-)
Please check that:
http://www.linuxquestions.org/questions/linux-networking-3/cifs-and-426-sendfile-error-value-too-large-for-defined-data-type-450631/
Post a Comment