All of lore.kernel.org
 help / color / mirror / Atom feed
* Fix(es) for ext2 fsync bug
@ 2007-02-14 19:54 Valerie Henson
  2007-02-14 20:31 ` David Chinner
                   ` (2 more replies)
  0 siblings, 3 replies; 20+ messages in thread
From: Valerie Henson @ 2007-02-14 19:54 UTC (permalink / raw)
  To: linux-fsdevel; +Cc: Can Sar, Junfeng Yang, Dawson Engler, Theodore Ts'o

Just some quick notes on possible ways to fix the ext2 fsync bug that
eXplode found.  Whether or not anyone will bother to implement it is
another matter.

Background: The eXplode file system checker found a bug in ext2 fsync
behavior.  Do the following: truncate file A, create file B which
reallocates one of A's old indirect blocks, fsync file B.  If you then
crash before file A's metadata is all written out, fsck will complete
the truncate for file A... thereby deleting file B's data.  So fsync
file B doesn't guarantee data is on disk after a crash.  Details:

http://www.stanford.edu/~engler/explode-osdi06.pdf 

Two possible solutions I can think of:

* Rearrange order of duplicate block checking and fixing file size in
  fsck.  Not sure how hard this is. (Ted?)

* Keep a set of "still allocated on disk" block bitmaps that gets
  flushed whenever a sync happens.  Don't allocate these blocks.
  Journaling file systems already have to do this.

-VAL

^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2007-02-20 22:25 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-02-14 19:54 Fix(es) for ext2 fsync bug Valerie Henson
2007-02-14 20:31 ` David Chinner
2007-02-14 21:26   ` Dave Kleikamp
2007-02-14 23:32     ` David Chinner
2007-02-14 21:08 ` sfaibish
2007-02-15 14:20 ` Theodore Tso
2007-02-15 15:09   ` Dave Kleikamp
2007-02-15 15:59     ` sfaibish
2007-02-15 16:39       ` Dave Kleikamp
2007-02-15 17:15         ` Theodore Tso
2007-02-15 17:52           ` sfaibish
     [not found]         ` <21e789ec0702151111v4cb2aa8dqa168c886cb909c9@mail.gmail.com>
2007-02-15 19:26           ` Dave Kleikamp
2007-02-15 18:54       ` Dawson Engler
     [not found]         ` <21e789ec0702151118x1c6af801gd34981d72db0f5b2@mail.gmail.com>
     [not found]           ` <21e789ec0702151128x744f61e5lb24d2da972af185a@mail.gmail.com>
2007-02-16  1:18             ` Theodore Tso
2007-02-20 21:13     ` Valerie Henson
     [not found]       ` <21e789ec0702201330x1c2706b7kcd055b97cb37e0e@mail.gmail.com>
2007-02-20 21:39         ` Valerie Henson
2007-02-20 21:47           ` Dawson Engler
2007-02-20 22:25           ` Dave Kleikamp
2007-02-20 21:30   ` Valerie Henson
2007-02-20 22:12     ` Erez Zadok

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.