NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

PR/49244 CVS commit: [netbsd-6-0] src/sys/dev/raidframe



The following reply was made to PR kern/49244; it has been noted by GNATS.

From: "Soren Jacobsen" <snj%netbsd.org@localhost>
To: gnats-bugs%gnats.NetBSD.org@localhost
Cc: 
Subject: PR/49244 CVS commit: [netbsd-6-0] src/sys/dev/raidframe
Date: Tue, 2 Dec 2014 22:06:58 +0000

 Module Name:	src
 Committed By:	snj
 Date:		Tue Dec  2 22:06:58 UTC 2014
 
 Modified Files:
 	src/sys/dev/raidframe [netbsd-6-0]: raidframevar.h rf_netbsdkintf.c
 	    rf_reconstruct.c
 
 Log Message:
 Pull up following revision(s) (requested by oster in ticket #1194):
 	sys/dev/raidframe/raidframevar.h: revision 1.17
 	sys/dev/raidframe/rf_netbsdkintf.c: revision 1.316
 	sys/dev/raidframe/rf_reconstruct.c: revision 1.121
 Fix a long-standing bug related to rebooting while a
 reconstruct-to-spare is underway but not yet complete.
 The issue was that a component was being marked as a used_spare when
 the rebuild started, not when the rebuild was actually finished.
 Marking it as a used_spare meant that the component label on the spare
 was being updated such that after a reboot the component would be
 considered up-to-date, regardless of whether the rebuild actually
 completed!
 This fix includes:
  1) Add an additional state "rf_ds_rebuilding_spare" which is used
     to denote that a spare is currently being rebuilt from the live
     components.
  2) Update the comments on the disk states, which were out-of-sync
     with reality.
  3) When rebuilding to a spare component, that spare now enters the
     state rf_ds_rebuilding_spare instead of the state rf_ds_used_spare.
  4) When the rebuild is actually complete then the spare component
     enters the rf_ds_used_spare state.  rf_ds_used_spare is now used
     exclusively for the case where the rebuilding to the spare has
     completed successfully.
 XXX: Someday we need to teach raidctl(8) about this new state, and
 take out the backwards compatibility code in rf_netbsdkintf.c (see
 RAIDFRAME_GET_INFO in raidioctl()).  For today, this fix needs to be
 generic enough that it can get backported without major grief.
 XXX: Needs pullup to netbsd-5*, netbsd-6*, and netbsd-7
 Fixes PR#49244.
 
 
 To generate a diff of this commit:
 cvs rdiff -u -r1.15 -r1.15.16.1 src/sys/dev/raidframe/raidframevar.h
 cvs rdiff -u -r1.295.6.2 -r1.295.6.2.4.1 \
     src/sys/dev/raidframe/rf_netbsdkintf.c
 cvs rdiff -u -r1.117.8.1 -r1.117.8.1.4.1 \
     src/sys/dev/raidframe/rf_reconstruct.c
 
 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.
 


Home | Main Index | Thread Index | Old Index