fiemap is broken for sparse file in ext4?

From: Tao Ma
Date: Thu Jun 10 2010 - 22:16:56 EST


Hi Ted and other ext4 gurus,
I found fiemap may be broken for sparse files in ext4. Here is a simple example.

dd if=/dev/zero of=testfile1 bs=1M count=1
using fiemap shows that it has a delalloc extent.
Logical: 0 Ext length: 1048576 Physical: 0 flags: 7

flags 7 means FIEMAP_EXTENT_LAST, FIEMAP_EXTENT_UNKNOWN and FIEMAP_EXTENT_DELALLOC,

while if we create a sparse file, fiemap will not show the delalloc extent.
dd if=/dev/zero of=testfile1 bs=1M count=1 seek=1
using fiemap shows that it has no extent for the file. while we should have some output like:
Logical: 1048576 Ext length: 1048576 Physical: 0 flags: 7

So we have different output with sparse and non-sparse file. Is it a bug for ext4?

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