[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20060726100848.GA2715@2ka.mipt.ru>
Date: Wed, 26 Jul 2006 14:08:49 +0400
From: Evgeniy Polyakov <johnpol@....mipt.ru>
To: Christoph Hellwig <hch@...radead.org>,
lkml <linux-kernel@...r.kernel.org>,
David Miller <davem@...emloft.net>,
Ulrich Drepper <drepper@...hat.com>,
netdev <netdev@...r.kernel.org>
Subject: Re: [3/4] kevent: AIO, aio_sendfile() implementation.
On Wed, Jul 26, 2006 at 11:00:13AM +0100, Christoph Hellwig (hch@...radead.org) wrote:
> > struct address_space_operations ext2_aops = {
> > + .get_block = ext2_get_block,
>
> No way in hell. For whatever you do please provide a interface at
> the readpage/writepage/sendfile/etc abstraction layer. get_block is
> nothing that can be exposed to the common code.
Compare this with sync read methods - all they do is exactly the same
operations with low-level blocks, which are combined into nice exported
function, so there is _no_ readpage layer - it calls only one function
which works with blocks.
I would create the same, i.e. async_readpage(), which called kevent's
functions and processed low-level blocks, just like sync code does, but
that requires kevent to be deep part of the FS tree.
So I prefer to have
kevent/some_function_which_works_with_blocks_and_kevents()
instead of
fs/some_function_which_works_with_block_and_kevents()
kevent/call_that_function_like_all_readpage_callbacks_do().
So it is not a technical problem, but political one.
--
Evgeniy Polyakov
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists