* 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 {
/* 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);
};
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
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));