On Fri, 2005-10-28 at 18:43 +0200, Martijn van Oosterhout wrote:
> On Fri, Oct 28, 2005 at 05:05:25PM +0100, Simon Riggs wrote:
> > 3. Helping Readahead efficiency: Currently blocks are allocated one at a
> > time. If many tables are extending at the same time, the blocks from
> > multiple tables will be intermixed together on the disk. Reading the
> > data back takes more head movement and reduces the I/O rate. Allocating
>
> Ok, I agree with the rest but this isn't true. Any filesystem designed
> in the last ten years leaves gaps around the place so when you extend a
> file it remains consecutive. Some filesystems (like XFS) take it to
> extremes). Interleaving blocks with this pattern hasn't been done since
> FAT.
>
> That isn't to say that preextending isn't a good idea. With my pread()
> patch it was the one use of lseek() I couldn't remove.
>
> Other than that, good thought...
Thanks. I wasn't aware of that.
Best Regards, Simon Riggs