Re: 'holey files' not holey enough.

From: Adam (adam@eax.com)
Date: Thu Nov 30 2000 - 09:34:37 EST


On Wed, 29 Nov 2000, Andreas Dilger wrote:

> What people who have the problem should be doing is:
> [desc snipped]
> > ls -li holed.file # find inode number
> 10732 -rw-r--r-- 1 root root 6000000 Nov 29 16:17 holed.file
> > du -sk holed.file # see what "stat" thinks
> 983k holed.file
> > debugfs /dev/XXX
> debugfs> stats # find out ext2 block size
> ...
> Block size = 1024, fragment size = 1024
> ...
> debugfs> stat <10732> # (with < and >)
> Inode: 10732 Type: regular Mode: 0644 Flags: 0x0 Generation:
> 4048594821
> User: 0 Group: 0 Size: 6000000
> File ACL: 0 Directory ACL: 0
> Links: 1 Blockcount: 1966
> ^^^^ these are 512-byte blocks, so / 2 for ~kB
> they include indirect blocks and such
> Fragment: Address: 0 Number: 0 Size: 0
> ctime: 0x3a258e82 -- Wed Nov 29 16:17:22 2000
> atime: 0x3a258e82 -- Wed Nov 29 16:17:22 2000
> mtime: 0x3a258e82 -- Wed Nov 29 16:17:22 2000
> BLOCKS:
> 47512 47513 47514 47515 47516 47517 47518 47519 47520 ... 48723 48724
> TOTAL: 983
> ^^^ these are ext2fs sized blocks, not necessarily kB
>
> If what debugfs says doesn't match du, then it is du/libc/stat that is
> broken. If debugfs says the file actually has 6000000 bytes of data,
> then it is the filesystem that is broken.

I just did what suggested, and it seems that DU reports correct values,
I have attached 'sript' log of the above example on my filesystem.
Here are some highlights:

[adam@pepsi /tmp]$ ls -lis holed.file
3085069 5872 -rw-rw-r-- 1 adam adam 6000000 Nov 30 09:11 holed.file

Block size = 4096, fragment size = 4096
Links: 1 Blockcount: 11744
TOTAL: 1468

so it seems DU reports correct values as :
        1966/2 =983
        11744/2=5872
and
        4096*1468=6012928
        1024*983 =1006592

-- 
Adam
http://www.eax.com      The Supreme Headquarters of the 32 bit registers


- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Thu Nov 30 2000 - 21:00:24 EST