From: Andrea A. <an...@su...> - 2000-12-19 16:28:35
|
On Tue, Dec 19, 2000 at 05:04:21PM +0100, Stelian Pop wrote: > On Tue, Dec 19, 2000 at 04:32:09PM +0100, Andrea Arcangeli wrote: > > > On Tue, Dec 19, 2000 at 07:17:34AM -0800, ty...@va... wrote: > > > If your application is known to be 64-bit clean, and won't get surprised > > > by large files, it should use the ext2fs_block_iterate2 interface. > > > Hence, a largefile-knowledgeable version dump should not require a > > > special version of e2fsprogs/libext2fs. The ext2fs_block_iterate2 > > > interface has been around since version 1.12. > > > > Great. So in short we don't need to touch e2fsprogs to fix dump ;)) > > So, if I got all this right: > - we don't touch e2fsprogs > - your patch for dump remains correct > - we use ext2fs_block_iterate2 instead of ext2fs_block_iterate yes. > (probably needs some little cosmetic fixes here in the > callback function since the block number is > 2^32) > - we forget about the -D_FILE_OFFSET_BITS=64, in both dump > and e2fsprogs No! We forget about -D_FILE_OFFSET_BITS=64 _only_ in e2fsprogs. > With all this, we get one dump binary which will be able to deal with > large files on both LFS and non-LFS systems (LFS system accessed from > a non-LFS system). No, we simply can't generate largefiles in a non-LFS system during restore. Dump could even work without largefile support from glibc, but not restore as far I can tell. We have to restore those files through the fs, not via blockdevice through e2fsprogs. > Of course, restore will truncate the result if ran on non-LFS systems, > but that's not very important IMHO... And that's why we need to use glibc LFS support in the LFS systems so we can actually restore the largefiles ;) > Andrea, could you make those changes to your patch and test on your > test files ? The only change is "not touch e2fsprogs" and use ext2fs_block_iterate2 instead of ext2fs_block_iterate, and that's what I'm doing right now. Andrea |