[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20150421150012.GI3238@thunk.org>
Date: Tue, 21 Apr 2015 11:00:12 -0400
From: Theodore Ts'o <tytso@....edu>
To: Andreas Dilger <adilger@...ger.ca>
Cc: "Darrick J. Wong" <darrick.wong@...cle.com>,
"linux-ext4@...r.kernel.org" <linux-ext4@...r.kernel.org>
Subject: Re: [PATCH 10/35] undo-io: add new calls to and speed up the undo io
manager
On Wed, Apr 01, 2015 at 11:06:11PM -0500, Andreas Dilger wrote:
> Doesn't it kind of make e2undo useless if it doesn't work unless
> the overwriting operation completed successfully?
>
> Wouldn't it be better to save the superblock at the start, so that
> it is available if the overwriting operation is interrupted? It seems
> like e2undo would be most useful if e.g. resize2fs was interrupted in
> the middle of some otherwise-corrupting change to the
> filesystem.
It would be nice if e2fsck's undo log worked correctly after a
powerfailure, but having to constantly call fsync to keep the undo log
consistent probably isn't work it.
However, if the user types ^C, or e2fsck crashes out with a call to
fatal_error(), we *should* make sure the undo log is in a proper state
so it can be replied.
Alternatively, what we *could* do is to implement a write-ahead log
where all of the modified blocks go into separate file, and then the
file system only gets modified at the end, if e2fsck finishes
correctly (or if the user types ^C, we can ask the user if he/she
wants to apply the changes made so far). I could imagine this being
useful in some cases, but I'm not entirely clear it's worth the effort
to implement. (And we can always do that later, we shouldn't let the
perfect be the enemy of the good.)
- Ted
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists