CWARN("!!! This export (nid %s) used object group %d "
"earlier; now it's trying to use group %d! This could "
"be a bug in the MDS. Please report to "
- "http://bugs.whamcloud.com/\n",
+ "https://jira.hpdd.intel.com/\n",
obd_export_nid2str(exp), fed->fed_group,
data->ocd_group);
RETURN(-EPROTO);
int ofd_obd_disconnect(struct obd_export *exp)
{
- struct ofd_device *ofd = ofd_dev(exp->exp_obd->obd_lu_dev);
+ struct ofd_device *ofd = ofd_exp(exp);
struct lu_env env;
int rc;
static int ofd_destroy_export(struct obd_export *exp)
{
- struct ofd_device *ofd = ofd_dev(exp->exp_obd->obd_lu_dev);
+ struct ofd_device *ofd = ofd_exp(exp);
if (exp->exp_filter_data.fed_pending)
CERROR("%s: cli %s/%p has %lu pending on destroyed export"
int ofd_postrecov(const struct lu_env *env, struct ofd_device *ofd)
{
struct lu_device *ldev = &ofd->ofd_dt_dev.dd_lu_dev;
+ struct lfsck_start_param lsp;
+ int rc;
+
+ CDEBUG(D_HA, "%s: recovery is over\n", ofd_name(ofd));
+
+ lsp.lsp_start = NULL;
+ lsp.lsp_index_valid = 0;
+ rc = lfsck_start(env, ofd->ofd_osd, &lsp);
+ if (rc != 0 && rc != -EALREADY)
+ CWARN("%s: auto trigger paused LFSCK failed: rc = %d\n",
+ ofd_name(ofd), rc);
- CDEBUG(D_HA, "%s: recovery is over\n", ofd_obd(ofd)->obd_name);
return ldev->ld_ops->ldo_recovery_complete(env, ldev);
}
struct obd_statfs *osfs, __u64 max_age, __u32 flags)
{
struct obd_device *obd = class_exp2obd(exp);
- struct ofd_device *ofd = ofd_dev(exp->exp_obd->obd_lu_dev);
+ struct ofd_device *ofd = ofd_exp(exp);
int rc;
ENTRY;
* for 2nd lu_object_find() waiting for the first reference
* to go... deadlock! */
res = ldlm_resource_get(ns, NULL, &info->fti_resid, LDLM_EXTENT, 0);
- if (res != NULL) {
+ if (!IS_ERR(res)) {
ldlm_res_lvbo_update(res, NULL, 0);
ldlm_resource_putref(res);
}