Thank you Eric for your reply. My problem with preallocation is that i don't know the size of my final tar archive. So i would prefer to don't make any supposition. Yes, i write a stream of 640x480x1 pnm images (307215 bytes each) to a single tar file. So lets say that each write is 307712 (divisible by 512 bytes for tar). Here is a test bench program that reproduce the behaviour of the real app. The program log some write overhead at 645579776bytes and other at 645887488bytes, so not exactly the same thing as in the real app. You will be able to tell me if my test bench is correct (metric, compilation options, etc.). The system on which i run the test bench has no other workload, no other disk access. Please find the attached files : - test bench source - the dumpe2fs log Tonight, i will try with the "-O ^uninit_bg at mkfs time". Thanks. Paul.
dumpe2fs 1.41.9 (22-Aug-2009) Filesystem volume name: DATA Last mounted on: /var/data Filesystem UUID: 7b19bf38-cf32-11de-a163-0060c2140392 Filesystem magic number: 0xEF53 Filesystem revision #: 1 (dynamic) Filesystem features: ext_attr resize_inode dir_index filetype extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize Filesystem flags: signed_directory_hash Default mount options: (none) Filesystem state: not clean Errors behavior: Continue Filesystem OS type: Linux Inode count: 3670016 Block count: 14653288 Reserved block count: 732664 Free blocks: 11828118 Free inodes: 3669685 First block: 0 Block size: 4096 Fragment size: 4096 Reserved GDT blocks: 1020 Blocks per group: 32768 Fragments per group: 32768 Inodes per group: 8192 Inode blocks per group: 512 Flex block group size: 16 Filesystem created: Thu Nov 12 02:24:18 2009 Last mount time: Thu Nov 12 02:26:17 2009 Last write time: Thu Nov 12 06:05:46 2009 Mount count: 1 Maximum mount count: 30 Last checked: Thu Nov 12 02:24:18 2009 Check interval: 15552000 (6 months) Next check after: Tue May 11 02:24:18 2010 Lifetime writes: 11 GB Reserved blocks uid: 0 (user root) Reserved blocks gid: 0 (group root) First inode: 11 Inode size: 256 Required extra isize: 28 Desired extra isize: 28 Default directory hash: half_md4 Directory Hash Seed: 7b19c00a-cf32-11de-a163-0060c2140392
Attachment:
main.c
Description: Binary data