From b6658aeb61a7999e440a8133da846f17b7c45bba Mon Sep 17 00:00:00 2001 From: nikita Date: Thu, 26 Oct 2006 13:59:55 +0000 Subject: [PATCH] move LU_OBJECT_HEARD_BANSHEE into mdd_object.mod_flags. --- lustre/include/lu_object.h | 3 +-- lustre/mdd/mdd_dir.c | 3 +-- lustre/mdd/mdd_internal.h | 7 ++++--- lustre/mdd/mdd_object.c | 2 +- 4 files changed, 7 insertions(+), 8 deletions(-) diff --git a/lustre/include/lu_object.h b/lustre/include/lu_object.h index f69552c..3357b56 100644 --- a/lustre/include/lu_object.h +++ b/lustre/include/lu_object.h @@ -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 { diff --git a/lustre/mdd/mdd_dir.c b/lustre/mdd/mdd_dir.c index 310d1ed..7e76c2b 100644 --- a/lustre/mdd/mdd_dir.c +++ b/lustre/mdd/mdd_dir.c @@ -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); diff --git a/lustre/mdd/mdd_internal.h b/lustre/mdd/mdd_internal.h index 6dc99b6..dba4de2 100644 --- a/lustre/mdd/mdd_internal.h +++ b/lustre/mdd/mdd_internal.h @@ -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 diff --git a/lustre/mdd/mdd_object.c b/lustre/mdd/mdd_object.c index c3ce13b..3dd8245 100644 --- a/lustre/mdd/mdd_object.c +++ b/lustre/mdd/mdd_object.c @@ -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)); -- 1.8.3.1