Re: 2.3.4: deadlocks when writing many data

Pavel Machek (pavel@bug.ucw.cz)
Mon, 7 Jun 1999 22:27:10 +0200


Hi!

> > `subj` is what I see.
> >
> > I can see a deadlock, and any write to filesystem will mean one more
> > locked process. I see
> >
> > kflushd: waiting on wait_on_super and
> > update+syslogd+random_processes: waiting on wakeup_bdflush
> >
> > Any ideas?
>
> Ok, I'm following up myself. This just happened again, this time at
> 2.3.5.
>
> kflushd: stuck at down_failed
> sync: stuck at wakeup_bdflush
> more processes got stuck, some at wait_on_super
>
> This is more reproducible than I'd like it too. Similar crash happened
> yesterday with nbd, these crashes are with loop in use.

Ok, lets see. Random process does lock_super and then writes too much
data (=> wakeup_bdflush). Ok, now superblock is locked and bdflush is
called. But due to loop, bdflush tries to write to sparse block, which
can require lock_super. (Am I right)? Is there bug in my thinking?
(I did not investigate code too closely.)

Pavel

-- 
I'm really pavel@ucw.cz. Look at http://195.113.31.123/~pavel.  Pavel
Hi! I'm a .signature virus! Copy me into your ~/.signature, please!

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/