> i seem to recall that we found some missing close calls inside > raidframe that are now fixed in -current, and possibly pulled upto > netbsd-5 and probably not netbsd-4?
Worse than that - see below. > i think you do need a reboot, unfortunately. I think so too. I finally got around to looking at the code, and it turns out the ioctl backing raidctl -r is totally unimplemented (quoted code here is from the source tree from which the kernel on that machine was built): case RAIDFRAME_REMOVE_HOT_SPARE: return(retcode); Not only that, but rf_remove_hot_spare, even were it called, is unimplemented too: int rf_remove_hot_spare(RF_Raid_t *raidPtr, RF_SingleComponent_t *sparePtr) { int spare_number; if (raidPtr->numSpare==0) { printf("No spares to remove!\n"); return(EINVAL); } spare_number = sparePtr->column; return(EINVAL); /* XXX not implemented yet */ #if 0 if (spare_number < 0 || spare_number > raidPtr->numSpare) { return(EINVAL); } /* verify that this spare isn't in use... */ /* it's gone.. */ raidPtr->numSpare--; return(0); #endif } So, yeah, I don't see any way out of this but a reboot. :( /~\ The ASCII Mouse \ / Ribbon Campaign X Against HTML mo...@rodents-montreal.org / \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B