Whamcloud - gitweb
- a bunch of "fixes" on b_llpmd
authorbraam <braam>
Wed, 20 Aug 2003 15:38:56 +0000 (15:38 +0000)
committerbraam <braam>
Wed, 20 Aug 2003 15:38:56 +0000 (15:38 +0000)
  - 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

index 33b241a..0b1eedb 100644 (file)
@@ -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;