spin_lock(&mdt->mdt_client_bitmap_lock);
cl_idx = find_first_zero_bit(bitmap, LR_MAX_CLIENTS);
if (cl_idx >= LR_MAX_CLIENTS ||
- MDT_FAIL_CHECK_ONCE(OBD_FAIL_MDS_CLIENT_ADD)) {
+ OBD_FAIL_CHECK(OBD_FAIL_MDS_CLIENT_ADD)) {
CERROR("no room for %u clients - fix LR_MAX_CLIENTS\n",
cl_idx);
spin_unlock(&mdt->mdt_client_bitmap_lock);
int rc = 0;
ENTRY;
- OBD_FAIL_RETURN(OBD_FAIL_MDS_FS_SETUP, -ENOENT);
+ if (OBD_FAIL_CHECK(OBD_FAIL_MDS_FS_SETUP))
+ RETURN(-ENOENT);
/* prepare transactions callbacks */
mdt->mdt_txn_cb.dtc_txn_start = mdt_txn_start_cb;
mdt->mdt_txn_cb.dtc_txn_stop = mdt_txn_stop_cb;
mdt->mdt_txn_cb.dtc_txn_commit = mdt_txn_commit_cb;
mdt->mdt_txn_cb.dtc_cookie = mdt;
- INIT_LIST_HEAD(&mdt->mdt_txn_cb.dtc_linkage);
+ CFS_INIT_LIST_HEAD(&mdt->mdt_txn_cb.dtc_linkage);
dt_txn_callback_add(mdt->mdt_bottom, &mdt->mdt_txn_cb);
child = mdt_object_find(mti->mti_env, mdt, mti->mti_rr.rr_fid2);
LASSERT(!IS_ERR(child));
- body = req_capsule_server_get(&mti->mti_pill, &RMF_MDT_BODY);
+ body = req_capsule_server_get(mti->mti_pill, &RMF_MDT_BODY);
rc = mo_attr_get(mti->mti_env, mdt_object_child(child), &mti->mti_attr);
if (rc == -EREMOTE) {
/* object was created on remote server */
if (req->rq_status)
return;
- body = req_capsule_server_get(&mti->mti_pill, &RMF_MDT_BODY);
+ body = req_capsule_server_get(mti->mti_pill, &RMF_MDT_BODY);
obj = mdt_object_find(mti->mti_env, mdt, mti->mti_rr.rr_fid1);
LASSERT(!IS_ERR(obj));
mo_attr_get(mti->mti_env, mdt_object_child(obj), &mti->mti_attr);
struct mdt_file_data *mfd;
struct mdt_body *repbody;
- repbody = req_capsule_server_get(&mti->mti_pill, &RMF_MDT_BODY);
+ repbody = req_capsule_server_get(mti->mti_pill, &RMF_MDT_BODY);
repbody->ioepoch = obj->mot_ioepoch;
spin_lock(&med->med_open_lock);
list_for_each_entry(mfd, &med->med_open_head, mfd_list) {
mdt_object_put(mti->mti_env, obj);
}
-static void mdt_reconstruct_with_shrink(struct mdt_thread_info *mti,
- struct mdt_lock_handle *lhc)
+static void mdt_reconstruct_setxattr(struct mdt_thread_info *mti,
+ struct mdt_lock_handle *lhc)
{
- mdt_reconstruct_generic(mti, lhc);
- mdt_shrink_reply(mti);
+ /* reply nothing */
+ req_capsule_shrink(mti->mti_pill, &RMF_EADATA, 0, RCL_SERVER);
}
typedef void (*mdt_reconstructor)(struct mdt_thread_info *mti,
[REINT_SETATTR] = mdt_reconstruct_setattr,
[REINT_CREATE] = mdt_reconstruct_create,
[REINT_LINK] = mdt_reconstruct_generic,
- [REINT_UNLINK] = mdt_reconstruct_with_shrink,
- [REINT_RENAME] = mdt_reconstruct_with_shrink,
- [REINT_OPEN] = mdt_reconstruct_open
+ [REINT_UNLINK] = mdt_reconstruct_generic,
+ [REINT_RENAME] = mdt_reconstruct_generic,
+ [REINT_OPEN] = mdt_reconstruct_open,
+ [REINT_SETXATTR] = mdt_reconstruct_setxattr
};
void mdt_reconstruct(struct mdt_thread_info *mti,