Re: Perfomance problem backupscript (more details and tests)

[email protected]
Newsgroups gmane.comp.archivers.star.user
Message-ID <[email protected]>
Hi,

> > Any reasonably recent version of 32-bit Linux has sizeof(ino_t)==8.  You
> > have to define _LARGEFILE64_SOURCE to be able to see it, but that is the
> > same thing you need for 'open' and 'lstat' to work with large files anyway.
> 
> Are you sure that you don't confuse it with off_t?

For getting 64 bit off_t i compile with
  -D_FILE_OFFSET_BITS=64
This also replaces the 32 bit versions of the off_t
using functions by 64 bit versions.

Together with
  -D_LARGEFILE_SOURCE
i seem to get a fully 64 bit filesystem API (at least
it could cope with a 5 GB file on ReiserFS).
I should test wether i can omit _LARGEFILE_SOURCE if
_FILE_OFFSET_BITS=64 is set.

_LARGEFILE64_SOURCE indeed enables ino64_t plus
64-bit API functions, but it is specified not to make
ino_t and ino64_t synonymous. It is described as
"transition interface". So you have to call functions
like stat64() in order to get returned struct stat64.

_LARGEFILE_SOURCE allows the use of functions which
use off_t rather than long for byte addressing purposes.


It is said that the macros are described in  info libc
but i am not masochist enough to find out why my  info
only shows me its top level table of contents then.
Found by google:
  http://www.gnu.org/software/libc/manual/html_node/Feature-Test-Macros.html
I once got my inspirations from :
  http://www.suse.de/~aj/linux_lfs.html
which advises to define all three macros.


Have a nice day :)

Thomas
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.