[Bug 5096] Value too large for defined data type

bugzilla at busybox.net bugzilla at busybox.net
Wed Dec 5 01:18:27 UTC 2012


https://bugs.busybox.net/show_bug.cgi?id=5096

--- Comment #5 from Denys Vlasenko <vda.linux at googlemail.com> 2012-12-05 01:18:24 UTC ---
(In reply to comment #3)
> BusyBox v1.20.2 shows "Value too large for defined data type" by "df" applet.
> This only if a dav2fs share is mounted. This worked some while ago
> 
> 
> strace -f /bin/df
> ...
> statfs("/proc/fs/nfsd", {f_type=0x6e667364, f_bsize=4096, f_blocks=0,
> f_bfree=0, f_bavail=0, f_files=0, f_ffree=0, f_fsid={0, 0}, f_namelen=0}) = 0
> statfs("/var/media/autofs", {f_type=0x187, f_bsize=4096, f_blocks=0, f_bfree=0,
> f_bavail=0, f_files=0, f_ffree=0, f_fsid={0, 0}, f_namelen=0}) = 0
> statfs("/var/media/autofs/GMX", 0x7fb59f28) = -1 EOVERFLOW (Value too large for
> defined data type)

Hmm.
The problem is that it uses statfs syscall, not statfs64.
But C source uses statfs _function_ call, not _syscall_,
it's the duty of libc to use correct _syscall_.

I just verified on my machine that glibc uses statfs64 syscall
to implement statfs (with LFS=y), but, for example, uclibc
uses statfs (and is probably prone to the same failure you see).

-- 
Configure bugmail: https://bugs.busybox.net/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.


More information about the busybox-cvs mailing list