NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: kern/50601: sparc64 with root-on-raid0 does not reboot
The following reply was made to PR kern/50601; it has been noted by GNATS.
From: Martin Husemann <martin%duskware.de@localhost>
To: gnats-bugs%NetBSD.org@localhost
Cc:
Subject: Re: kern/50601: sparc64 with root-on-raid0 does not reboot
Date: Wed, 30 Dec 2015 21:15:33 +0100
The patch below fixes the issue for me. The first call to raid_detach
fails with EBUSY, but does not unlock the raidset. The next call never
is able to aquire the lock.
With this change it reboots just fine, but interestingly I get a duplicate
detach message from raid0:
Done running shutdown hooks.
Desyncing disks... done
cd0: detached
pcmcia1: detached
audio0: detached
raid0: Waiting for parity re-write to exit...
raid0: Error re-writing parity (1)!
raid0: detached
raid0: detached
sd2: detached
sd1: detached
scsibus0: detached
cpu1: shutting down
cpu0: rebooting
Patch just as a proof of concept - we should probably deal with the
unlocking in the relevant error paths in raid_detach_unlocked().
Does anyone see what causes the duplicate detach messages?
Martin
Index: rf_netbsdkintf.c
===================================================================
RCS file: /cvsroot/src/sys/dev/raidframe/rf_netbsdkintf.c,v
retrieving revision 1.330
diff -u -r1.330 rf_netbsdkintf.c
--- rf_netbsdkintf.c 26 Dec 2015 21:50:43 -0000 1.330
+++ rf_netbsdkintf.c 30 Dec 2015 20:00:55 -0000
@@ -3938,6 +3938,8 @@
return (error);
error = raid_detach_unlocked(rs);
+ if (error)
+ raidunlock(rs);
return error;
}
Home |
Main Index |
Thread Index |
Old Index