This patch implements linux call fstatfs64. Patch also fixes the problem when linux call fstatfs would return wrong values when actual FS stat value(s) are large enough to not fit into 32 bits. Patch is against rev.251126 Please also merge it into 9.X stable branch. Fix: Patch attached with submission follows:
Responsible Changed From-To: freebsd-bugs->freebsd-emulation Over to maintainer(s).
Please hold off on this, I will submit wider patch with several other linux calls included.
take
I also encountered the missing fstatfs64 ... specifically running linux FireFox 17.0.11 ESR on Freebsd 10 stable results in the kernel complaining: linux: pid 66972 (mozStorage #6): syscall fstatfs64 not implemented when using the browser to download a file. Attached is the patch I'm currently using which merely addresses the missing system call.
Created attachment 168416 [details] Alternative patch for missing linux system call
A commit references this bug: Author: dchagin Date: Sun Mar 20 13:21:20 UTC 2016 New revision: 297061 URL: https://svnweb.freebsd.org/changeset/base/297061 Log: Implement fstatfs64 system call. PR: 181012 Submitted by: John Wehle MFC after: 1 week Changes: head/sys/amd64/linux32/linux32_dummy.c head/sys/amd64/linux32/syscalls.master head/sys/compat/linux/linux_stats.c head/sys/i386/linux/linux_dummy.c head/sys/i386/linux/syscalls.master
A commit references this bug: Author: dchagin Date: Sun Mar 20 18:31:31 UTC 2016 New revision: 297070 URL: https://svnweb.freebsd.org/changeset/base/297070 Log: Return EOVERFLOW in case when actual statfs values are large enough and not fit into 32 bit fileds of a Linux struct statfs. PR: 181012 MFC after: 1 week Changes: head/sys/compat/linux/linux_stats.c
A commit references this bug: Author: dchagin Date: Sun Mar 27 06:10:52 UTC 2016 New revision: 297300 URL: https://svnweb.freebsd.org/changeset/base/297300 Log: MFC r297061; Implement fstatfs64 system call. PR: 181012 Submitted by: John Wehle Changes: _U stable/10/ stable/10/sys/amd64/linux32/linux32_dummy.c stable/10/sys/amd64/linux32/syscalls.master stable/10/sys/compat/linux/linux_stats.c stable/10/sys/i386/linux/linux_dummy.c stable/10/sys/i386/linux/syscalls.master
stable/9 is ignored since a lot of changes have been merged only into stable/10