tech-kern archive

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

Re: raidframe rebuild question



> 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                mouse%rodents-montreal.org@localhost
/ \ Email!           7D C8 61 52 5D E7 2D 39  4E F1 31 3E E8 B3 27 4B


Home | Main Index | Thread Index | Old Index