Whamcloud - gitweb
LU-137 obdclass: add dt_object_put() and use it 92/23092/8
authorAndreas Dilger <andreas.dilger@intel.com>
Tue, 11 Oct 2016 21:18:45 +0000 (15:18 -0600)
committerOleg Drokin <oleg.drokin@intel.com>
Sun, 26 Mar 2017 06:49:30 +0000 (06:49 +0000)
Introduce dt_object_put() and dt_object_put_nocache() and use them
instead of lu_object_put() and lu_object_put_nocache(), to balance
the use of dt_object_locate() to make a symmetrical interface.

Move the existing ofd_object_put() and osd_object_put() wrappers
into common header functions to use instead of dt_object_put()
or lu_object_put() calls in the respective code, when possible.

Functionally, this patch is a no-op.

Test-Parameters: trivial
Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
Change-Id: I7ef657438441de4a91ee08edb4bc097ac97b7418
Reviewed-on: https://review.whamcloud.com/23092
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-by: Nathaniel Clark <nathaniel.l.clark@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
45 files changed:
lustre/fid/fid_store.c
lustre/fld/fld_index.c
lustre/include/dt_object.h
lustre/lfsck/lfsck_internal.h
lustre/lfsck/lfsck_layout.c
lustre/lod/lod_dev.c
lustre/lod/lod_lov.c
lustre/lod/lod_object.c
lustre/lod/lod_qos.c
lustre/mdd/mdd_device.c
lustre/mdd/mdd_orphans.c
lustre/mgc/mgc_request.c
lustre/mgs/mgs_fs.c
lustre/mgs/mgs_nids.c
lustre/obdclass/dt_object.c
lustre/obdclass/llog_osd.c
lustre/obdclass/llog_test.c
lustre/obdclass/local_storage.c
lustre/obdecho/echo_client.c
lustre/ofd/ofd_fs.c
lustre/ofd/ofd_internal.h
lustre/ofd/ofd_io.c
lustre/ofd/ofd_objects.c
lustre/osd-ldiskfs/osd_handler.c
lustre/osd-ldiskfs/osd_internal.h
lustre/osd-ldiskfs/osd_io.c
lustre/osd-ldiskfs/osd_quota.c
lustre/osd-zfs/osd_index.c
lustre/osd-zfs/osd_internal.h
lustre/osd-zfs/osd_quota.c
lustre/osp/osp_dev.c
lustre/osp/osp_trans.c
lustre/ptlrpc/nodemap_storage.c
lustre/quota/lquota_disk.c
lustre/quota/lquota_lib.c
lustre/quota/qmt_dev.c
lustre/quota/qmt_handler.c
lustre/quota/qmt_lock.c
lustre/quota/qmt_pool.c
lustre/quota/qsd_lib.c
lustre/target/out_handler.c
lustre/target/tgt_handler.c
lustre/target/tgt_main.c
lustre/target/update_recovery.c
lustre/target/update_trans.c

index fd85270..225ddfa 100644 (file)
@@ -234,16 +234,15 @@ int seq_store_init(struct lu_server_seq *seq,
         RETURN(rc);
 }
 
         RETURN(rc);
 }
 
-void seq_store_fini(struct lu_server_seq *seq,
-                    const struct lu_env *env)
+void seq_store_fini(struct lu_server_seq *seq, const struct lu_env *env)
 {
 {
-        ENTRY;
+       ENTRY;
 
 
-        if (seq->lss_obj != NULL) {
-                if (!IS_ERR(seq->lss_obj))
-                        lu_object_put(env, &seq->lss_obj->do_lu);
-                seq->lss_obj = NULL;
-        }
+       if (seq->lss_obj != NULL) {
+               if (!IS_ERR(seq->lss_obj))
+                       dt_object_put(env, seq->lss_obj);
+               seq->lss_obj = NULL;
+       }
 
 
-        EXIT;
+       EXIT;
 }
 }
index ffeca9b..fa9ca94 100644 (file)
@@ -360,7 +360,7 @@ int fld_index_init(const struct lu_env *env, struct lu_server_fld *fld,
 
        LASSERT(dt_obj != NULL);
        if (!dt_object_exists(dt_obj)) {
 
        LASSERT(dt_obj != NULL);
        if (!dt_object_exists(dt_obj)) {
-               lu_object_put(env, &dt_obj->do_lu);
+               dt_object_put(env, dt_obj);
                dt_obj = dt_find_or_create(env, dt, &fid, &dof, attr);
                fld->lsf_new = 1;
                if (IS_ERR(dt_obj)) {
                dt_obj = dt_find_or_create(env, dt, &fid, &dof, attr);
                fld->lsf_new = 1;
                if (IS_ERR(dt_obj)) {
@@ -436,7 +436,7 @@ out:
 
        if (rc < 0) {
                if (dt_obj != NULL)
 
        if (rc < 0) {
                if (dt_obj != NULL)
-                       lu_object_put(env, &dt_obj->do_lu);
+                       dt_object_put(env, dt_obj);
                fld->lsf_obj = NULL;
        }
        RETURN(rc);
                fld->lsf_obj = NULL;
        }
        RETURN(rc);
@@ -447,7 +447,7 @@ void fld_index_fini(const struct lu_env *env, struct lu_server_fld *fld)
        ENTRY;
        if (fld->lsf_obj != NULL) {
                if (!IS_ERR(fld->lsf_obj))
        ENTRY;
        if (fld->lsf_obj != NULL) {
                if (!IS_ERR(fld->lsf_obj))
-                       lu_object_put(env, &fld->lsf_obj->do_lu);
+                       dt_object_put(env, fld->lsf_obj);
                fld->lsf_obj = NULL;
        }
        EXIT;
                fld->lsf_obj = NULL;
        }
        EXIT;
index 5c568ee..038095c 100644 (file)
@@ -1956,6 +1956,18 @@ dt_object_locate(struct dt_object *dto, struct dt_device *dt_dev)
        return NULL;
 }
 
        return NULL;
 }
 
+static inline void dt_object_put(const struct lu_env *env,
+                                struct dt_object *dto)
+{
+       lu_object_put(env, &dto->do_lu);
+}
+
+static inline void dt_object_put_nocache(const struct lu_env *env,
+                                        struct dt_object *dto)
+{
+       lu_object_put_nocache(env, &dto->do_lu);
+}
+
 int local_oid_storage_init(const struct lu_env *env, struct dt_device *dev,
                           const struct lu_fid *first_fid,
                           struct local_oid_storage **los);
 int local_oid_storage_init(const struct lu_env *env, struct dt_device *dev,
                           const struct lu_fid *first_fid,
                           struct local_oid_storage **los);
index 42dfea6..d54b25f 100644 (file)
@@ -1238,7 +1238,7 @@ static inline struct dt_object *lfsck_object_get(struct dt_object *obj)
 static inline void lfsck_object_put(const struct lu_env *env,
                                    struct dt_object *obj)
 {
 static inline void lfsck_object_put(const struct lu_env *env,
                                    struct dt_object *obj)
 {
-       lu_object_put(env, &obj->do_lu);
+       dt_object_put(env, obj);
 }
 
 static inline struct seq_server_site
 }
 
 static inline struct seq_server_site
index 8ce6086..517b3f5 100644 (file)
@@ -2613,7 +2613,7 @@ put:
                lfsck_object_put(env, parent);
        else
                /* The layout EA is changed, need to be reloaded next time. */
                lfsck_object_put(env, parent);
        else
                /* The layout EA is changed, need to be reloaded next time. */
-               lu_object_put_nocache(env, &parent->do_lu);
+               dt_object_put_nocache(env, parent);
 
 out:
        down_write(&com->lc_sem);
 
 out:
        down_write(&com->lc_sem);
index bb1a90c..0e2d0c2 100644 (file)
@@ -1032,7 +1032,7 @@ static int lod_process_config(const struct lu_env *env,
        }
        case LCFG_PRE_CLEANUP: {
                if (lod->lod_md_root != NULL) {
        }
        case LCFG_PRE_CLEANUP: {
                if (lod->lod_md_root != NULL) {
-                       lu_object_put(env, &lod->lod_md_root->ldo_obj.do_lu);
+                       dt_object_put(env, &lod->lod_md_root->ldo_obj);
                        lod->lod_md_root = NULL;
                }
 
                        lod->lod_md_root = NULL;
                }
 
@@ -1203,7 +1203,7 @@ static int lod_prepare(const struct lu_env *env, struct lu_device *pdev,
        if (IS_ERR(dto))
                GOTO(out_put, rc = PTR_ERR(dto));
 
        if (IS_ERR(dto))
                GOTO(out_put, rc = PTR_ERR(dto));
 
-       lu_object_put(env, &dto->do_lu);
+       dt_object_put(env, dto);
 
        /* Create update log dir */
        lu_update_log_dir_fid(fid, index);
 
        /* Create update log dir */
        lu_update_log_dir_fid(fid, index);
@@ -1214,7 +1214,7 @@ static int lod_prepare(const struct lu_env *env, struct lu_device *pdev,
        if (IS_ERR(dto))
                GOTO(out_put, rc = PTR_ERR(dto));
 
        if (IS_ERR(dto))
                GOTO(out_put, rc = PTR_ERR(dto));
 
-       lu_object_put(env, &dto->do_lu);
+       dt_object_put(env, dto);
 
        rc = lod_prepare_distribute_txn(env, lod);
        if (rc != 0)
 
        rc = lod_prepare_distribute_txn(env, lod);
        if (rc != 0)
@@ -1225,7 +1225,7 @@ static int lod_prepare(const struct lu_env *env, struct lu_device *pdev,
                GOTO(out_put, rc);
 
 out_put:
                GOTO(out_put, rc);
 
 out_put:
-       lu_object_put(env, &root->do_lu);
+       dt_object_put(env, root);
 
        RETURN(rc);
 }
 
        RETURN(rc);
 }
index 1c1db0b..fea2d33 100644 (file)
@@ -899,7 +899,7 @@ out:
        if (rc != 0) {
                for (i = 0; i < stripe_len; i++)
                        if (stripe[i] != NULL)
        if (rc != 0) {
                for (i = 0; i < stripe_len; i++)
                        if (stripe[i] != NULL)
-                               lu_object_put(env, &stripe[i]->do_lu);
+                               dt_object_put(env, stripe[i]);
 
                OBD_FREE(stripe, sizeof(stripe[0]) * stripe_len);
                lo->ldo_stripenr = 0;
 
                OBD_FREE(stripe, sizeof(stripe[0]) * stripe_len);
                lo->ldo_stripenr = 0;
index cb15551..1e939b0 100644 (file)
@@ -1831,7 +1831,7 @@ out_put:
        if (rc < 0) {
                for (i = 0; i < stripe_count; i++)
                        if (stripe[i] != NULL)
        if (rc < 0) {
                for (i = 0; i < stripe_count; i++)
                        if (stripe[i] != NULL)
-                               lu_object_put(env, &stripe[i]->do_lu);
+                               dt_object_put(env, stripe[i]);
                OBD_FREE(stripe, sizeof(stripe[0]) * stripe_count);
                lo->ldo_stripenr = 0;
                lo->ldo_stripes_allocated = 0;
                OBD_FREE(stripe, sizeof(stripe[0]) * stripe_count);
                lo->ldo_stripenr = 0;
                lo->ldo_stripes_allocated = 0;
@@ -3101,8 +3101,7 @@ static void lod_ah_init(const struct lu_env *env,
 
                        spin_lock(&d->lod_lock);
                        if (d->lod_md_root != NULL)
 
                        spin_lock(&d->lod_lock);
                        if (d->lod_md_root != NULL)
-                               lu_object_put(env,
-                                             &d->lod_md_root->ldo_obj.do_lu);
+                               dt_object_put(env, &d->lod_md_root->ldo_obj);
                        d->lod_md_root = lroot;
                        spin_unlock(&d->lod_lock);
                }
                        d->lod_md_root = lroot;
                        spin_unlock(&d->lod_lock);
                }
@@ -4065,7 +4064,7 @@ void lod_object_free_striping(const struct lu_env *env, struct lod_object *lo)
 
                for (i = 0; i < lo->ldo_stripenr; i++) {
                        if (lo->ldo_stripe[i])
 
                for (i = 0; i < lo->ldo_stripenr; i++) {
                        if (lo->ldo_stripe[i])
-                               lu_object_put(env, &lo->ldo_stripe[i]->do_lu);
+                               dt_object_put(env, lo->ldo_stripe[i]);
                }
 
                len = sizeof(struct dt_object *) * lo->ldo_stripes_allocated;
                }
 
                len = sizeof(struct dt_object *) * lo->ldo_stripes_allocated;
index 7defc4a..8621376 100644 (file)
@@ -1533,7 +1533,7 @@ static int lod_alloc_qos(const struct lu_env *env, struct lod_object *lo,
                          lod2obd(lod)->obd_name, stripe_cnt, nfound);
                for (i = 0; i < nfound; i++) {
                        LASSERT(stripe[i] != NULL);
                          lod2obd(lod)->obd_name, stripe_cnt, nfound);
                for (i = 0; i < nfound; i++) {
                        LASSERT(stripe[i] != NULL);
-                       lu_object_put(env, &stripe[i]->do_lu);
+                       dt_object_put(env, stripe[i]);
                        stripe[i] = NULL;
                }
 
                        stripe[i] = NULL;
                }
 
@@ -1895,7 +1895,7 @@ int lod_qos_prep_create(const struct lu_env *env, struct lod_object *lo,
                if (rc < 0) {
                        for (i = 0; i < stripe_len; i++)
                                if (stripe[i] != NULL)
                if (rc < 0) {
                        for (i = 0; i < stripe_len; i++)
                                if (stripe[i] != NULL)
-                                       lu_object_put(env, &stripe[i]->do_lu);
+                                       dt_object_put(env, stripe[i]);
 
                        OBD_FREE(stripe, sizeof(stripe[0]) * stripe_len);
                        lo->ldo_stripenr = 0;
 
                        OBD_FREE(stripe, sizeof(stripe[0]) * stripe_len);
                        lo->ldo_stripenr = 0;
index ca63154..620615b 100644 (file)
@@ -984,10 +984,10 @@ int mdd_local_file_create(const struct lu_env *env, struct mdd_device *mdd,
        *fid = *lu_object_fid(&dto->do_lu);
        /* since stack is not fully set up the local_storage uses own stack
         * and we should drop its object from cache */
        *fid = *lu_object_fid(&dto->do_lu);
        /* since stack is not fully set up the local_storage uses own stack
         * and we should drop its object from cache */
-       lu_object_put_nocache(env, &dto->do_lu);
+       dt_object_put_nocache(env, dto);
        EXIT;
 out_put:
        EXIT;
 out_put:
-       lu_object_put(env, &parent->do_lu);
+       dt_object_put(env, parent);
        return rc;
 }
 
        return rc;
 }
 
index 336f073..b8bb33b 100644 (file)
@@ -539,7 +539,7 @@ int orph_index_init(const struct lu_env *env, struct mdd_device *mdd)
        if (!dt_try_as_dir(env, d)) {
                CERROR("%s: \"%s\" is not an index: rc = %d\n",
                       mdd2obd_dev(mdd)->obd_name, orph_index_name, rc);
        if (!dt_try_as_dir(env, d)) {
                CERROR("%s: \"%s\" is not an index: rc = %d\n",
                       mdd2obd_dev(mdd)->obd_name, orph_index_name, rc);
-               lu_object_put(env, &d->do_lu);
+               dt_object_put(env, d);
                RETURN(-ENOTDIR);
        }
        mdd->mdd_orphans = d;
                RETURN(-ENOTDIR);
        }
        mdd->mdd_orphans = d;
@@ -548,12 +548,12 @@ int orph_index_init(const struct lu_env *env, struct mdd_device *mdd)
 
 void orph_index_fini(const struct lu_env *env, struct mdd_device *mdd)
 {
 
 void orph_index_fini(const struct lu_env *env, struct mdd_device *mdd)
 {
-        ENTRY;
-        if (mdd->mdd_orphans != NULL) {
-                lu_object_put(env, &mdd->mdd_orphans->do_lu);
-                mdd->mdd_orphans = NULL;
-        }
-        EXIT;
+       ENTRY;
+       if (mdd->mdd_orphans != NULL) {
+               dt_object_put(env, mdd->mdd_orphans);
+               mdd->mdd_orphans = NULL;
+       }
+       EXIT;
 }
 
 static int __mdd_orphan_cleanup(void *args)
 }
 
 static int __mdd_orphan_cleanup(void *args)
index 7b19c21..1146f7f 100644 (file)
@@ -815,7 +815,7 @@ static int mgc_fs_setup(const struct lu_env *env, struct obd_device *obd,
        dto = local_file_find_or_create(env, cli->cl_mgc_los, root,
                                        MOUNT_CONFIGS_DIR,
                                        S_IFDIR | S_IRUGO | S_IWUSR | S_IXUGO);
        dto = local_file_find_or_create(env, cli->cl_mgc_los, root,
                                        MOUNT_CONFIGS_DIR,
                                        S_IFDIR | S_IRUGO | S_IWUSR | S_IXUGO);
-       lu_object_put_nocache(env, &root->do_lu);
+       dt_object_put_nocache(env, root);
        if (IS_ERR(dto))
                GOTO(out_los, rc = PTR_ERR(dto));
 
        if (IS_ERR(dto))
                GOTO(out_los, rc = PTR_ERR(dto));
 
@@ -834,7 +834,7 @@ static int mgc_fs_setup(const struct lu_env *env, struct obd_device *obd,
        EXIT;
 out_llog:
        if (rc) {
        EXIT;
 out_llog:
        if (rc) {
-               lu_object_put(env, &cli->cl_mgc_configs_dir->do_lu);
+               dt_object_put(env, cli->cl_mgc_configs_dir);
                cli->cl_mgc_configs_dir = NULL;
        }
 out_los:
                cli->cl_mgc_configs_dir = NULL;
        }
 out_los:
@@ -855,7 +855,7 @@ static int mgc_fs_cleanup(const struct lu_env *env, struct obd_device *obd)
 
        mgc_local_llog_fini(env, obd);
 
 
        mgc_local_llog_fini(env, obd);
 
-       lu_object_put_nocache(env, &cli->cl_mgc_configs_dir->do_lu);
+       dt_object_put_nocache(env, cli->cl_mgc_configs_dir);
        cli->cl_mgc_configs_dir = NULL;
 
        local_oid_storage_fini(env, cli->cl_mgc_los);
        cli->cl_mgc_configs_dir = NULL;
 
        local_oid_storage_fini(env, cli->cl_mgc_los);
index b4c745d..217b41c 100644 (file)
@@ -153,7 +153,7 @@ int mgs_fs_setup(const struct lu_env *env, struct mgs_device *mgs)
                GOTO(out_root, rc = PTR_ERR(o));
 
        if (!dt_try_as_dir(env, o)) {
                GOTO(out_root, rc = PTR_ERR(o));
 
        if (!dt_try_as_dir(env, o)) {
-               lu_object_put(env, &o->do_lu);
+               dt_object_put(env, o);
                GOTO(out_root, rc = -ENOTDIR);
        }
 
                GOTO(out_root, rc = -ENOTDIR);
        }
 
@@ -174,13 +174,13 @@ int mgs_fs_setup(const struct lu_env *env, struct mgs_device *mgs)
                                                        nm_config_file_obj,
                                                        &dt_nodemap_features);
                if (rc < 0) {
                                                        nm_config_file_obj,
                                                        &dt_nodemap_features);
                if (rc < 0) {
-                       lu_object_put(env, &nm_config_file_obj->do_lu);
+                       dt_object_put(env, nm_config_file_obj);
                        GOTO(out_configs, rc);
                }
        }
        nm_config_file = nm_config_file_register_mgs(env, nm_config_file_obj,
                                                     mgs->mgs_los);
                        GOTO(out_configs, rc);
                }
        }
        nm_config_file = nm_config_file_register_mgs(env, nm_config_file_obj,
                                                     mgs->mgs_los);
-       lu_object_put(env, &nm_config_file_obj->do_lu);
+       dt_object_put(env, nm_config_file_obj);
        if (IS_ERR(nm_config_file)) {
                CERROR("%s: error loading nodemap config file, file must be "
                       "removed via ldiskfs: rc = %ld\n",
        if (IS_ERR(nm_config_file)) {
                CERROR("%s: error loading nodemap config file, file must be "
                       "removed via ldiskfs: rc = %ld\n",
@@ -204,11 +204,11 @@ out_nm:
        }
 out_configs:
        if (rc < 0) {
        }
 out_configs:
        if (rc < 0) {
-               lu_object_put(env, &mgs->mgs_configs_dir->do_lu);
+               dt_object_put(env, mgs->mgs_configs_dir);
                mgs->mgs_configs_dir = NULL;
        }
 out_root:
                mgs->mgs_configs_dir = NULL;
        }
 out_root:
-       lu_object_put(env, &root->do_lu);
+       dt_object_put(env, root);
 out_los:
        if (rc) {
                local_oid_storage_fini(env, mgs->mgs_los);
 out_los:
        if (rc) {
                local_oid_storage_fini(env, mgs->mgs_los);
@@ -223,11 +223,11 @@ out:
 int mgs_fs_cleanup(const struct lu_env *env, struct mgs_device *mgs)
 {
        if (mgs->mgs_configs_dir) {
 int mgs_fs_cleanup(const struct lu_env *env, struct mgs_device *mgs)
 {
        if (mgs->mgs_configs_dir) {
-               lu_object_put(env, &mgs->mgs_configs_dir->do_lu);
+               dt_object_put(env, mgs->mgs_configs_dir);
                mgs->mgs_configs_dir = NULL;
        }
        if (mgs->mgs_nidtbl_dir) {
                mgs->mgs_configs_dir = NULL;
        }
        if (mgs->mgs_nidtbl_dir) {
-               lu_object_put(env, &mgs->mgs_nidtbl_dir->do_lu);
+               dt_object_put(env, mgs->mgs_nidtbl_dir);
                mgs->mgs_nidtbl_dir = NULL;
        }
        if (mgs->mgs_obd->u.obt.obt_nodemap_config_file != NULL) {
                mgs->mgs_nidtbl_dir = NULL;
        }
        if (mgs->mgs_obd->u.obt.obt_nodemap_config_file != NULL) {
index fecd6d5..1e24fe8 100644 (file)
@@ -250,7 +250,7 @@ static int nidtbl_update_version(const struct lu_env *env,
 out:
        dt_trans_stop(env, mgs->mgs_bottom, th);
 out_put:
 out:
        dt_trans_stop(env, mgs->mgs_bottom, th);
 out_put:
-       lu_object_put(env, &fsdb->do_lu);
+       dt_object_put(env, fsdb);
        RETURN(rc);
 }
 
        RETURN(rc);
 }
 
@@ -298,7 +298,7 @@ static int nidtbl_read_version(const struct lu_env *env,
                CERROR("%s: read version file %s error %d\n",
                       mgs->mgs_obd->obd_name, tbl->mn_fsdb->fsdb_name, rc);
        }
                CERROR("%s: read version file %s error %d\n",
                       mgs->mgs_obd->obd_name, tbl->mn_fsdb->fsdb_name, rc);
        }
-       lu_object_put(env, &fsdb->do_lu);
+       dt_object_put(env, fsdb);
        RETURN(rc);
 }
 
        RETURN(rc);
 }
 
index f5f338b..3f164f0 100644 (file)
@@ -259,23 +259,25 @@ EXPORT_SYMBOL(dt_locate_at);
 /**
  * find an object named \a entry in given \a dfh->dfh_o directory.
  */
 /**
  * find an object named \a entry in given \a dfh->dfh_o directory.
  */
-static int dt_find_entry(const struct lu_env *env, const char *entry, void *data)
+static int dt_find_entry(const struct lu_env *env, const char *entry,
+                        void *data)
 {
 {
-        struct dt_find_hint  *dfh = data;
-        struct dt_device     *dt = dfh->dfh_dt;
-        struct lu_fid        *fid = dfh->dfh_fid;
-        struct dt_object     *obj = dfh->dfh_o;
-        int                   result;
-
-        result = dt_lookup_dir(env, obj, entry, fid);
-        lu_object_put(env, &obj->do_lu);
-        if (result == 0) {
-                obj = dt_locate(env, dt, fid);
-                if (IS_ERR(obj))
-                        result = PTR_ERR(obj);
-        }
-        dfh->dfh_o = obj;
-        return result;
+       struct dt_find_hint *dfh = data;
+       struct dt_device *dt = dfh->dfh_dt;
+       struct lu_fid *fid = dfh->dfh_fid;
+       struct dt_object *obj = dfh->dfh_o;
+       int rc;
+
+       rc = dt_lookup_dir(env, obj, entry, fid);
+       dt_object_put(env, obj);
+       if (rc == 0) {
+               obj = dt_locate(env, dt, fid);
+               if (IS_ERR(obj))
+                       rc = PTR_ERR(obj);
+       }
+       dfh->dfh_o = obj;
+
+       return rc;
 }
 
 /**
 }
 
 /**
@@ -364,24 +366,22 @@ static struct dt_object *dt_reg_open(const struct lu_env *env,
  *      \param  dt      dt device
  *      \param  fid     on success, object fid is stored in *fid
  */
  *      \param  dt      dt device
  *      \param  fid     on success, object fid is stored in *fid
  */
-struct dt_object *dt_store_open(const struct lu_env *env,
-                                struct dt_device *dt,
-                                const char *dirname,
-                                const char *filename,
-                                struct lu_fid *fid)
+struct dt_object *dt_store_open(const struct lu_env *env, struct dt_device *dt,
+                               const char *dirname, const char *filename,
+                               struct lu_fid *fid)
 {
 {
-        struct dt_object *file;
-        struct dt_object *dir;
-
-        dir = dt_store_resolve(env, dt, dirname, fid);
-        if (!IS_ERR(dir)) {
-                file = dt_reg_open(env, dt, dir,
-                                   filename, fid);
-                lu_object_put(env, &dir->do_lu);
-        } else {
-                file = dir;
-        }
-        return file;
+       struct dt_object *file;
+       struct dt_object *dir;
+
+       dir = dt_store_resolve(env, dt, dirname, fid);
+       if (!IS_ERR(dir)) {
+               file = dt_reg_open(env, dt, dir, filename, fid);
+               dt_object_put(env, dir);
+       } else {
+               file = dir;
+       }
+
+       return file;
 }
 
 struct dt_object *dt_find_or_create(const struct lu_env *env,
 }
 
 struct dt_object *dt_find_or_create(const struct lu_env *env,
@@ -427,15 +427,16 @@ struct dt_object *dt_find_or_create(const struct lu_env *env,
                 GOTO(unlock, rc);
         LASSERT(dt_object_exists(dto));
 unlock:
                 GOTO(unlock, rc);
         LASSERT(dt_object_exists(dto));
 unlock:
-        dt_write_unlock(env, dto);
+       dt_write_unlock(env, dto);
 trans_stop:
 trans_stop:
-        dt_trans_stop(env, dt, th);
+       dt_trans_stop(env, dt, th);
 out:
 out:
-        if (rc) {
-                lu_object_put(env, &dto->do_lu);
-                RETURN(ERR_PTR(rc));
-        }
-        RETURN(dto);
+       if (rc) {
+               dt_object_put(env, dto);
+               dto = ERR_PTR(rc);
+       }
+
+       RETURN(dto);
 }
 EXPORT_SYMBOL(dt_find_or_create);
 
 }
 EXPORT_SYMBOL(dt_find_or_create);
 
@@ -992,7 +993,7 @@ int dt_index_read(const struct lu_env *env, struct dt_device *dev,
 
        GOTO(out, rc);
 out:
 
        GOTO(out, rc);
 out:
-       lu_object_put(env, &obj->do_lu);
+       dt_object_put(env, obj);
        return rc;
 }
 EXPORT_SYMBOL(dt_index_read);
        return rc;
 }
 EXPORT_SYMBOL(dt_index_read);
index 551a949..2f976e9 100644 (file)
@@ -1137,7 +1137,7 @@ static struct dt_object *llog_osd_dir_get(const struct lu_env *env,
                dir = dt_locate(env, dt, &dti->dti_fid);
 
                if (!IS_ERR(dir) && !dt_try_as_dir(env, dir)) {
                dir = dt_locate(env, dt, &dti->dti_fid);
 
                if (!IS_ERR(dir) && !dt_try_as_dir(env, dir)) {
-                       lu_object_put(env, &dir->do_lu);
+                       dt_object_put(env, dir);
                        return ERR_PTR(-ENOTDIR);
                }
        } else {
                        return ERR_PTR(-ENOTDIR);
                }
        } else {
@@ -1236,7 +1236,7 @@ static int llog_osd_open(const struct lu_env *env, struct llog_handle *handle,
                dt_read_lock(env, llog_dir, 0);
                rc = dt_lookup_dir(env, llog_dir, name, &lgi->lgi_fid);
                dt_read_unlock(env, llog_dir);
                dt_read_lock(env, llog_dir, 0);
                rc = dt_lookup_dir(env, llog_dir, name, &lgi->lgi_fid);
                dt_read_unlock(env, llog_dir);
-               lu_object_put(env, &llog_dir->do_lu);
+               dt_object_put(env, llog_dir);
                if (rc == -ENOENT && open_param == LLOG_OPEN_NEW) {
                        /* generate fid for new llog */
                        rc = local_object_fid_generate(env, los,
                if (rc == -ENOENT && open_param == LLOG_OPEN_NEW) {
                        /* generate fid for new llog */
                        rc = local_object_fid_generate(env, los,
@@ -1271,7 +1271,7 @@ generate:
                       ", skipping\n",
                       o->do_lu.lo_dev->ld_obd->obd_name,
                       PFID(lu_object_fid(&o->do_lu)));
                       ", skipping\n",
                       o->do_lu.lo_dev->ld_obd->obd_name,
                       PFID(lu_object_fid(&o->do_lu)));
-               lu_object_put(env, &o->do_lu);
+               dt_object_put(env, o);
                /* just skip this llog ID, we shouldn't delete it because we
                 * don't know exactly what is its purpose and state. */
                goto generate;
                /* just skip this llog ID, we shouldn't delete it because we
                 * don't know exactly what is its purpose and state. */
                goto generate;
@@ -1290,7 +1290,7 @@ after_open:
        RETURN(rc);
 
 out_put:
        RETURN(rc);
 
 out_put:
-       lu_object_put(env, &o->do_lu);
+       dt_object_put(env, o);
 out_name:
        if (handle->lgh_name != NULL)
                OBD_FREE(handle->lgh_name, strlen(name) + 1);
 out_name:
        if (handle->lgh_name != NULL)
                OBD_FREE(handle->lgh_name, strlen(name) + 1);
@@ -1337,7 +1337,7 @@ struct dt_object *llog_osd_get_regular_fid_dir(const struct lu_env *env,
                RETURN(dir);
 
        if (!dt_try_as_dir(env, dir)) {
                RETURN(dir);
 
        if (!dt_try_as_dir(env, dir)) {
-               lu_object_put(env, &dir->do_lu);
+               dt_object_put(env, dir);
                RETURN(ERR_PTR(-ENOTDIR));
        }
 
                RETURN(ERR_PTR(-ENOTDIR));
        }
 
@@ -1392,7 +1392,7 @@ llog_osd_regular_fid_add_name_entry(const struct lu_env *env,
        }
        dt_write_unlock(env, dir);
 
        }
        dt_write_unlock(env, dir);
 
-       lu_object_put(env, &dir->do_lu);
+       dt_object_put(env, dir);
        RETURN(rc);
 }
 
        RETURN(rc);
 }
 
@@ -1469,7 +1469,7 @@ static int llog_osd_declare_create(const struct lu_env *env,
                rc = dt_declare_insert(env, llog_dir,
                                       (struct dt_rec *)rec,
                                       (struct dt_key *)res->lgh_name, th);
                rc = dt_declare_insert(env, llog_dir,
                                       (struct dt_rec *)rec,
                                       (struct dt_key *)res->lgh_name, th);
-               lu_object_put(env, &llog_dir->do_lu);
+               dt_object_put(env, llog_dir);
                if (rc)
                        CERROR("%s: can't declare named llog %s: rc = %d\n",
                               o->do_lu.lo_dev->ld_obd->obd_name,
                if (rc)
                        CERROR("%s: can't declare named llog %s: rc = %d\n",
                               o->do_lu.lo_dev->ld_obd->obd_name,
@@ -1558,7 +1558,7 @@ static int llog_osd_create(const struct lu_env *env, struct llog_handle *res,
                               (struct dt_key *)res->lgh_name,
                               th, 1);
                dt_read_unlock(env, llog_dir);
                               (struct dt_key *)res->lgh_name,
                               th, 1);
                dt_read_unlock(env, llog_dir);
-               lu_object_put(env, &llog_dir->do_lu);
+               dt_object_put(env, llog_dir);
                if (rc)
                        CERROR("%s: can't create named llog %s: rc = %d\n",
                               o->do_lu.lo_dev->ld_obd->obd_name,
                if (rc)
                        CERROR("%s: can't create named llog %s: rc = %d\n",
                               o->do_lu.lo_dev->ld_obd->obd_name,
@@ -1591,11 +1591,11 @@ static int llog_osd_close(const struct lu_env *env, struct llog_handle *handle)
        if (handle->lgh_ctxt->loc_flags & LLOG_CTXT_FLAG_NORMAL_FID) {
                /* Remove the object from the cache, otherwise it may
                 * hold LOD being released during cleanup process */
        if (handle->lgh_ctxt->loc_flags & LLOG_CTXT_FLAG_NORMAL_FID) {
                /* Remove the object from the cache, otherwise it may
                 * hold LOD being released during cleanup process */
-               lu_object_put_nocache(env, &handle->lgh_obj->do_lu);
+               dt_object_put_nocache(env, handle->lgh_obj);
                LASSERT(handle->private_data == NULL);
                RETURN(rc);
        } else {
                LASSERT(handle->private_data == NULL);
                RETURN(rc);
        } else {
-               lu_object_put(env, &handle->lgh_obj->do_lu);
+               dt_object_put(env, handle->lgh_obj);
        }
        los = handle->private_data;
        LASSERT(los);
        }
        los = handle->private_data;
        LASSERT(los);
@@ -1650,7 +1650,7 @@ llog_osd_regular_fid_del_name_entry(const struct lu_env *env,
        }
        dt_write_unlock(env, dir);
 
        }
        dt_write_unlock(env, dir);
 
-       lu_object_put(env, &dir->do_lu);
+       dt_object_put(env, dir);
        RETURN(rc);
 }
 
        RETURN(rc);
 }
 
@@ -1710,7 +1710,7 @@ static int llog_osd_declare_destroy(const struct lu_env *env,
 
 out_put:
        if (!(IS_ERR_OR_NULL(llog_dir)))
 
 out_put:
        if (!(IS_ERR_OR_NULL(llog_dir)))
-               lu_object_put(env, &llog_dir->do_lu);
+               dt_object_put(env, llog_dir);
 
        RETURN(rc);
 }
 
        RETURN(rc);
 }
@@ -1781,7 +1781,7 @@ static int llog_osd_destroy(const struct lu_env *env,
 out_unlock:
        dt_write_unlock(env, o);
        if (!(IS_ERR_OR_NULL(llog_dir)))
 out_unlock:
        dt_write_unlock(env, o);
        if (!(IS_ERR_OR_NULL(llog_dir)))
-               lu_object_put(env, &llog_dir->do_lu);
+               dt_object_put(env, llog_dir);
        RETURN(rc);
 }
 
        RETURN(rc);
 }
 
@@ -2027,7 +2027,7 @@ out_trans:
 
        EXIT;
 out:
 
        EXIT;
 out:
-       lu_object_put(env, &o->do_lu);
+       dt_object_put(env, o);
        RETURN(rc);
 }
 EXPORT_SYMBOL(llog_osd_get_cat_list);
        RETURN(rc);
 }
 EXPORT_SYMBOL(llog_osd_get_cat_list);
@@ -2117,7 +2117,7 @@ int llog_osd_put_cat_list(const struct lu_env *env, struct dt_device *d,
 out_trans:
        dt_trans_stop(env, d, th);
 out:
 out_trans:
        dt_trans_stop(env, d, th);
 out:
-       lu_object_put(env, &o->do_lu);
+       dt_object_put(env, o);
        RETURN(rc);
 }
 EXPORT_SYMBOL(llog_osd_put_cat_list);
        RETURN(rc);
 }
 EXPORT_SYMBOL(llog_osd_put_cat_list);
index 735c976..b5382c1 100644 (file)
@@ -1341,7 +1341,7 @@ out_put:
        llog_ctxt_put(ctxt);
 
        if (obj != NULL)
        llog_ctxt_put(ctxt);
 
        if (obj != NULL)
-               lu_object_put(env, &obj->do_lu);
+               dt_object_put(env, obj);
 
        RETURN(rc);
 }
 
        RETURN(rc);
 }
index 453bedc..89b227b 100644 (file)
@@ -419,7 +419,7 @@ trans_stop:
        dt_trans_stop(env, ls->ls_osd, th);
 out:
        if (rc) {
        dt_trans_stop(env, ls->ls_osd, th);
 out:
        if (rc) {
-               lu_object_put_nocache(env, &dto->do_lu);
+               dt_object_put_nocache(env, dto);
                dto = ERR_PTR(rc);
        }
        RETURN(dto);
                dto = ERR_PTR(rc);
        }
        RETURN(dto);
@@ -515,7 +515,7 @@ struct dt_object *local_file_find_or_create_with_fid(const struct lu_env *env,
                         * have to open the object in other device stack */
                        if (!IS_ERR(dto)) {
                                dti->dti_fid = dto->do_lu.lo_header->loh_fid;
                         * have to open the object in other device stack */
                        if (!IS_ERR(dto)) {
                                dti->dti_fid = dto->do_lu.lo_header->loh_fid;
-                               lu_object_put_nocache(env, &dto->do_lu);
+                               dt_object_put_nocache(env, dto);
                                dto = dt_locate(env, dt, &dti->dti_fid);
                        }
                        ls_device_put(env, ls);
                                dto = dt_locate(env, dt, &dti->dti_fid);
                        }
                        ls_device_put(env, ls);
@@ -611,7 +611,7 @@ local_index_find_or_create_with_fid(const struct lu_env *env,
                         * have to open the object in other device stack */
                        if (!IS_ERR(dto)) {
                                dti->dti_fid = dto->do_lu.lo_header->loh_fid;
                         * have to open the object in other device stack */
                        if (!IS_ERR(dto)) {
                                dti->dti_fid = dto->do_lu.lo_header->loh_fid;
-                               lu_object_put_nocache(env, &dto->do_lu);
+                               dt_object_put_nocache(env, dto);
                                dto = dt_locate(env, dt, &dti->dti_fid);
                        }
                        ls_device_put(env, ls);
                                dto = dt_locate(env, dt, &dti->dti_fid);
                        }
                        ls_device_put(env, ls);
@@ -694,7 +694,7 @@ unlock:
 stop:
        dt_trans_stop(env, dt, th);
 out:
 stop:
        dt_trans_stop(env, dt, th);
 out:
-       lu_object_put_nocache(env, &dto->do_lu);
+       dt_object_put_nocache(env, dto);
        return rc;
 }
 EXPORT_SYMBOL(local_object_unlink);
        return rc;
 }
 EXPORT_SYMBOL(local_object_unlink);
@@ -747,7 +747,7 @@ static int lastid_compat_check(const struct lu_env *env, struct dt_device *dev,
        snprintf(dti->dti_buf, sizeof(dti->dti_buf), "seq-%#llx-lastid",
                 lastid_seq);
        rc = dt_lookup_dir(env, root, dti->dti_buf, &dti->dti_fid);
        snprintf(dti->dti_buf, sizeof(dti->dti_buf), "seq-%#llx-lastid",
                 lastid_seq);
        rc = dt_lookup_dir(env, root, dti->dti_buf, &dti->dti_fid);
-       lu_object_put_nocache(env, &root->do_lu);
+       dt_object_put_nocache(env, root);
        if (rc == -ENOENT) {
                /* old llog lastid accessed by FID only */
                if (lastid_seq != FID_SEQ_LLOG)
        if (rc == -ENOENT) {
                /* old llog lastid accessed by FID only */
                if (lastid_seq != FID_SEQ_LLOG)
@@ -760,7 +760,7 @@ static int lastid_compat_check(const struct lu_env *env, struct dt_device *dev,
                        return PTR_ERR(o);
 
                if (!dt_object_exists(o)) {
                        return PTR_ERR(o);
 
                if (!dt_object_exists(o)) {
-                       lu_object_put_nocache(env, &o->do_lu);
+                       dt_object_put_nocache(env, o);
                        return 0;
                }
                CDEBUG(D_INFO, "Found old llog lastid file\n");
                        return 0;
                }
                CDEBUG(D_INFO, "Found old llog lastid file\n");
@@ -790,7 +790,7 @@ static int lastid_compat_check(const struct lu_env *env, struct dt_device *dev,
                CERROR("%s: failed to read seq-%#llx-lastid: rc = %d\n",
                       o->do_lu.lo_dev->ld_obd->obd_name, lastid_seq, rc);
        }
                CERROR("%s: failed to read seq-%#llx-lastid: rc = %d\n",
                       o->do_lu.lo_dev->ld_obd->obd_name, lastid_seq, rc);
        }
-       lu_object_put_nocache(env, &o->do_lu);
+       dt_object_put_nocache(env, o);
        if (rc == 0)
                *first_oid = le32_to_cpu(losd.lso_next_oid);
        return rc;
        if (rc == 0)
                *first_oid = le32_to_cpu(losd.lso_next_oid);
        return rc;
@@ -927,7 +927,7 @@ out_los:
                OBD_FREE_PTR(*los);
                *los = NULL;
                if (o != NULL && !IS_ERR(o))
                OBD_FREE_PTR(*los);
                *los = NULL;
                if (o != NULL && !IS_ERR(o))
-                       lu_object_put_nocache(env, &o->do_lu);
+                       dt_object_put_nocache(env, o);
        } else {
                (*los)->los_seq = fid_seq(first_fid);
                (*los)->los_last_oid = le64_to_cpu(lastid);
        } else {
                (*los)->los_seq = fid_seq(first_fid);
                (*los)->los_last_oid = le64_to_cpu(lastid);
@@ -964,7 +964,7 @@ void local_oid_storage_fini(const struct lu_env *env,
        }
 
        if (los->los_obj)
        }
 
        if (los->los_obj)
-               lu_object_put_nocache(env, &los->los_obj->do_lu);
+               dt_object_put_nocache(env, los->los_obj);
        list_del(&los->los_list);
        OBD_FREE_PTR(los);
        mutex_unlock(&ls->ls_los_mutex);
        list_del(&los->los_list);
        OBD_FREE_PTR(los);
        mutex_unlock(&ls->ls_los_mutex);
index ea4c18a..1c585d6 100644 (file)
@@ -755,11 +755,11 @@ echo_md_local_file_create(const struct lu_env *env, struct echo_md_device *emd,
        *fid = *lu_object_fid(&dto->do_lu);
        /* since stack is not fully set up the local_storage uses own stack
         * and we should drop its object from cache */
        *fid = *lu_object_fid(&dto->do_lu);
        /* since stack is not fully set up the local_storage uses own stack
         * and we should drop its object from cache */
-       lu_object_put_nocache(env, &dto->do_lu);
+       dt_object_put_nocache(env, dto);
 
        EXIT;
 out_put:
 
        EXIT;
 out_put:
-       lu_object_put(env, &parent->do_lu);
+       dt_object_put(env, parent);
        RETURN(rc);
 }
 
        RETURN(rc);
 }
 
index ea3d87b..25e59c2 100644 (file)
@@ -111,7 +111,7 @@ void ofd_seq_put(const struct lu_env *env, struct ofd_seq *oseq)
        if (atomic_dec_and_test(&oseq->os_refc)) {
                LASSERT(list_empty(&oseq->os_list));
                LASSERT(oseq->os_lastid_obj != NULL);
        if (atomic_dec_and_test(&oseq->os_refc)) {
                LASSERT(list_empty(&oseq->os_list));
                LASSERT(oseq->os_lastid_obj != NULL);
-               lu_object_put(env, &oseq->os_lastid_obj->do_lu);
+               dt_object_put(env, oseq->os_lastid_obj);
                OBD_FREE_PTR(oseq);
        }
 }
                OBD_FREE_PTR(oseq);
        }
 }
@@ -680,7 +680,7 @@ void ofd_fs_cleanup(const struct lu_env *env, struct ofd_device *ofd)
                      ofd_name(ofd), rc);
 
        if (ofd->ofd_health_check_file) {
                      ofd_name(ofd), rc);
 
        if (ofd->ofd_health_check_file) {
-               lu_object_put(env, &ofd->ofd_health_check_file->do_lu);
+               dt_object_put(env, ofd->ofd_health_check_file);
                ofd->ofd_health_check_file = NULL;
        }
 
                ofd->ofd_health_check_file = NULL;
        }
 
index 1e8dd7f..041d7e8 100644 (file)
@@ -403,7 +403,11 @@ int ofd_object_ff_load(const struct lu_env *env, struct ofd_object *fo);
 int ofd_precreate_objects(const struct lu_env *env, struct ofd_device *ofd,
                          u64 id, struct ofd_seq *oseq, int nr, int sync);
 
 int ofd_precreate_objects(const struct lu_env *env, struct ofd_device *ofd,
                          u64 id, struct ofd_seq *oseq, int nr, int sync);
 
-void ofd_object_put(const struct lu_env *env, struct ofd_object *fo);
+static inline void ofd_object_put(const struct lu_env *env,
+                                 struct ofd_object *fo)
+{
+       dt_object_put(env, &fo->ofo_obj);
+}
 int ofd_attr_set(const struct lu_env *env, struct ofd_object *fo,
                 struct lu_attr *la, struct filter_fid *ff);
 int ofd_object_punch(const struct lu_env *env, struct ofd_object *fo,
 int ofd_attr_set(const struct lu_env *env, struct ofd_object *fo,
                 struct lu_attr *la, struct filter_fid *ff);
 int ofd_object_punch(const struct lu_env *env, struct ofd_object *fo,
index bd2da51..bcb41db 100644 (file)
@@ -136,7 +136,7 @@ static void ofd_inconsistency_verify_one(const struct lu_env *env,
        fo->ofo_pfid_checking = 0;
        ofd_write_unlock(env, fo);
 
        fo->ofo_pfid_checking = 0;
        ofd_write_unlock(env, fo);
 
-       lu_object_put(env, &fo->ofo_obj.do_lu);
+       ofd_object_put(env, fo);
        OBD_FREE_PTR(oii);
 }
 
        OBD_FREE_PTR(oii);
 }
 
@@ -214,7 +214,7 @@ static int ofd_inconsistency_verification_main(void *args)
                fo->ofo_pfid_checking = 0;
                ofd_write_unlock(&env, fo);
 
                fo->ofo_pfid_checking = 0;
                ofd_write_unlock(&env, fo);
 
-               lu_object_put(&env, &fo->ofo_obj.do_lu);
+               ofd_object_put(&env, fo);
                OBD_FREE_PTR(oii);
                spin_lock(&ofd->ofd_inconsistency_lock);
        }
                OBD_FREE_PTR(oii);
                spin_lock(&ofd->ofd_inconsistency_lock);
        }
index fd0e74a..9b8af65 100644 (file)
@@ -166,17 +166,6 @@ int ofd_object_ff_load(const struct lu_env *env, struct ofd_object *fo)
 }
 
 /**
 }
 
 /**
- * Put OFD object reference.
- *
- * \param[in] env      execution environment
- * \param[in] fo       OFD object
- */
-void ofd_object_put(const struct lu_env *env, struct ofd_object *fo)
-{
-       lu_object_put(env, &fo->ofo_obj.do_lu);
-}
-
-/**
  * Precreate the given number \a nr of objects in the given sequence \a oseq.
  *
  * This function precreates new OST objects in the given sequence.
  * Precreate the given number \a nr of objects in the given sequence \a oseq.
  *
  * This function precreates new OST objects in the given sequence.
index c9a9ff5..552f834 100644 (file)
@@ -5216,17 +5216,6 @@ out:
        return rc;
 }
 
        return rc;
 }
 
-/**
- * Put the osd object once done with it.
- *
- * \param obj osd object that needs to be put
- */
-static inline void osd_object_put(const struct lu_env *env,
-                                  struct osd_object *obj)
-{
-        lu_object_put(env, &obj->oo_dt.do_lu);
-}
-
 static int osd_index_declare_ea_insert(const struct lu_env *env,
                                       struct dt_object *dt,
                                       const struct dt_rec *rec,
 static int osd_index_declare_ea_insert(const struct lu_env *env,
                                       struct dt_object *dt,
                                       const struct dt_rec *rec,
@@ -5430,7 +5419,6 @@ static struct dt_it *osd_it_iam_init(const struct lu_env *env,
 /**
  * free given Iterator.
  */
 /**
  * free given Iterator.
  */
-
 static void osd_it_iam_fini(const struct lu_env *env, struct dt_it *di)
 {
        struct osd_it_iam       *it  = (struct osd_it_iam *)di;
 static void osd_it_iam_fini(const struct lu_env *env, struct dt_it *di)
 {
        struct osd_it_iam       *it  = (struct osd_it_iam *)di;
@@ -5438,7 +5426,7 @@ static void osd_it_iam_fini(const struct lu_env *env, struct dt_it *di)
 
        iam_it_fini(&it->oi_it);
        osd_ipd_put(env, &obj->oo_dir->od_container, it->oi_ipd);
 
        iam_it_fini(&it->oi_it);
        osd_ipd_put(env, &obj->oo_dir->od_container, it->oi_ipd);
-       lu_object_put(env, &obj->oo_dt.do_lu);
+       osd_object_put(env, obj);
        OBD_FREE_PTR(it);
 }
 
        OBD_FREE_PTR(it);
 }
 
@@ -5743,7 +5731,7 @@ static void osd_it_ea_fini(const struct lu_env *env, struct dt_it *di)
 
        ENTRY;
        oie->oie_file.f_op->release(inode, &oie->oie_file);
 
        ENTRY;
        oie->oie_file.f_op->release(inode, &oie->oie_file);
-       lu_object_put(env, &obj->oo_dt.do_lu);
+       osd_object_put(env, obj);
        if (unlikely(oie->oie_buf != info->oti_it_ea_buf))
                OBD_FREE(oie->oie_buf, OSD_IT_EA_BUFSIZE);
        else
        if (unlikely(oie->oie_buf != info->oti_it_ea_buf))
                OBD_FREE(oie->oie_buf, OSD_IT_EA_BUFSIZE);
        else
index 90fa9a2..f23ee5f 100644 (file)
@@ -904,6 +904,17 @@ static inline struct super_block *osd_sb(const struct osd_device *dev)
        return dev->od_mnt->mnt_sb;
 }
 
        return dev->od_mnt->mnt_sb;
 }
 
+/**
+ * Put the osd object once done with it.
+ *
+ * \param obj osd object that needs to be put
+ */
+static inline void osd_object_put(const struct lu_env *env,
+                                 struct osd_object *obj)
+{
+       dt_object_put(env, &obj->oo_dt);
+}
+
 static inline int osd_object_is_root(const struct osd_object *obj)
 {
         return osd_sb(osd_obj2dev(obj))->s_root->d_inode == obj->oo_inode;
 static inline int osd_object_is_root(const struct osd_object *obj)
 {
         return osd_sb(osd_obj2dev(obj))->s_root->d_inode == obj->oo_inode;
index 3434634..25326bf 100644 (file)
@@ -475,7 +475,7 @@ static int osd_bufs_put(const struct lu_env *env, struct dt_object *dt,
                LASSERT(PageLocked(lnb[i].lnb_page));
                unlock_page(lnb[i].lnb_page);
                put_page(lnb[i].lnb_page);
                LASSERT(PageLocked(lnb[i].lnb_page));
                unlock_page(lnb[i].lnb_page);
                put_page(lnb[i].lnb_page);
-               lu_object_put(env, &dt->do_lu);
+               dt_object_put(env, dt);
                lnb[i].lnb_page = NULL;
        }
 
                lnb[i].lnb_page = NULL;
        }
 
index 4ef968b..3e7807a 100644 (file)
@@ -192,7 +192,7 @@ static void osd_it_acct_fini(const struct lu_env *env, struct dt_it *di)
        struct osd_quota_leaf *leaf, *tmp;
        ENTRY;
 
        struct osd_quota_leaf *leaf, *tmp;
        ENTRY;
 
-       lu_object_put(env, &it->oiq_obj->oo_dt.do_lu);
+       osd_object_put(env, it->oiq_obj);
 
        list_for_each_entry_safe(leaf, tmp, &it->oiq_list, oql_link) {
                list_del_init(&leaf->oql_link);
 
        list_for_each_entry_safe(leaf, tmp, &it->oiq_list, oql_link) {
                list_del_init(&leaf->oql_link);
@@ -712,7 +712,7 @@ int osd_quota_migration(const struct lu_env *env, struct dt_object *dt)
                        CERROR("%s: Old admin file %s doesn't exist, but is "
                               "still referenced in parent directory.\n",
                               osd->od_svname, fname);
                        CERROR("%s: Old admin file %s doesn't exist, but is "
                               "still referenced in parent directory.\n",
                               osd->od_svname, fname);
-                       lu_object_put(env, &admin->do_lu);
+                       dt_object_put(env, admin);
                        GOTO(out, rc = -ENOENT);
                }
 
                        GOTO(out, rc = -ENOENT);
                }
 
@@ -722,12 +722,12 @@ int osd_quota_migration(const struct lu_env *env, struct dt_object *dt)
                              "convert them into new format.\n",
                              osd->od_svname, fname);
 
                              "convert them into new format.\n",
                              osd->od_svname, fname);
 
-               lu_object_put(env, &admin->do_lu);
+               dt_object_put(env, admin);
                GOTO(out, rc = -EINVAL);
        }
 out:
        if (parent && !IS_ERR(parent))
                GOTO(out, rc = -EINVAL);
        }
 out:
        if (parent && !IS_ERR(parent))
-               lu_object_put(env, &parent->do_lu);
-       lu_object_put(env, &root->do_lu);
+               dt_object_put(env, parent);
+       dt_object_put(env, root);
        RETURN(rc);
 }
        RETURN(rc);
 }
index 203a3fd..9190f65 100644 (file)
@@ -182,7 +182,7 @@ static void osd_index_it_fini(const struct lu_env *env, struct dt_it *di)
        obj = it->ozi_obj;
 
        osd_zap_cursor_fini(it->ozi_zc);
        obj = it->ozi_obj;
 
        osd_zap_cursor_fini(it->ozi_zc);
-       lu_object_put(env, &obj->oo_dt.do_lu);
+       osd_object_put(env, obj);
        OBD_SLAB_FREE_PTR(it, osd_zapit_cachep);
 
        EXIT;
        OBD_SLAB_FREE_PTR(it, osd_zapit_cachep);
 
        EXIT;
@@ -477,17 +477,6 @@ static int osd_declare_dir_insert(const struct lu_env *env,
        RETURN(0);
 }
 
        RETURN(0);
 }
 
-/**
- * Put the osd object once done with it.
- *
- * \param obj osd object that needs to be put
- */
-static inline void osd_object_put(const struct lu_env *env,
-                                 struct osd_object *obj)
-{
-       lu_object_put(env, &obj->oo_dt.do_lu);
-}
-
 static int osd_seq_exists(const struct lu_env *env, struct osd_device *osd,
                          u64 seq)
 {
 static int osd_seq_exists(const struct lu_env *env, struct osd_device *osd,
                          u64 seq)
 {
index 54c9a6b..4ae2cc3 100644 (file)
@@ -436,6 +436,17 @@ static inline int osd_invariant(const struct osd_object *obj)
        return 1;
 }
 
        return 1;
 }
 
+/**
+ * Put the osd object once done with it.
+ *
+ * \param obj osd object that needs to be put
+ */
+static inline void osd_object_put(const struct lu_env *env,
+                                 struct osd_object *obj)
+{
+       dt_object_put(env, &obj->oo_dt);
+}
+
 static inline int osd_object_invariant(const struct lu_object *l)
 {
        return osd_invariant(osd_obj(l));
 static inline int osd_object_invariant(const struct lu_object *l)
 {
        return osd_invariant(osd_obj(l));
index d9ac3e7..2e9152c 100644 (file)
@@ -197,7 +197,7 @@ static void osd_it_acct_fini(const struct lu_env *env, struct dt_it *di)
        ENTRY;
 
        osd_zap_cursor_fini(it->oiq_zc);
        ENTRY;
 
        osd_zap_cursor_fini(it->oiq_zc);
-       lu_object_put(env, &it->oiq_obj->oo_dt.do_lu);
+       osd_object_put(env, it->oiq_obj);
        OBD_FREE_PTR(it);
 
        EXIT;
        OBD_FREE_PTR(it);
 
        EXIT;
index bb8b4b1..108c385 100644 (file)
@@ -183,7 +183,7 @@ static struct dt_object
        if (rc) {
                CERROR("%s: can't be initialized: rc = %d\n",
                       osp->opd_obd->obd_name, rc);
        if (rc) {
                CERROR("%s: can't be initialized: rc = %d\n",
                       osp->opd_obd->obd_name, rc);
-               lu_object_put(env, &dto->do_lu);
+               dt_object_put(env, dto);
                RETURN(ERR_PTR(rc));
        }
        RETURN(dto);
                RETURN(ERR_PTR(rc));
        }
        RETURN(dto);
@@ -283,7 +283,7 @@ out:
        /* object will be released in device cleanup path */
        CERROR("%s: can't initialize lov_objid: rc = %d\n",
               osp->opd_obd->obd_name, rc);
        /* object will be released in device cleanup path */
        CERROR("%s: can't initialize lov_objid: rc = %d\n",
               osp->opd_obd->obd_name, rc);
-       lu_object_put(env, &dto->do_lu);
+       dt_object_put(env, dto);
        osp->opd_last_used_oid_file = NULL;
        RETURN(rc);
 }
        osp->opd_last_used_oid_file = NULL;
        RETURN(rc);
 }
@@ -340,7 +340,7 @@ out:
        /* object will be released in device cleanup path */
        CERROR("%s: can't initialize lov_seq: rc = %d\n",
               osp->opd_obd->obd_name, rc);
        /* object will be released in device cleanup path */
        CERROR("%s: can't initialize lov_seq: rc = %d\n",
               osp->opd_obd->obd_name, rc);
-       lu_object_put(env, &dto->do_lu);
+       dt_object_put(env, dto);
        osp->opd_last_used_seq_file = NULL;
        RETURN(rc);
 }
        osp->opd_last_used_seq_file = NULL;
        RETURN(rc);
 }
@@ -410,11 +410,11 @@ static int osp_last_used_init(const struct lu_env *env, struct osp_device *osp)
 out:
        if (rc != 0) {
                if (osp->opd_last_used_oid_file != NULL) {
 out:
        if (rc != 0) {
                if (osp->opd_last_used_oid_file != NULL) {
-                       lu_object_put(env, &osp->opd_last_used_oid_file->do_lu);
+                       dt_object_put(env, osp->opd_last_used_oid_file);
                        osp->opd_last_used_oid_file = NULL;
                }
                if (osp->opd_last_used_seq_file != NULL) {
                        osp->opd_last_used_oid_file = NULL;
                }
                if (osp->opd_last_used_seq_file != NULL) {
-                       lu_object_put(env, &osp->opd_last_used_seq_file->do_lu);
+                       dt_object_put(env, osp->opd_last_used_seq_file);
                        osp->opd_last_used_seq_file = NULL;
                }
        }
                        osp->opd_last_used_seq_file = NULL;
                }
        }
@@ -432,12 +432,12 @@ static void osp_last_used_fini(const struct lu_env *env, struct osp_device *osp)
 {
        /* release last_used file */
        if (osp->opd_last_used_oid_file != NULL) {
 {
        /* release last_used file */
        if (osp->opd_last_used_oid_file != NULL) {
-               lu_object_put(env, &osp->opd_last_used_oid_file->do_lu);
+               dt_object_put(env, osp->opd_last_used_oid_file);
                osp->opd_last_used_oid_file = NULL;
        }
 
        if (osp->opd_last_used_seq_file != NULL) {
                osp->opd_last_used_oid_file = NULL;
        }
 
        if (osp->opd_last_used_seq_file != NULL) {
-               lu_object_put(env, &osp->opd_last_used_seq_file->do_lu);
+               dt_object_put(env, osp->opd_last_used_seq_file);
                osp->opd_last_used_seq_file = NULL;
        }
 }
                osp->opd_last_used_seq_file = NULL;
        }
 }
index ebecd8a..674078d 100644 (file)
@@ -240,7 +240,7 @@ void osp_update_request_destroy(const struct lu_env *env,
                        list_del_init(&obj->opo_invalidate_cb_list);
                        spin_unlock(&obj->opo_lock);
 
                        list_del_init(&obj->opo_invalidate_cb_list);
                        spin_unlock(&obj->opo_lock);
 
-                       lu_object_put(env, &obj->opo_obj.do_lu);
+                       dt_object_put(env, &obj->opo_obj);
                }
 
                if (env == &lenv)
                }
 
                if (env == &lenv)
@@ -527,7 +527,7 @@ static void osp_thandle_invalidate_object(const struct lu_env *env,
                list_del_init(&obj->opo_invalidate_cb_list);
                spin_unlock(&obj->opo_lock);
 
                list_del_init(&obj->opo_invalidate_cb_list);
                spin_unlock(&obj->opo_lock);
 
-               lu_object_put(env, &obj->opo_obj.do_lu);
+               dt_object_put(env, &obj->opo_obj);
        }
 }
 
        }
 }
 
index 4855df7..efed19e 100644 (file)
@@ -213,7 +213,7 @@ again:
                 * rewrite the config
                 */
                if (rc < 0) {
                 * rewrite the config
                 */
                if (rc < 0) {
-                       lu_object_put(env, &nm_obj->do_lu);
+                       dt_object_put(env, nm_obj);
 
                        if (create_new == NCFC_CREATE_NEW)
                                GOTO(out_root, nm_obj = ERR_PTR(rc));
 
                        if (create_new == NCFC_CREATE_NEW)
                                GOTO(out_root, nm_obj = ERR_PTR(rc));
@@ -226,7 +226,7 @@ again:
        }
 
 out_root:
        }
 
 out_root:
-       lu_object_put(env, &root_obj->do_lu);
+       dt_object_put(env, root_obj);
 out:
        return nm_obj;
 }
 out:
        return nm_obj;
 }
@@ -1032,7 +1032,7 @@ struct dt_object *nodemap_save_config_cache(const struct lu_env *env,
        mutex_unlock(&active_config_lock);
 
        if (rc < 0) {
        mutex_unlock(&active_config_lock);
 
        if (rc < 0) {
-               lu_object_put(env, &o->do_lu);
+               dt_object_put(env, o);
                o = ERR_PTR(rc);
        }
 
                o = ERR_PTR(rc);
        }
 
@@ -1059,7 +1059,7 @@ static void nodemap_save_all_caches(void)
                struct dt_object *o;
 
                /* put current config file so save conf can rewrite it */
                struct dt_object *o;
 
                /* put current config file so save conf can rewrite it */
-               lu_object_put_nocache(&env, &ncf->ncf_obj->do_lu);
+               dt_object_put_nocache(&env, ncf->ncf_obj);
                ncf->ncf_obj = NULL;
 
                o = nodemap_save_config_cache(&env, dev, ncf->ncf_los);
                ncf->ncf_obj = NULL;
 
                o = nodemap_save_config_cache(&env, dev, ncf->ncf_los);
@@ -1214,7 +1214,7 @@ void nm_config_file_deregister_mgs(const struct lu_env *env,
 
        nodemap_mgs_ncf = NULL;
        if (ncf->ncf_obj)
 
        nodemap_mgs_ncf = NULL;
        if (ncf->ncf_obj)
-               lu_object_put(env, &ncf->ncf_obj->do_lu);
+               dt_object_put(env, ncf->ncf_obj);
 
        OBD_FREE_PTR(ncf);
 
 
        OBD_FREE_PTR(ncf);
 
@@ -1235,7 +1235,7 @@ void nm_config_file_deregister_tgt(const struct lu_env *env,
        mutex_unlock(&ncf_list_lock);
 
        if (ncf->ncf_obj)
        mutex_unlock(&ncf_list_lock);
 
        if (ncf->ncf_obj)
-               lu_object_put(env, &ncf->ncf_obj->do_lu);
+               dt_object_put(env, ncf->ncf_obj);
 
        OBD_FREE_PTR(ncf);
 
 
        OBD_FREE_PTR(ncf);
 
index 9269ec9..af2e299 100644 (file)
@@ -84,7 +84,7 @@ lquota_disk_find_create(const struct lu_env *env, struct dt_device *dev,
        /* local_oid_storage_fini() will finalize the local storage device,
         * we have to open the object in another device stack */
        qti->qti_fid = obj->do_lu.lo_header->loh_fid;
        /* local_oid_storage_fini() will finalize the local storage device,
         * we have to open the object in another device stack */
        qti->qti_fid = obj->do_lu.lo_header->loh_fid;
-       lu_object_put_nocache(env, &obj->do_lu);
+       dt_object_put_nocache(env, obj);
        obj = dt_locate(env, dev, &qti->qti_fid);
        if (IS_ERR(obj))
                GOTO(out, obj);
        obj = dt_locate(env, dev, &qti->qti_fid);
        if (IS_ERR(obj))
                GOTO(out, obj);
@@ -196,7 +196,7 @@ struct dt_object *lquota_disk_dir_find_create(const struct lu_env *env,
        /* local_oid_storage_fini() will finalize the local storage device,
         * we have to open the object in another device stack */
        qti->qti_fid = qt_dir->do_lu.lo_header->loh_fid;
        /* local_oid_storage_fini() will finalize the local storage device,
         * we have to open the object in another device stack */
        qti->qti_fid = qt_dir->do_lu.lo_header->loh_fid;
-       lu_object_put_nocache(env, &qt_dir->do_lu);
+       dt_object_put_nocache(env, qt_dir);
        qt_dir = dt_locate(env, dev, &qti->qti_fid);
        if (IS_ERR(qt_dir))
                GOTO(out, rc = PTR_ERR(qt_dir));
        qt_dir = dt_locate(env, dev, &qti->qti_fid);
        if (IS_ERR(qt_dir))
                GOTO(out, rc = PTR_ERR(qt_dir));
@@ -206,12 +206,12 @@ struct dt_object *lquota_disk_dir_find_create(const struct lu_env *env,
        EXIT;
 out:
        if (parent != NULL && !IS_ERR(parent))
        EXIT;
 out:
        if (parent != NULL && !IS_ERR(parent))
-               lu_object_put(env, &parent->do_lu);
+               dt_object_put(env, parent);
        if (los != NULL)
                local_oid_storage_fini(env, los);
        if (rc) {
                if (qt_dir != NULL && !IS_ERR(qt_dir))
        if (los != NULL)
                local_oid_storage_fini(env, los);
        if (rc) {
                if (qt_dir != NULL && !IS_ERR(qt_dir))
-                       lu_object_put(env, &qt_dir->do_lu);
+                       dt_object_put(env, qt_dir);
                qt_dir = ERR_PTR(rc);
        }
        return qt_dir;
                qt_dir = ERR_PTR(rc);
        }
        return qt_dir;
@@ -282,7 +282,7 @@ struct dt_object *lquota_disk_glb_find_create(const struct lu_env *env,
                        CERROR("%s: failed to setup index operations for "DFID
                               " rc:%d\n", dev->dd_lu_dev.ld_obd->obd_name,
                               PFID(lu_object_fid(&glb_idx->do_lu)), rc);
                        CERROR("%s: failed to setup index operations for "DFID
                               " rc:%d\n", dev->dd_lu_dev.ld_obd->obd_name,
                               PFID(lu_object_fid(&glb_idx->do_lu)), rc);
-                       lu_object_put(env, &glb_idx->do_lu);
+                       dt_object_put(env, glb_idx);
                        glb_idx = ERR_PTR(rc);
                }
        }
                        glb_idx = ERR_PTR(rc);
                }
        }
@@ -342,7 +342,7 @@ struct dt_object *lquota_disk_slv_find(const struct lu_env *env,
                        CERROR("%s: failed to setup slave index operations for "
                               "%s, rc:%d\n", dev->dd_lu_dev.ld_obd->obd_name,
                               obd_uuid2str(uuid), rc);
                        CERROR("%s: failed to setup slave index operations for "
                               "%s, rc:%d\n", dev->dd_lu_dev.ld_obd->obd_name,
                               obd_uuid2str(uuid), rc);
-                       lu_object_put(env, &slv_idx->do_lu);
+                       dt_object_put(env, slv_idx);
                        slv_idx = ERR_PTR(rc);
                }
        }
                        slv_idx = ERR_PTR(rc);
                }
        }
@@ -437,7 +437,7 @@ struct dt_object *lquota_disk_slv_find_create(const struct lu_env *env,
                        CERROR("%s: failed to setup index operations for "DFID
                               " rc:%d\n", dev->dd_lu_dev.ld_obd->obd_name,
                               PFID(lu_object_fid(&slv_idx->do_lu)), rc);
                        CERROR("%s: failed to setup index operations for "DFID
                               " rc:%d\n", dev->dd_lu_dev.ld_obd->obd_name,
                               PFID(lu_object_fid(&slv_idx->do_lu)), rc);
-                       lu_object_put(env, &slv_idx->do_lu);
+                       dt_object_put(env, slv_idx);
                        slv_idx = ERR_PTR(rc);
                }
        }
                        slv_idx = ERR_PTR(rc);
                }
        }
index b7eea3d..a9e903b 100644 (file)
@@ -78,7 +78,7 @@ struct dt_object *acct_obj_lookup(const struct lu_env *env,
                RETURN(obj);
 
        if (!dt_object_exists(obj)) {
                RETURN(obj);
 
        if (!dt_object_exists(obj)) {
-               lu_object_put(env, &obj->do_lu);
+               dt_object_put(env, obj);
                RETURN(ERR_PTR(-ENOENT));
        }
 
                RETURN(ERR_PTR(-ENOENT));
        }
 
@@ -92,7 +92,7 @@ struct dt_object *acct_obj_lookup(const struct lu_env *env,
                               " acct object rc:%d\n",
                               dev->dd_lu_dev.ld_obd->obd_name,
                               QTYPE_NAME(type), rc);
                               " acct object rc:%d\n",
                               dev->dd_lu_dev.ld_obd->obd_name,
                               QTYPE_NAME(type), rc);
-                       lu_object_put(env, &obj->do_lu);
+                       dt_object_put(env, obj);
                        RETURN(ERR_PTR(rc));
                }
        }
                        RETURN(ERR_PTR(rc));
                }
        }
@@ -123,7 +123,7 @@ static struct dt_object *quota_obj_lookup(const struct lu_env *env,
                RETURN(obj);
 
        if (!dt_object_exists(obj)) {
                RETURN(obj);
 
        if (!dt_object_exists(obj)) {
-               lu_object_put(env, &obj->do_lu);
+               dt_object_put(env, obj);
                RETURN(ERR_PTR(-ENOENT));
        }
 
                RETURN(ERR_PTR(-ENOENT));
        }
 
@@ -138,7 +138,7 @@ static struct dt_object *quota_obj_lookup(const struct lu_env *env,
                               " slave index object rc:%d\n",
                               dev->dd_lu_dev.ld_obd->obd_name,
                               QTYPE_NAME(type), rc);
                               " slave index object rc:%d\n",
                               dev->dd_lu_dev.ld_obd->obd_name,
                               QTYPE_NAME(type), rc);
-                       lu_object_put(env, &obj->do_lu);
+                       dt_object_put(env, obj);
                        RETURN(ERR_PTR(rc));
                }
        }
                        RETURN(ERR_PTR(rc));
                }
        }
@@ -199,7 +199,7 @@ int lquotactl_slv(const struct lu_env *env, struct dt_device *dev,
        dqblk->dqb_curinodes    = qti->qti_acct_rec.ispace;
        dqblk->dqb_valid        = QIF_USAGE;
 
        dqblk->dqb_curinodes    = qti->qti_acct_rec.ispace;
        dqblk->dqb_valid        = QIF_USAGE;
 
-       lu_object_put(env, &obj->do_lu);
+       dt_object_put(env, obj);
 
        /* Step 2: collect enforcement information */
 
 
        /* Step 2: collect enforcement information */
 
@@ -227,8 +227,8 @@ int lquotactl_slv(const struct lu_env *env, struct dt_device *dev,
 
        GOTO(out, rc = 0);
 out:
 
        GOTO(out, rc = 0);
 out:
-       lu_object_put(env, &obj->do_lu);
-        return rc;
+       dt_object_put(env, obj);
+       return rc;
 }
 EXPORT_SYMBOL(lquotactl_slv);
 
 }
 EXPORT_SYMBOL(lquotactl_slv);
 
index ae4c97e..32b8ec4 100644 (file)
@@ -454,7 +454,7 @@ static int qmt_device_prepare(const struct lu_env *env,
        /* initialize on-disk indexes associated with each pool */
        rc = qmt_pool_prepare(env, qmt, qmt_root);
 
        /* initialize on-disk indexes associated with each pool */
        rc = qmt_pool_prepare(env, qmt, qmt_root);
 
-       lu_object_put(env, &qmt_root->do_lu);
+       dt_object_put(env, qmt_root);
        RETURN(rc);
 }
 
        RETURN(rc);
 }
 
index 6a84a1a..9fda736 100644 (file)
@@ -557,7 +557,7 @@ out:
                dt_trans_stop(env, qmt->qmt_child, th);
 
        if (slv_obj != NULL && !IS_ERR(slv_obj))
                dt_trans_stop(env, qmt->qmt_child, th);
 
        if (slv_obj != NULL && !IS_ERR(slv_obj))
-               lu_object_put(env, &slv_obj->do_lu);
+               dt_object_put(env, slv_obj);
 
        if ((req_is_acq(qb_flags) || req_is_preacq(qb_flags)) &&
            OBD_FAIL_CHECK(OBD_FAIL_QUOTA_EDQUOT)) {
 
        if ((req_is_acq(qb_flags) || req_is_preacq(qb_flags)) &&
            OBD_FAIL_CHECK(OBD_FAIL_QUOTA_EDQUOT)) {
index ca59fde..872070e 100644 (file)
@@ -216,7 +216,7 @@ int qmt_lvbo_init(struct lu_device *ld, struct ldlm_resource *res)
                if (IS_ERR(obj))
                        GOTO(out, rc = PTR_ERR(obj));
                if (!dt_object_exists(obj)) {
                if (IS_ERR(obj))
                        GOTO(out, rc = PTR_ERR(obj));
                if (!dt_object_exists(obj)) {
-                       lu_object_put(env, &obj->do_lu);
+                       dt_object_put(env, obj);
                        GOTO(out, rc = -ENOENT);
                }
 
                        GOTO(out, rc = -ENOENT);
                }
 
@@ -435,7 +435,7 @@ int qmt_lvbo_free(struct lu_device *ld, struct ldlm_resource *res)
                }
 
                /* release object reference */
                }
 
                /* release object reference */
-               lu_object_put(env, &obj->do_lu);
+               dt_object_put(env, obj);
                lu_env_fini(env);
                OBD_FREE_PTR(env);
        }
                lu_env_fini(env);
                OBD_FREE_PTR(env);
        }
index 3217127..b20658b 100644 (file)
@@ -327,12 +327,12 @@ static void qmt_pool_free(const struct lu_env *env, struct qmt_pool_info *pool)
                /* release reference to global index */
                if (pool->qpi_glb_obj[qtype] != NULL &&
                    !IS_ERR(pool->qpi_glb_obj[qtype]))
                /* release reference to global index */
                if (pool->qpi_glb_obj[qtype] != NULL &&
                    !IS_ERR(pool->qpi_glb_obj[qtype]))
-                       lu_object_put(env, &pool->qpi_glb_obj[qtype]->do_lu);
+                       dt_object_put(env, pool->qpi_glb_obj[qtype]);
        }
 
        /* release reference on pool directory */
        if (pool->qpi_root != NULL && !IS_ERR(pool->qpi_root))
        }
 
        /* release reference on pool directory */
        if (pool->qpi_root != NULL && !IS_ERR(pool->qpi_root))
-               lu_object_put(env, &pool->qpi_root->do_lu);
+               dt_object_put(env, pool->qpi_root);
 
        /* release reference on the master target */
        if (pool->qpi_qmt != NULL) {
 
        /* release reference on the master target */
        if (pool->qpi_qmt != NULL) {
@@ -686,7 +686,7 @@ int qmt_pool_new_conn(const struct lu_env *env, struct qmt_device *qmt,
        /* retrieve slave fid & current object version */
        memcpy(slv_fid, lu_object_fid(&slv_obj->do_lu), sizeof(*slv_fid));
        *slv_ver = dt_version_get(env, slv_obj);
        /* retrieve slave fid & current object version */
        memcpy(slv_fid, lu_object_fid(&slv_obj->do_lu), sizeof(*slv_fid));
        *slv_ver = dt_version_get(env, slv_obj);
-       lu_object_put(env, &slv_obj->do_lu);
+       dt_object_put(env, slv_obj);
        if (created)
                pool->qpi_slv_nr[qtype]++;
 out:
        if (created)
                pool->qpi_slv_nr[qtype]++;
 out:
index 6a60263..e10eeae 100644 (file)
@@ -321,20 +321,20 @@ static void qsd_qtype_fini(const struct lu_env *env, struct qsd_instance *qsd,
 
        /* release accounting object */
        if (qqi->qqi_acct_obj != NULL && !IS_ERR(qqi->qqi_acct_obj)) {
 
        /* release accounting object */
        if (qqi->qqi_acct_obj != NULL && !IS_ERR(qqi->qqi_acct_obj)) {
-               lu_object_put(env, &qqi->qqi_acct_obj->do_lu);
+               dt_object_put(env, qqi->qqi_acct_obj);
                qqi->qqi_acct_obj = NULL;
        }
 
        /* release slv index */
        if (qqi->qqi_slv_obj != NULL && !IS_ERR(qqi->qqi_slv_obj)) {
                qqi->qqi_acct_obj = NULL;
        }
 
        /* release slv index */
        if (qqi->qqi_slv_obj != NULL && !IS_ERR(qqi->qqi_slv_obj)) {
-               lu_object_put(env, &qqi->qqi_slv_obj->do_lu);
+               dt_object_put(env, qqi->qqi_slv_obj);
                qqi->qqi_slv_obj = NULL;
                qqi->qqi_slv_ver = 0;
        }
 
        /* release global index */
        if (qqi->qqi_glb_obj != NULL && !IS_ERR(qqi->qqi_glb_obj)) {
                qqi->qqi_slv_obj = NULL;
                qqi->qqi_slv_ver = 0;
        }
 
        /* release global index */
        if (qqi->qqi_glb_obj != NULL && !IS_ERR(qqi->qqi_glb_obj)) {
-               lu_object_put(env, &qqi->qqi_glb_obj->do_lu);
+               dt_object_put(env, qqi->qqi_glb_obj);
                qqi->qqi_glb_obj = NULL;
                qqi->qqi_glb_ver = 0;
        }
                qqi->qqi_glb_obj = NULL;
                qqi->qqi_glb_ver = 0;
        }
@@ -526,7 +526,7 @@ void qsd_fini(const struct lu_env *env, struct qsd_instance *qsd)
 
        /* release quota root directory */
        if (qsd->qsd_root != NULL) {
 
        /* release quota root directory */
        if (qsd->qsd_root != NULL) {
-               lu_object_put(env, &qsd->qsd_root->do_lu);
+               dt_object_put(env, qsd->qsd_root);
                qsd->qsd_root = NULL;
        }
 
                qsd->qsd_root = NULL;
        }
 
index f633fef..4f77ae6 100644 (file)
@@ -815,7 +815,7 @@ static int out_trans_stop(const struct lu_env *env,
                        if (ta->ta_args[i]->exec_fn == out_tx_create_exec)
                                set_bit(LU_OBJECT_HEARD_BANSHEE,
                                        &obj->do_lu.lo_header->loh_flags);
                        if (ta->ta_args[i]->exec_fn == out_tx_create_exec)
                                set_bit(LU_OBJECT_HEARD_BANSHEE,
                                        &obj->do_lu.lo_header->loh_flags);
-                       lu_object_put(env, &ta->ta_args[i]->object->do_lu);
+                       dt_object_put(env, ta->ta_args[i]->object);
                        ta->ta_args[i]->object = NULL;
                }
        }
                        ta->ta_args[i]->object = NULL;
                }
        }
@@ -1150,7 +1150,7 @@ int out_handle(struct tgt_session_info *tsi)
                        rc = h->th_act(tsi);
 next:
                        reply_index++;
                        rc = h->th_act(tsi);
 next:
                        reply_index++;
-                       lu_object_put(env, &dt_obj->do_lu);
+                       dt_object_put(env, dt_obj);
                        if (rc < 0)
                                GOTO(out, rc);
                }
                        if (rc < 0)
                                GOTO(out, rc);
                }
index d5eb49d..259c758 100644 (file)
@@ -1249,7 +1249,7 @@ static int tgt_blocking_ast(struct ldlm_lock *lock, struct ldlm_lock_desc *desc,
                }
 err_put:
                if (obj != NULL)
                }
 err_put:
                if (obj != NULL)
-                       lu_object_put(&env, &obj->do_lu);
+                       dt_object_put(&env, obj);
 err_env:
                lu_env_fini(&env);
        }
 err_env:
                lu_env_fini(&env);
        }
index 2f96846..4d39237 100644 (file)
@@ -265,14 +265,14 @@ out_put:
        obd->u.obt.obt_magic = 0;
        obd->u.obt.obt_lut = NULL;
        if (lut->lut_last_rcvd != NULL) {
        obd->u.obt.obt_magic = 0;
        obd->u.obt.obt_lut = NULL;
        if (lut->lut_last_rcvd != NULL) {
-               lu_object_put(env, &lut->lut_last_rcvd->do_lu);
+               dt_object_put(env, lut->lut_last_rcvd);
                lut->lut_last_rcvd = NULL;
        }
        if (lut->lut_client_bitmap != NULL)
                OBD_FREE(lut->lut_client_bitmap, LR_MAX_CLIENTS >> 3);
        lut->lut_client_bitmap = NULL;
        if (lut->lut_reply_data != NULL)
                lut->lut_last_rcvd = NULL;
        }
        if (lut->lut_client_bitmap != NULL)
                OBD_FREE(lut->lut_client_bitmap, LR_MAX_CLIENTS >> 3);
        lut->lut_client_bitmap = NULL;
        if (lut->lut_reply_data != NULL)
-               lu_object_put(env, &lut->lut_reply_data->do_lu);
+               dt_object_put(env, lut->lut_reply_data);
        lut->lut_reply_data = NULL;
        if (lut->lut_reply_bitmap != NULL) {
                for (i = 0; i < LUT_REPLY_SLOTS_MAX_CHUNKS; i++) {
        lut->lut_reply_data = NULL;
        if (lut->lut_reply_bitmap != NULL) {
                for (i = 0; i < LUT_REPLY_SLOTS_MAX_CHUNKS; i++) {
@@ -311,7 +311,7 @@ void tgt_fini(const struct lu_env *env, struct lu_target *lut)
        sptlrpc_rule_set_free(&lut->lut_sptlrpc_rset);
 
        if (lut->lut_reply_data != NULL)
        sptlrpc_rule_set_free(&lut->lut_sptlrpc_rset);
 
        if (lut->lut_reply_data != NULL)
-               lu_object_put(env, &lut->lut_reply_data->do_lu);
+               dt_object_put(env, lut->lut_reply_data);
        lut->lut_reply_data = NULL;
        if (lut->lut_reply_bitmap != NULL) {
                for (i = 0; i < LUT_REPLY_SLOTS_MAX_CHUNKS; i++) {
        lut->lut_reply_data = NULL;
        if (lut->lut_reply_bitmap != NULL) {
                for (i = 0; i < LUT_REPLY_SLOTS_MAX_CHUNKS; i++) {
@@ -331,7 +331,7 @@ void tgt_fini(const struct lu_env *env, struct lu_target *lut)
        }
        if (lut->lut_last_rcvd) {
                dt_txn_callback_del(lut->lut_bottom, &lut->lut_txn_cb);
        }
        if (lut->lut_last_rcvd) {
                dt_txn_callback_del(lut->lut_bottom, &lut->lut_txn_cb);
-               lu_object_put(env, &lut->lut_last_rcvd->do_lu);
+               dt_object_put(env, lut->lut_last_rcvd);
                lut->lut_last_rcvd = NULL;
        }
        EXIT;
                lut->lut_last_rcvd = NULL;
        }
        EXIT;
index 766230c..3769d09 100644 (file)
@@ -1265,7 +1265,7 @@ static int update_recovery_exec(const struct lu_env *env,
                        break;
                }
 next:
                        break;
                }
 next:
-               lu_object_put(env, &dt_obj->do_lu);
+               dt_object_put(env, dt_obj);
                if (rc < 0)
                        break;
        }
                if (rc < 0)
                        break;
        }
@@ -1427,7 +1427,7 @@ stop_trans:
        rc = top_trans_stop(env, tdtd->tdtd_dt, th);
        for (i = 0; i < ta->ta_argno; i++) {
                if (ta->ta_args[i]->object != NULL) {
        rc = top_trans_stop(env, tdtd->tdtd_dt, th);
        for (i = 0; i < ta->ta_argno; i++) {
                if (ta->ta_args[i]->object != NULL) {
-                       lu_object_put(env, &ta->ta_args[i]->object->do_lu);
+                       dt_object_put(env, ta->ta_args[i]->object);
                        ta->ta_args[i]->object = NULL;
                }
        }
                        ta->ta_args[i]->object = NULL;
                }
        }
index 2e4892b..3909872 100644 (file)
@@ -1519,7 +1519,7 @@ distribute_txn_commit_batchid_init(const struct lu_env *env,
 
 out_put:
        if (rc < 0 && dt_obj != NULL) {
 
 out_put:
        if (rc < 0 && dt_obj != NULL) {
-               lu_object_put(env, &dt_obj->do_lu);
+               dt_object_put(env, dt_obj);
                tdtd->tdtd_batchid_obj = NULL;
        }
        return rc;
                tdtd->tdtd_batchid_obj = NULL;
        }
        return rc;
@@ -1746,7 +1746,7 @@ void distribute_txn_fini(const struct lu_env *env,
 
        dtrq_list_destroy(tdtd);
        if (tdtd->tdtd_batchid_obj != NULL) {
 
        dtrq_list_destroy(tdtd);
        if (tdtd->tdtd_batchid_obj != NULL) {
-               lu_object_put(env, &tdtd->tdtd_batchid_obj->do_lu);
+               dt_object_put(env, tdtd->tdtd_batchid_obj);
                tdtd->tdtd_batchid_obj = NULL;
        }
 }
                tdtd->tdtd_batchid_obj = NULL;
        }
 }