linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* ac4 ext3 recovery failure
@ 2001-08-03 12:24 Greg Louis
  2001-08-03 19:30 ` Andrew Morton
  0 siblings, 1 reply; 5+ messages in thread
From: Greg Louis @ 2001-08-03 12:24 UTC (permalink / raw)
  To: ext3-users; +Cc: LKML

Rebooting to try 2.4.7-ac4, I had Xfree86 crash on exit and hang the
machine (it does that once a month or so; this notebook gets booted
quite often).  After fscking the root and another ext2 partition, the
system got to the big ext3 partition and just went dead.  No message,
no disk activity, no keyboard response.  I powered down and rebooted
2.4.7-ac3 patched with ext3-2.4-0.9.5-247ac3, and that came up ok and
recovered the journalled partition.

-- 
| G r e g  L o u i s          | gpg public key:      |
|   http://www.bgl.nu/~glouis |   finger greg@bgl.nu |

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

* Re: ac4 ext3 recovery failure
  2001-08-03 12:24 ac4 ext3 recovery failure Greg Louis
@ 2001-08-03 19:30 ` Andrew Morton
  2001-08-03 19:38   ` Alexander Viro
  0 siblings, 1 reply; 5+ messages in thread
From: Andrew Morton @ 2001-08-03 19:30 UTC (permalink / raw)
  To: Greg Louis; +Cc: ext3-users, LKML

Greg Louis wrote:
> 
> Rebooting to try 2.4.7-ac4, I had Xfree86 crash on exit and hang the
> machine (it does that once a month or so; this notebook gets booted
> quite often).  After fscking the root and another ext2 partition, the
> system got to the big ext3 partition and just went dead.  No message,
> no disk activity, no keyboard response.  I powered down and rebooted
> 2.4.7-ac3 patched with ext3-2.4-0.9.5-247ac3, and that came up ok and
> recovered the journalled partition.

Do you think this happened during the e2fsck run, or during the
actual mount?

-

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

* Re: ac4 ext3 recovery failure
  2001-08-03 19:30 ` Andrew Morton
@ 2001-08-03 19:38   ` Alexander Viro
  2001-08-03 19:58     ` Andrew Morton
  0 siblings, 1 reply; 5+ messages in thread
From: Alexander Viro @ 2001-08-03 19:38 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Greg Louis, ext3-users, LKML



On Fri, 3 Aug 2001, Andrew Morton wrote:

> Do you think this happened during the e2fsck run, or during the
> actual mount?

actual mount. s/fsync_dev/fsync_no_super/ in fs/jbd/*. Already fixed
in Alan's tree.

BTW, code around the place in question looks somewhat fishy - looks
like you have a lot of stuff assuming that journal and fs are on the
same device.


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

* Re: ac4 ext3 recovery failure
  2001-08-03 19:38   ` Alexander Viro
@ 2001-08-03 19:58     ` Andrew Morton
  2001-08-03 20:03       ` Alexander Viro
  0 siblings, 1 reply; 5+ messages in thread
From: Andrew Morton @ 2001-08-03 19:58 UTC (permalink / raw)
  To: Alexander Viro; +Cc: Greg Louis, ext3-users, LKML

Alexander Viro wrote:
> 
> On Fri, 3 Aug 2001, Andrew Morton wrote:
> 
> > Do you think this happened during the e2fsck run, or during the
> > actual mount?
> 
> actual mount. s/fsync_dev/fsync_no_super/ in fs/jbd/*. Already fixed
> in Alan's tree.

Ah.  Thanks.  Linus doesn't seem to have fsync_no_super(), so some
compatibility hacks will be needed there.

Why does fsync_no_super() exist?  I assume some locking changes
somewhere?

> BTW, code around the place in question looks somewhat fishy - looks
> like you have a lot of stuff assuming that journal and fs are on the
> same device.

Yes - this was fixed up when we were testing the external journal
support for 0.9.5.  -ac4 has 0.9.3+bits.

-

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

* Re: ac4 ext3 recovery failure
  2001-08-03 19:58     ` Andrew Morton
@ 2001-08-03 20:03       ` Alexander Viro
  0 siblings, 0 replies; 5+ messages in thread
From: Alexander Viro @ 2001-08-03 20:03 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Greg Louis, ext3-users, LKML



On Fri, 3 Aug 2001, Andrew Morton wrote:

> Ah.  Thanks.  Linus doesn't seem to have fsync_no_super(), so some
> compatibility hacks will be needed there.

Merge with fs/super.c fixes (happens in -ac)

> Why does fsync_no_super() exist?  I assume some locking changes
> somewhere?

It's fsync_dev() without touching fs structures.

fsync_super() - we hold a superblock, sync its in-core structures and
sync the device
fsync_dev() - we have a device, find superblock, grab it and sync (see above).
We need exclusion against read_super() and umount here - code in Linus'
tree is oopsable exactly because it lacks that.
fsync_no_super() - we have a device, sync it without even looking for fs
in-core stuff.

Notice that fsync_dev() in the wrong moment can seriously screw vanilla
2.4. In -ac4 it got the required exclusion, but that means the need to
use the fsync_super() or fsync_no_super() if you are in the exclusion
area. That had been done to the stuff common with Linus' tree, so there's
not much to fix. AFAICS jbd/recovery.c is the only place not covered.


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

end of thread, other threads:[~2001-08-03 20:03 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-08-03 12:24 ac4 ext3 recovery failure Greg Louis
2001-08-03 19:30 ` Andrew Morton
2001-08-03 19:38   ` Alexander Viro
2001-08-03 19:58     ` Andrew Morton
2001-08-03 20:03       ` Alexander Viro

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).