- hook initialization and orphan removal functions
[this needs review and redo, after some config issues are settled.]
[nasty hackery continues in this area until lconf sees a change.]
- things that would help:
1. pass the lov_uuid to the MDS at setup time
2. call the mds ioctl to do lovinfo setup during setup
[add yet another parameter to mds_setup?]
[currently this is a race]
3. get lov/osc devices set up before the mds is set up.
All 3 look doable to me.
- moved code from the class ioctl handler to genops, to begin a
framework for in-kernel configuration. For now we have:
- class_newdev,
- class_attach
- class_setup functions.
- added Alex pre-creation code
NOTE: oscc_precreate doesn't wake up unless has_objects returns
true. That prevents pre-create to be called multiple times. Should be
fixed, but it's unlikely we will see this bug again
while (try_again) {
spin_lock(&oscc->oscc_lock);
- if (oscc->oscc_last_id > oscc->oscc_next_id) {
+ if (oscc->oscc_last_id >= oscc->oscc_next_id) {
oa->o_id = oscc->oscc_next_id;
memcpy(oa, &oscc->oscc_oa, sizeof(*oa));
lsm->lsm_object_id = oscc->oscc_next_id;