From: "Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com>
To: Andreas Dilger <adilger@clusterfs.com>
Cc: tytso@mit.edu, linux-ext4@vger.kernel.org
Subject: Re: [PATCH 1/4] e2fsprogs: Add undo I/O manager
Date: Fri, 03 Aug 2007 10:19:43 +0530 [thread overview]
Message-ID: <46B2B3E7.3030807@linux.vnet.ibm.com> (raw)
In-Reply-To: <20070802213728.GH6142@schatzie.adilger.int>
Andreas Dilger wrote:
> On Aug 03, 2007 00:02 +0530, Aneesh Kumar K.V wrote:
>> Andreas Dilger wrote:
>>> Is this the mtime and UUID of the new filesystem or the old one? It
>>> should be the UUID and mtime of the new filesystem, so that the
>>> undo file can be verified against the current superblock. This poses
>>> a bit of a problem, because that information isn't saved until after
>>> the mke2fs run is finished.
>>>
>>> One possibility is to overwrite this information at the end of mke2fs
>>> after the new UUID and mtime are written?
>> This can be done by writing the file system identity during the the
>> io_channel_close.
>> How about this patch on top of the last series. I will merge this into the
>> patcheset
>
> I thought about this also, but in fact for most uses of the undo manager
> we want to save the information at the start instead of the end, so it
> is possible to undo e.g. a partial e2fsck that crashes before it finishes.
> Only with mke2fs (and, I guess tune2fs -U) does the UUID change at the
> end.
I am not sure whether saving the information at start is needed. I understand
that what we are looking for is the case when the application crashes without
doing a io_channel_close. In that case i would say the user can use the
--force option and replay the data from the tdb file. The UUID could very well
be changed on the disk before the application crashed. So even if we save
UUID at the start, there are cases where it won't match with the disk UUID.
That actually brings me to another change. I would be moving the block size
recording changes from write_file_system_identity to a separate function
and will be calling it at the first write. That make sure we have a record
that carry the blocksize even though we don't have one with mtime and UUID
in the tdb file.
>
> Also, can you check if mke2fs does any non-iomanager output? I think
> there is code to "zap" the old superblock at the start and old RAID info
> at the end of the block device, and I'm not sure if this uses the normal
> IO manager or not.
>
The zap_sector and zap_zero uses the io manager to zero out the blocks. So
they should be ok. I found that when we use -J device=<journal-device>. mke2fs
uses unix I/O manager to write to the journal super block. I guess that is ok
because we are not tracking changes to journal device.
I found that the journal_super_block have only space for 48 s_users
UUID entries. But in ext2fs_add_journal_device we are not checking
the limit. Does that mean repeated mke2fs with -J can lead to corruption ?
-aneesh
next prev parent reply other threads:[~2007-08-03 4:49 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-08-01 15:34 e2fsprogs patches Aneesh Kumar K.V
[not found] ` <f2c3823cb66c7a30436b1f2163cbe3bba791a115.1185981319.git.aneesh.kumar@linux.vnet.ibm.com>
2007-08-01 15:34 ` [PATCH 1/4] e2fsprogs: Add undo I/O manager Aneesh Kumar K.V
[not found] ` <53bd7d38bb3251e93fb35f56e38d2d1904951ed0.1185981319.git.aneesh.kumar@linux.vnet.ibm.com>
2007-08-01 15:34 ` [PATCH 2/4] e2fsprogs: Add undoe2fs Aneesh Kumar K.V
[not found] ` <54cb90cb47293e41d0b1dd1b36b1edead8960563.1185981319.git.aneesh.kumar@linux.vnet.ibm.com>
2007-08-01 15:34 ` [PATCH 3/4] e2fsprogs: Make mke2fs use undo I/O manager Aneesh Kumar K.V
[not found] ` <5fa196da3ae691bc49533fc43d09ff1e272f6563.1185981319.git.aneesh.kumar@linux.vnet.ibm.com>
2007-08-01 15:34 ` [PATCH 4/4] e2fsprogs: Support for large inode migration Aneesh Kumar K.V
2007-08-01 22:52 ` [PATCH 1/4] e2fsprogs: Add undo I/O manager Andreas Dilger
2007-08-02 18:32 ` Aneesh Kumar K.V
2007-08-02 21:37 ` Andreas Dilger
2007-08-03 4:49 ` Aneesh Kumar K.V [this message]
2007-08-03 18:28 ` Andreas Dilger
2007-08-01 23:05 ` e2fsprogs patches Andreas Dilger
[not found] <bee58d48110eee4d5cd133167245b99644148d96.1185933778.git.aneesh.kumar@linux.vnet.ibm.com>
2007-08-01 2:04 ` [PATCH 1/4] e2fsprogs: Add undo I/O manager Aneesh Kumar K.V
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=46B2B3E7.3030807@linux.vnet.ibm.com \
--to=aneesh.kumar@linux.vnet.ibm.com \
--cc=adilger@clusterfs.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).