From 41e37ab61ae40c1061cf743fc41dc615fca33bb6 Mon Sep 17 00:00:00 2001 From: braam Date: Wed, 20 Aug 2003 15:38:56 +0000 Subject: [PATCH] - a bunch of "fixes" on b_llpmd - 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 --- lustre/osc/osc_create.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lustre/osc/osc_create.c b/lustre/osc/osc_create.c index 33b241a..0b1eedb 100644 --- a/lustre/osc/osc_create.c +++ b/lustre/osc/osc_create.c @@ -163,7 +163,7 @@ int osc_create(struct lustre_handle *exph, struct obdo *oa, 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; -- 1.8.3.1