Re: [PATCH][RFC] fast file mapping for loop

From: Jens Axboe
Date: Thu Jan 10 2008 - 03:43:49 EST


On Wed, Jan 09 2008, Andi Kleen wrote:
> Jens Axboe <jens.axboe@xxxxxxxxxx> writes:
> >
> > So how does it work? Instead of punting IO to a thread and passing it
> > through the page cache, we instead attempt to send the IO directly to the
>
> Great -- something like this was needed for a long time.
>
> > - The file block mappings must not change while loop is using the file.
> > This means that we have to ensure exclusive access to the file and
> > this is the bit that is currently missing in the implementation. It
> > would be nice if we could just do this via open(), ideas welcome...
>
> get_write_access()/put_write_access() will block other writers.
>
> But as pointed out by others that is not enough for this.

Yeah, basically allowing O_RDONLY | O_DIRECT opens should be ok, but we
can't allow writes and we can't allow page cache to exist for this file
outside of loop.

> I suppose you could use a white list like a special flag for file systems
> (like ext2/ext3) that do not reallocate blocks.

Irk, but yeah we probably need something like that for now until Chris
proposes his API addition.

--
Jens Axboe

--
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/