Whamcloud - gitweb
move LU_OBJECT_HEARD_BANSHEE into mdd_object.mod_flags.
authornikita <nikita>
Thu, 26 Oct 2006 13:59:55 +0000 (13:59 +0000)
committernikita <nikita>
Thu, 26 Oct 2006 13:59:55 +0000 (13:59 +0000)
lustre/include/lu_object.h
lustre/mdd/mdd_dir.c
lustre/mdd/mdd_internal.h
lustre/mdd/mdd_object.c

index f69552c..3357b56 100644 (file)
@@ -409,8 +409,7 @@ enum lu_object_header_flags {
          * as last reference to it is released. This flag cannot be cleared
          * once set.
          */
-        LU_OBJECT_HEARD_BANSHEE = 0,
-        LU_OBJECT_ORPHAN        = 1,
+        LU_OBJECT_HEARD_BANSHEE = 0
 };
 
 enum lu_object_header_attr {
index 310d1ed..7e76c2b 100644 (file)
@@ -458,8 +458,7 @@ int mdd_finish_unlink(const struct lu_env *env,
                 /* add new orphan and the object
                  * will be deleted during the object_put() */
                 if (__mdd_orphan_add(env, obj, th) == 0)
-                        set_bit(LU_OBJECT_ORPHAN,
-                                &mdd2lu_obj(obj)->lo_header->loh_flags);
+                        obj->mod_flags |= ORPHAN_OBJ;
 
                 if (obj->mod_count == 0)
                         rc = mdd_object_kill(env, obj, ma);
index 6dc99b6..dba4de2 100644 (file)
@@ -72,10 +72,11 @@ struct mdd_device {
 };
 
 enum mod_flags {
-        /*The dir object has been unlinked*/
-        DEAD_OBJ = 1 << 0,
+        /* The dir object has been unlinked */
+        DEAD_OBJ   = 1 << 0,
         APPEND_OBJ = 1 << 1,
-        IMMUTE_OBJ = 1 << 2
+        IMMUTE_OBJ = 1 << 2,
+        ORPHAN_OBJ = 1 << 3
 };
 
 #define LUSTRE_APPEND_FL LDISKFS_APPEND_FL
index c3ce13b..3dd8245 100644 (file)
@@ -175,7 +175,7 @@ static void mdd_object_delete(const struct lu_env *env,
         if (lu2mdd_dev(o->lo_dev)->mdd_orphans == NULL)
                 return;
 
-        if (test_bit(LU_OBJECT_ORPHAN, &o->lo_header->loh_flags)) {
+        if (mdd_obj->mod_flags & ORPHAN_OBJ) {
                 mdd_txn_param_build(env, lu2mdd_dev(o->lo_dev),
                                     MDD_TXN_INDEX_DELETE_OP);
                 handle = mdd_trans_start(env, lu2mdd_dev(o->lo_dev));