#define DEBUG_SUBSYSTEM S_FILTER
+#include <linux/kthread.h>
#include "ofd_internal.h"
struct ofd_inconsistency_item {
OBD_ALLOC_PTR(lr);
if (unlikely(lr == NULL))
- GOTO(out, rc = -ENOMEM);
+ GOTO(out_unlocked, rc = -ENOMEM);
lr->lr_event = LE_PAIRS_VERIFY;
lr->lr_active = LFSCK_TYPE_LAYOUT;
GOTO(out, rc = 0);
+out_unlocked:
+ spin_lock(&ofd->ofd_inconsistency_lock);
out:
thread_set_flags(thread, SVC_STOPPED);
wake_up_all(&thread->t_ctl_waitq);
* \param[in] rnb remote buffers
* \param[in] nr_local number of local buffers
* \param[in] lnb local buffers
- * \param[in] oti request data from OST
*
* \retval 0 on successful prepare
* \retval negative value on error
int ofd_preprw(const struct lu_env *env, int cmd, struct obd_export *exp,
struct obdo *oa, int objcount, struct obd_ioobj *obj,
struct niobuf_remote *rnb, int *nr_local,
- struct niobuf_local *lnb, struct obd_trans_info *oti)
+ struct niobuf_local *lnb)
{
struct tgt_session_info *tsi = tgt_ses_info(env);
struct ofd_device *ofd = ofd_exp(exp);
}
if (tgt_ses_req(tsi) == NULL) { /* echo client case */
- LASSERT(oti != NULL);
info = ofd_info_init(env, exp);
- ofd_oti2info(info, oti);
jobid = NULL;
} else {
info = tsi2ofd_info(tsi);
* \param[in] rnb remote buffers
* \param[in] npages number of local buffers
* \param[in] lnb local buffers
- * \param[in] oti request data from OST
* \param[in] old_rc result of processing at this point
*
* \retval 0 on successful commit
int ofd_commitrw(const struct lu_env *env, int cmd, struct obd_export *exp,
struct obdo *oa, int objcount, struct obd_ioobj *obj,
struct niobuf_remote *rnb, int npages,
- struct niobuf_local *lnb, struct obd_trans_info *oti,
- int old_rc)
+ struct niobuf_local *lnb, int old_rc)
{
struct ofd_thread_info *info = ofd_info(env);
struct ofd_mod_data *fmd;
rc = -EPROTO;
}
- if (oti != NULL)
- ofd_info2oti(info, oti);
RETURN(rc);
}