Exemplo n.º 1
0
struct ofd_object *ofd_object_find(const struct lu_env *env,
				   struct ofd_device *ofd,
				   const struct lu_fid *fid)
{
	struct ofd_object *fo;
	struct lu_object  *o;

	ENTRY;

	o = lu_object_find(env, &ofd->ofd_dt_dev.dd_lu_dev, fid, NULL);
	if (likely(!IS_ERR(o)))
		fo = ofd_obj(o);
	else
		fo = ERR_CAST(o); /* return error */

	RETURN(fo);
}
Exemplo n.º 2
0
static struct md_object *mdo_locate(const struct lu_env *env,
				    struct md_device *md,
				    const struct lu_fid *fid)
{
	struct lu_object *obj;
	struct md_object *mdo;

	obj = lu_object_find(env, &md->md_lu_dev, fid, NULL);
	if (!IS_ERR(obj)) {
		obj = lu_object_locate(obj->lo_header, md->md_lu_dev.ld_type);
		LASSERT(obj != NULL);
		mdo = lu2md(obj);
	} else {
		mdo = ERR_PTR(PTR_ERR(obj));
	}
	return mdo;
}
Exemplo n.º 3
0
static struct dt_object *out_object_find(struct mdt_thread_info *info,
					 struct lu_fid *fid)
{
	struct lu_object	*obj;
	struct dt_object	*dt_obj;

	obj = lu_object_find(info->mti_env,
			     &info->mti_mdt->mdt_md_dev.md_lu_dev,
			     fid, NULL);
	if (IS_ERR(obj))
		return (struct dt_object *)obj;

	dt_obj = out_get_dt_obj(obj);
	if (IS_ERR(dt_obj)) {
		lu_object_put(info->mti_env, obj);
		return ERR_PTR(-ENOENT);
	}

	return dt_obj;
}