From: Jari Sundell on
http://libtorrent.rakshasa.no/ticket/460#comment:49

Some users of rtorrent reported very high number of extents for files
despite the use of posix_fallocate/fallocate on ext4. (3000+ for 250MB
file, ) A test program showed that the file was contiguous on disk
despite the high number of extents reported by filefrag. (Not sure
what kernel versions they used)

---
Opening file '/mnt/d1/part1.wmv'.
Block size: 4096
File size: 196571350
Block/page count: 47992
1: log 0 bb78 phys 8800 bb77

Size of the file is 187.5 MB and filefrag reports 1505 extents.
---

So for some reason the extents aren't getting merged when mmaped
regions get sync'ed in a random order to disk.

Jari Sundell
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: tytso on
On Sun, Feb 14, 2010 at 10:50:45PM +0900, Jari Sundell wrote:
> http://libtorrent.rakshasa.no/ticket/460#comment:49
>
> Some users of rtorrent reported very high number of extents for files
> despite the use of posix_fallocate/fallocate on ext4. (3000+ for 250MB
> file, ) A test program showed that the file was contiguous on disk
> despite the high number of extents reported by filefrag. (Not sure
> what kernel versions they used)

Yeah, it's a known problem. The main problem is that we are only
checking to see merge both to the left and the right of the extent
tree when converting an extent from uninitialzied to initialized.

I've cc'ed the linux-ext4 list in the hopes someone is motivated to
fix this long-standing shortcoming. Unless someone starts working
quickly, it's not likely it will make this upcoming merge window, but
we can hope....

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