Peter Skipworth
2004-Sep-28 05:47 UTC
Why does rsync think my files are much bigger than they are ?
Has anyone ever seen this happen when using rsync ? I'm trying to send a series of =~ 300k files down the line, but for some reason, rsync thinks each file is 17592186044416 bytes long! The same behaviour occurs when using rsync to copy files locally. Partial output follows...any help appreciated! Cheers, P [root@grappa llog]# ls -al /IFX/llog/logs.109051.gz -rw-rw---- 1 informix informix 349590 Sep 27 02:07 /IFX/llog/logs.109051.gz [partial output of rsync -azvvv -e ssh /source/dir server:/dest/dir follows...] send_files mapped /IFX/llog/logs.109051.gz of size 17592186044416 calling match_sums /IFX/llog/logs.109051.gz llog/logs.109051.gz rsync error: received SIGUSR1 or SIGINT (code 20) at rsync.c(225) _exit_cleanup(code=20, file=rsync.c, line=225): about to call exit(20)
Wayne Davison
2004-Sep-28 15:05 UTC
Why does rsync think my files are much bigger than they are ?
On Tue, Sep 28, 2004 at 03:47:09PM +1000, Peter Skipworth wrote:> send_files mapped /IFX/llog/logs.109051.gz of size 17592186044416This line comes directly from this code: rprintf(FINFO, "send_files mapped %s of size %.0f\n", safe_fname(fname), (double)st.st_size); The "st" variable is a structure that was populated by stat(), so the problem is either (1) stat() is returning bogus values, or (2) your compiler is not converting the value to a double properly. I think the former is more likely -- e.g. if the size of the variables actually returned by stat() are not what the header files used for the compilation claim they should be. Did you compile rsync yourself? If so, this is a basic compiler problem that should affect more programs than just rsync. If not, you should try compiling your own version and running that. ..wayne..