现在还在使用 2.4 内核的服务器应该很少了吧....
总之,2.4 tmpfs 里的文件,是无法执行 mmap()-like 的操作滴;这就导致使用 nginx 的 sendfile 特性时,出现诡异的 EINVAL 错误, 2.6 内核则一切正常.
最开始是在出错的机器上查看 sendfile manpage,关于 EINVAL 的描述是 Descriptor is not valid or locked. 但显然不是这个原因..
直到从另外一个地方看到 manpage 描述是: Descriptor is not valid or locked, or an mmap(2)-like operation is not available for in_fd.
以及从网上搜索到很多人抱怨在 CIFS 文件系统下无法使用 apache2 sendfile 的时候才猛然意识到是因为我们把文件放在 tmpfs 里的问题。。。。
Topic:
技术
评论
刚才有人写信给我说他的nginx无法sendmail那些保
刚才有人写信给我说他的nginx无法sendmail那些保存在cifs卷上的文件
2.6.18内核的
是不是和你说的这个情况有联系?
没错,这个是 kernel fs driver 不完备导致
没错,这个是 kernel fs driver 不完备导致