From: "Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com>
To: Theodore Tso <tytso@mit.edu>
Cc: linux-ext4@vger.kernel.org
Subject: Re: [PATCH 1/2] Add stack I/O manager.
Date: Mon, 21 May 2007 15:57:26 +0530 [thread overview]
Message-ID: <4651740E.6090704@linux.vnet.ibm.com> (raw)
In-Reply-To: <20070519033100.GB8654@thunk.org>
Theodore Tso wrote:
> On Wed, May 09, 2007 at 01:42:17PM +0530, Aneesh Kumar K.V wrote:
>> From: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
>>
>> This I/O manager helps in stacking different I/O managers.
>> For example one can stack the undo I/O manager on top
>> of Unix I/O manager to achieve the undo functionality.
>
> This is probably more generality than is strictly necessary; and the
> place where the excess generality gets messy is the fact that you make
> the stacking layer responsible for calling all of the io manager's
> open routines (which is still a FIXME). So I would flush the stack_io
> layer entirely.
Can't we address the FIXME by calling the respective close routine in
the failure case.
One thing i didn't like with the stack_io was, we will be opening the
device at each stacked I/O manager layer; which i also think is okey
provided we expect to use these I/O managers independently
>
> What I would recommend as the fast and dirty approach. Basically, ape
> the approach used by test_io layer _exactly_, except instead of using
> a global variable test_io_backing_manager, you provide a function
> which sets the static variable, undo_io_backing_manager. This
> variable is used only by the subsequent call to the ->open method,
> which just like test_io simply passes the name down to the backing
> manager specified in the static variable. Then just make the undo_io
> manager work the way test_io does, where does its thing, and then it
> calls the appropriate function in its private->real io_channel.
> Basically, make undo_io responsible for calling the next io_manager
> down in the chain, This is workable because we don't need to
> initialize the tdb file until we first try to write to the io_channel,
> and ext2fs_open() only needs to do read operations, so we can set the
> tdb filename via an optoin after ext2fs_open() returns.
>
One thing i was confused about was the usage of read_blk, write_blk etc
pointers in test_private_data. With respect to undo I/O manager do i
need to provide them ?. If we really need them, then i was thinking a
generic stacking layer as i send in the patches would be better. That
means any pluggable functionality that we achieve right now by setting
test_io_cb_read_blk etc will be implemented as a I/O manager that does
the particular task. Later we stack all these I/O manager to get the
full functionality.
-aneesh
next prev parent reply other threads:[~2007-05-21 10:27 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-05-09 8:12 e2fsprogs: Undo I/O manager Aneesh Kumar K.V
[not found] ` <d286e4520f717821cf2363ff3c71a9fff5ecad2f.1178698029.git.aneesh.kumar@linux.vnet.ibm.com>
2007-05-09 8:12 ` [PATCH 1/2] Add stack " Aneesh Kumar K.V
[not found] ` <cd9cd245faaef0628edabe875c507543f3195991.1178698029.git.aneesh.kumar@linux.vnet.ibm.com>
2007-05-09 8:12 ` [PATCH 2/2] Add undo " Aneesh Kumar K.V
2007-05-09 8:29 ` [PATCH 1/2] Add stack " Aneesh Kumar K.V
2007-05-19 3:31 ` Theodore Tso
2007-05-21 10:27 ` Aneesh Kumar K.V [this message]
2007-05-21 15:12 ` Theodore Tso
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4651740E.6090704@linux.vnet.ibm.com \
--to=aneesh.kumar@linux.vnet.ibm.com \
--cc=linux-ext4@vger.kernel.org \
--cc=tytso@mit.edu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).