On Fri, Jan 19, 2007 at 07:31:25PM -0500, Clint Adams wrote:
> I wonder where the EOVERFLOW is coming from.
I think i can answer that question in the mean time. Apparently stat in
glibc is a wrapper around stat64 that converts the contents of the
struct stat64 returned by stat64 to a struct stat as returned by stat.
Presumably this conversion fails if the file size returned by stat64
does not fit into a 32-Bit st_size as used by struct stat.
I made a few more experiments: A little C-Program that only does
stat ("./very_large_file.tgz", &statbuf);
exit (errno);
This program exits 75 (EOVERFLOW) independant of fakeroot. Thus this
probably explains where EOVERFLOW comes from. Then I made a similar
program that does
chown ("./very_large_file.tgz", 0, 0);
exit (errno);
instead. This program succeeds without fakeroot (presumably because a
normal chown does not use stat/stat64). However, if this is run under
fakeroot it exits 75 (EOVERFLOW). Maybe libfakeroot can use stat64
internally for all internal stat calls?
regards Christian
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]