Re: Perfomance problem backupscript (more details and tests)
| 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