Re: libDAR skips files above 3 KB - Please help

Denis Corbin <[email protected]> Tue, 29 Apr 2008 21:47:46 +0200
Newsgroups gmane.comp.sysutils.backup.dar.libdar
Message-ID <[email protected]>
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1



Satheesh wrote:
> Denis Corbin <dar.linux@...> writes:
> 
>> Satheesh wrote:
>>> Denis Corbin <dar.linux@...> writes:
>>>>> ::read is failing for files above ~3.2 K only.
>>>> If ::read is failing, this has for consequence to make
>>>> fichier::inherited_read to fail also. The question is thus why ::read
>>>> fails? Maybe one argument is out of range? I wonder in particular if the
>>>> amount of data read at once is not exceeding the system's capabilities.
>>>> As you can read at the top of src/libdar/generic_file.cpp, this amount
>>>> is 10 kbytes unless this value is over the value given by the SSIZE_MAX
>>>> system macro (if it exists), in which case it takes this value.
>>>> Does your system defines such a macro? Can you try a simple C (or C++)
>>>> program with smaller values (a few bytes for example) on a large file.
>>>>> I verified the same use-case on 
>>>>> RH Linux EL4 on x86 where this problem do not happen. I am using libdar 
>>>>> version 2.3.6.
>>>> Yep, this only shows that the problem is either internal to the system
>>>> or that dar is not adapted to that system.
> 
> 
> I think you missed my response to the previous problem that I had inserted in 
> between text. My system defines SSIZE_MAX macro as 2147483647. Obviously, dar 
> was using 102400 (It's 100K, right ?). So I reduced it to 10240 and it all 
> started working. Thanks a lot..Will let you know on what I find with stat. I 
> use gdb - but I haven't yet tried to debug the issue with stat.

Sorry, you're right, I missed your response. So this is a good news!
However there is something I don't understand:
Dar does the following:
transfer at most 102400 ( = 100K) unless SSIZE_MAX exist and is smaller
than this value in which case dar transfer at most SSIZE_MAX bytes. I
just do no understand how replacing 2147483647 ( = 2^31 - 1) by 102400
could solve the problem, unless this value has been considered as a
negative value by the compiler... ?


> 
> 
> 
>>>>> Regards,
>>>>> Satheesh
>>>>>
>>>> Regards,
>>>> Denis.
> 
> 
> 
> 
> 
> 
> 
> 
> -------------------------------------------------------------------------
> This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
> Don't miss this year's exciting event. There's still time to save $100. 
> Use priority code J8TL2D2. 
> http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
> _______________________________________________
> Dar-libdar_api mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/dar-libdar_api
> 
> 
> 
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFIF3tipC5CI8gYGlIRArJxAJ9T8LBj/7FuM5P181Kp8e8HNbQAkACfTY9f
DTZzbsUTvexqriqWaOG9siM=
=fGXH
-----END PGP SIGNATURE-----

-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone