sendfile + non local filesystem + lighttpd = EOPNOTSUPP

Niki Denev nike_d at cytexbg.com
Fri Oct 28 23:07:22 PDT 2005


Hello,

I seem to have a problem serving files with
lighttpd from non local (smbfs) filesystem.
Lighttpd tries to use sendfile(2) but, it returns
with -1 and errno "Operation not supported",
but i can't find this error in the documented errors
on the manpage.
Forcing lighttpd to not use sendfile fixes the problem,
but i would really like to use it...

Any suggestions?

-----

 40793 lighttpd CALL  open(0x8089c80,0,0x80bac00)
 40793 lighttpd NAMI  "/usr/local/www/data/stuff/downloads/some_file.txt"
 40793 lighttpd RET   open 8
 40793 lighttpd CALL  sendfile(0x8,0x7,0,0,0x1b22,0,0xbfbfc600,0)
 40793 lighttpd RET   sendfile -1 errno 45 Operation not supported
 40793 lighttpd CALL  write(0x6,0x8089400,0x5d)
 40793 lighttpd GIO   fd 6 wrote 93 bytes
       "2005-10-29 08:43:09: (network_freebsd_sendfile.c.174) sendfile:
 Operation not supported 45
       "
 40793 lighttpd RET   write 93/0x5d
 40793 lighttpd CALL  close(0x8)


Here /usr/local/www/data/stuff/downloads is a smbfs mount.
If the file is local everything works as expected.




--niki


More information about the freebsd-stable mailing list