X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Ftarget%2Ftgt_internal.h;h=ebe3a1ab99f85a2caa0db68a7bbcce7a67550649;hb=b69b7de30c3977cb69a741099218bc4a81752717;hp=14ce8864d153db9c2cc838ebb0e0486b3c2fb7bc;hpb=0209add4a5099817111c8576afe930d1e2daef03;p=fs%2Flustre-release.git diff --git a/lustre/target/tgt_internal.h b/lustre/target/tgt_internal.h index 14ce886..ebe3a1a 100644 --- a/lustre/target/tgt_internal.h +++ b/lustre/target/tgt_internal.h @@ -55,13 +55,13 @@ struct tx_arg { tx_exec_func_t exec_fn; tx_exec_func_t undo_fn; struct dt_object *object; - char *file; + const char *file; struct object_update_reply *reply; int line; int index; union { struct { - const struct dt_rec *rec; + struct dt_insert_rec rec; const struct dt_key *key; } insert; struct { @@ -91,13 +91,11 @@ struct tx_arg { } u; }; -#define TX_MAX_OPS 10 struct thandle_exec_args { struct thandle *ta_handle; - struct dt_device *ta_dev; - struct tx_arg ta_args[TX_MAX_OPS]; - int ta_err; - int ta_argno; /* used args */ + int ta_argno; /* used args */ + int ta_alloc_args; /* allocated args count */ + struct tx_arg **ta_args; }; /** @@ -138,6 +136,7 @@ struct tgt_thread_info { } update; } tti_u; struct lfsck_request tti_lr; + struct dt_insert_rec tti_rec; }; extern struct lu_context_key tgt_thread_key; @@ -185,18 +184,22 @@ int out_handle(struct tgt_session_info *tsi); __out_tx_xattr_set(info, obj, buf, name, fl, th, reply, idx, \ __FILE__, __LINE__) +#define out_tx_xattr_del(info, obj, name, th, reply, idx) \ + __out_tx_xattr_del(info, obj, name, th, reply, idx, \ + __FILE__, __LINE__) + #define out_tx_ref_add(info, obj, th, reply, idx) \ __out_tx_ref_add(info, obj, th, reply, idx, __FILE__, __LINE__) #define out_tx_ref_del(info, obj, th, reply, idx) \ __out_tx_ref_del(info, obj, th, reply, idx, __FILE__, __LINE__) -#define out_tx_index_insert(info, obj, th, name, fid, reply, idx) \ - __out_tx_index_insert(info, obj, th, name, fid, reply, idx, \ +#define out_tx_index_insert(info, obj, rec, key, th, reply, idx) \ + __out_tx_index_insert(info, obj, rec, key, th, reply, idx, \ __FILE__, __LINE__) -#define out_tx_index_delete(info, obj, th, name, reply, idx) \ - __out_tx_index_delete(info, obj, th, name, reply, idx, \ +#define out_tx_index_delete(info, obj, key, th, reply, idx) \ + __out_tx_index_delete(info, obj, key, th, reply, idx, \ __FILE__, __LINE__) #define out_tx_destroy(info, obj, th, reply, idx) \