* \param[in] key key name
* \param[out] vallen length of key value
* \param[out] val the key value to return
- * \param[in] lsm not used in OFD
*
* \retval 0 if successful
* \retval negative value on error
*/
static int ofd_get_info(const struct lu_env *env, struct obd_export *exp,
- __u32 keylen, void *key, __u32 *vallen, void *val,
- struct lov_stripe_md *lsm)
+ __u32 keylen, void *key, __u32 *vallen, void *val)
{
struct ofd_thread_info *info;
struct ofd_device *ofd;
struct ll_fiemap_info_key *fm_key = key;
- struct ll_user_fiemap *fiemap = val;
+ struct fiemap *fiemap = val;
int rc = 0;
ENTRY;
if (KEY_IS(KEY_FIEMAP)) {
info = ofd_info_init(env, exp);
- rc = ostid_to_fid(&info->fti_fid, &fm_key->oa.o_oi,
+ rc = ostid_to_fid(&info->fti_fid, &fm_key->lfik_oa.o_oi,
ofd->ofd_lut.lut_lsd.lsd_osd_index);
if (rc != 0)
RETURN(rc);
* \param[in] env execution environment
* \param[in] exp OBD export of OFD device
- * \param[in] oinfo obd_info with setattr parameters
- * \param[in] oti not used in OFD
+ * \param[in] oa setattr parameters
*
* \retval 0 if successful
* \retval negative value on error
*/
static int ofd_echo_setattr(const struct lu_env *env, struct obd_export *exp,
- struct obd_info *oinfo, struct obd_trans_info *oti)
+ struct obdo *oa)
{
struct ofd_thread_info *info;
struct ofd_device *ofd = ofd_exp(exp);
struct ldlm_namespace *ns = ofd->ofd_namespace;
struct ldlm_resource *res;
struct ofd_object *fo;
- struct obdo *oa = oinfo->oi_oa;
struct lu_fid *fid = &oa->o_oi.oi_fid;
struct filter_fid *ff = NULL;
int rc = 0;
/* This would be very bad - accidentally truncating a file when
* changing the time or similar - bug 12203. */
- if (oa->o_valid & OBD_MD_FLSIZE &&
- oinfo->oi_policy.l_extent.end != OBD_OBJECT_EOF) {
+ if (oa->o_valid & OBD_MD_FLSIZE) {
static char mdsinum[48];
if (oa->o_valid & OBD_MD_FLFID)
* \param[in] env execution environment
* \param[in] exp OBD export of OFD device
* \param[in] oa obdo structure with FID
- * \param[in] oti not used in OFD
*
* Note: this is OBD API method which is common API for server OBDs and
* client OBDs. Thus some parameters used in client OBDs may not be used
* \retval negative value on error
*/
static int ofd_echo_destroy(const struct lu_env *env, struct obd_export *exp,
- struct obdo *oa, struct obd_trans_info *oti)
+ struct obdo *oa)
{
struct ofd_device *ofd = ofd_exp(exp);
struct lu_fid *fid = &oa->o_oi.oi_fid;
* \param[in] env execution environment
* \param[in] exp OBD export of OFD device
* \param[in] oa obdo structure with FID sequence to use
- * \param[out] ea contains object ID/SEQ to return
- * \param[in] oti not used in OFD
*
* Note: this is OBD API method which is common API for server OBDs and
* client OBDs. Thus some parameters used in client OBDs may not be used
* \retval negative value on error
*/
static int ofd_echo_create(const struct lu_env *env, struct obd_export *exp,
- struct obdo *oa, struct obd_trans_info *oti)
+ struct obdo *oa)
{
struct ofd_device *ofd = ofd_exp(exp);
struct ofd_thread_info *info;
*
* \param[in] env execution environment
* \param[in] exp OBD export of OFD device
- * \param[in,out] oinfo contains FID of object to get attributes from and
+ * \param[in,out] oa contains FID of object to get attributes from and
* is used to return attributes back
*
* \retval 0 if successful
* \retval negative value on error
*/
static int ofd_echo_getattr(const struct lu_env *env, struct obd_export *exp,
- struct obd_info *oinfo)
+ struct obdo *oa)
{
struct ofd_device *ofd = ofd_exp(exp);
struct ofd_thread_info *info;
- struct lu_fid *fid = &oinfo->oi_oa->o_oi.oi_fid;
+ struct lu_fid *fid = &oa->o_oi.oi_fid;
struct ofd_object *fo;
int rc = 0;
LASSERT(fo != NULL);
rc = ofd_attr_get(env, fo, &info->fti_attr);
- oinfo->oi_oa->o_valid = OBD_MD_FLID;
+ oa->o_valid = OBD_MD_FLID;
if (rc == 0) {
__u64 curr_version;
- obdo_from_la(oinfo->oi_oa, &info->fti_attr,
+ obdo_from_la(oa, &info->fti_attr,
OFD_VALID_FLAGS | LA_UID | LA_GID);
/* Store object version in reply */
curr_version = dt_version_get(env, ofd_object_child(fo));
if ((__s64)curr_version != -EOPNOTSUPP) {
- oinfo->oi_oa->o_valid |= OBD_MD_FLDATAVERSION;
- oinfo->oi_oa->o_data_version = curr_version;
+ oa->o_valid |= OBD_MD_FLDATAVERSION;
+ oa->o_data_version = curr_version;
}
}
switch (cmd) {
case OBD_IOC_ABORT_RECOVERY:
CERROR("%s: aborting recovery\n", obd->obd_name);
+ obd->obd_force_abort_recovery = 1;
target_stop_recovery_thread(obd);
break;
case OBD_IOC_SYNC: