X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=lustre%2Fobdclass%2Fdt_object.c;h=3164187da862abe08367469d3677fcab6a12d99c;hp=e5d3c4dd5d0129b1397b10c0516d219dd9d8a528;hb=0f8dca08a4f68cba82c2c822998ecc309d3b7aaf;hpb=033480704626652b36490a50a6359e74c1490690 diff --git a/lustre/obdclass/dt_object.c b/lustre/obdclass/dt_object.c index e5d3c4d..3164187 100644 --- a/lustre/obdclass/dt_object.c +++ b/lustre/obdclass/dt_object.c @@ -26,7 +26,7 @@ * GPL HEADER END */ /* - * Copyright 2008 Sun Microsystems, Inc. All rights reserved + * Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved. * Use is subject to license terms. */ /* @@ -60,7 +60,6 @@ struct dt_find_hint { struct dt_thread_info { char dti_buf[DT_MAX_PATH]; - struct lu_fid_pack dti_pack; struct dt_find_hint dti_dfh; }; @@ -79,13 +78,13 @@ static struct lu_context_key dt_key = { */ void dt_txn_callback_add(struct dt_device *dev, struct dt_txn_callback *cb) { - list_add(&cb->dtc_linkage, &dev->dd_txn_callbacks); + cfs_list_add(&cb->dtc_linkage, &dev->dd_txn_callbacks); } EXPORT_SYMBOL(dt_txn_callback_add); void dt_txn_callback_del(struct dt_device *dev, struct dt_txn_callback *cb) { - list_del_init(&cb->dtc_linkage); + cfs_list_del_init(&cb->dtc_linkage); } EXPORT_SYMBOL(dt_txn_callback_del); @@ -96,7 +95,7 @@ int dt_txn_hook_start(const struct lu_env *env, struct dt_txn_callback *cb; result = 0; - list_for_each_entry(cb, &dev->dd_txn_callbacks, dtc_linkage) { + cfs_list_for_each_entry(cb, &dev->dd_txn_callbacks, dtc_linkage) { if (cb->dtc_txn_start == NULL || !(cb->dtc_tag & env->le_ctx.lc_tags)) continue; @@ -115,7 +114,7 @@ int dt_txn_hook_stop(const struct lu_env *env, struct thandle *txn) int result; result = 0; - list_for_each_entry(cb, &dev->dd_txn_callbacks, dtc_linkage) { + cfs_list_for_each_entry(cb, &dev->dd_txn_callbacks, dtc_linkage) { if (cb->dtc_txn_stop == NULL || !(cb->dtc_tag & env->le_ctx.lc_tags)) continue; @@ -134,7 +133,7 @@ int dt_txn_hook_commit(const struct lu_env *env, struct thandle *txn) int result; result = 0; - list_for_each_entry(cb, &dev->dd_txn_callbacks, dtc_linkage) { + cfs_list_for_each_entry(cb, &dev->dd_txn_callbacks, dtc_linkage) { if (cb->dtc_txn_commit == NULL || !(cb->dtc_tag & env->le_ctx.lc_tags)) continue; @@ -217,10 +216,7 @@ EXPORT_SYMBOL(dt_mode_to_dft); static int dt_lookup(const struct lu_env *env, struct dt_object *dir, const char *name, struct lu_fid *fid) { - struct dt_thread_info *info = lu_context_key_get(&env->le_ctx, - &dt_key); - struct lu_fid_pack *pack = &info->dti_pack; - struct dt_rec *rec = (struct dt_rec *)pack; + struct dt_rec *rec = (struct dt_rec *)fid; const struct dt_key *key = (const struct dt_key *)name; int result; @@ -228,7 +224,7 @@ static int dt_lookup(const struct lu_env *env, struct dt_object *dir, result = dir->do_index_ops->dio_lookup(env, dir, rec, key, BYPASS_CAPA); if (result > 0) - result = fid_unpack(pack, fid); + result = 0; else if (result == 0) result = -ENOENT; } else