#include <lustre_req_layout.h>
#include <lustre_sec.h>
+extern int (*tgt_lfsck_in_notify)(const struct lu_env *env,
+ struct dt_device *key,
+ struct lfsck_request *lr);
+
struct tx_arg;
typedef int (*tx_exec_func_t)(const struct lu_env *env, struct thandle *th,
struct tx_arg *ta);
struct thandle_exec_args {
struct thandle *ta_handle;
struct dt_device *ta_dev;
- int ta_err;
struct tx_arg ta_args[TX_MAX_OPS];
+ int ta_err;
int ta_argno; /* used args */
};
/* transno storage during last_rcvd update */
__u64 tti_transno;
+ __u32 tti_has_trans:1,
+ tti_mult_trans:1;
/* Updates data for OUT target */
struct thandle_exec_args tti_tea;
struct dt_object *tti_dt_object;
} update;
} tti_u;
+ struct lfsck_request tti_lr;
};
extern struct lu_context_key tgt_thread_key;
struct niobuf_local local[PTLRPC_MAX_BRW_PAGES];
};
+int tgt_server_data_init(const struct lu_env *env, struct lu_target *tgt);
+int tgt_txn_start_cb(const struct lu_env *env, struct thandle *th,
+ void *cookie);
+int tgt_txn_stop_cb(const struct lu_env *env, struct thandle *th,
+ void *cookie);
+
#endif /* _TG_INTERNAL_H */