[PATCH] deadlock fix

From: Gary E. Miller (gem@rellim.com)
Date: Tue Nov 07 2000 - 19:45:21 EST


Yo All!

I see this patch did not make it into test11-pre1. Without it
raid1 and SMP do not work together. Please consider for test11-pre2.

RGDS
GARY
---------------------------------------------------------------------------
Gary E. Miller Rellim 20340 Empire Ave, Suite E-3, Bend, OR 97701
        gem@rellim.com Tel:+1(541)382-8588 Fax: +1(541)382-8676

> > > Here it is.
> > >
> > > --- drivers/md/raid1.c.org Wed Oct 18 15:30:07 2000
> > > +++ drivers/md/raid1.c Wed Oct 18 15:33:08 2000
> > > @@ -91,7 +91,8 @@
> > >
> > > static inline void raid1_free_bh(raid1_conf_t *conf, struct buffer_head *bh)
> > > {
> > > - md_spin_lock_irq(&conf->device_lock);
> > > + unsigned long flags;
> > > + md_spin_lock_irqsave(&conf->device_lock, flags);
> > > while (bh) {
> > > struct buffer_head *t = bh;
> > > bh=bh->b_next;
> > > @@ -103,7 +104,7 @@
> > > conf->freebh_cnt++;
> > > }
> > > }
> > > - md_spin_unlock_irq(&conf->device_lock);
> > > + md_spin_unlock_irqrestore(&conf->device_lock, flags);
> > > wake_up(&conf->wait_buffer);
> > > }
>

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



This archive was generated by hypermail 2b29 : Tue Nov 07 2000 - 21:00:24 EST