"change_qunit_size",
"alt_checksum_algorithm",
"fid_is_enabled",
+ "version_recovery",
NULL
};
{
struct nid_stat *stat = obj;
int i;
-
+ ENTRY;
/* object has only hash + iterate_all references.
* add/delete blocked by hash bucket lock */
CDEBUG(D_INFO,"refcnt %d\n", stat->nid_exp_ref_count);
- if(stat->nid_exp_ref_count == 2) {
+ if (stat->nid_exp_ref_count == 2) {
hlist_del_init(&stat->nid_hash);
stat->nid_exp_ref_count--;
spin_lock(&stat->nid_obd->obd_nid_lock);
- list_del_init(&stat->nid_list);
+ list_move(&stat->nid_list, data);
spin_unlock(&stat->nid_obd->obd_nid_lock);
- list_add(&stat->nid_list, data);
EXIT;
return;
}
!exp->exp_obd->obd_nid_stats_hash_body)
RETURN(-EINVAL);
- /* not test against zero because eric say:
- * You may only test nid against another nid, or LNET_NID_ANY. Anything else is
- * nonsense.*/
+ /* not test against zero because eric say:
+ * You may only test nid against another nid, or LNET_NID_ANY. Anything else is
+ * nonsense.*/
if (!nid || *nid == LNET_NID_ANY)
RETURN(0);
CDEBUG(D_CONFIG, "using hash %p\n", obd->obd_nid_stats_hash_body);
- OBD_ALLOC(tmp, sizeof(struct nid_stat));
+ OBD_ALLOC_PTR(tmp);
if (tmp == NULL)
RETURN(-ENOMEM);
list_add(&tmp->nid_list, &obd->obd_nid_stats);
spin_unlock(&obd->obd_nid_lock);
- tmp1= lustre_hash_findadd_unique(obd->obd_nid_stats_hash_body, nid,
- &tmp->nid_hash);
+ tmp1 = lustre_hash_findadd_unique(obd->obd_nid_stats_hash_body, nid,
+ &tmp->nid_hash);
CDEBUG(D_INFO, "Found stats %p for nid %s - ref %d\n",
tmp1, libcfs_nid2str(*nid), tmp->nid_exp_ref_count);
spin_lock(&obd->obd_nid_lock);
list_del(&tmp->nid_list);
spin_unlock(&obd->obd_nid_lock);
- OBD_FREE(tmp, sizeof(struct nid_stat));
+ OBD_FREE_PTR(tmp);
RETURN(rc);
}
obd->obd_recovery_end -
obd->obd_recovery_start) <= 0)
goto out;
+ if (lprocfs_obd_snprintf(&page, size, &len,"delayed_clients: %d/%d\n",
+ obd->obd_delayed_clients,
+ obd->obd_max_recoverable_clients) <= 0)
+ goto out;
/* Number of clients that have completed recovery */
if (lprocfs_obd_snprintf(&page, size, &len,
"completed_clients: %d/%d\n",
obd->obd_max_recoverable_clients -
- obd->obd_recoverable_clients,
+ obd->obd_recoverable_clients -
+ obd->obd_delayed_clients,
obd->obd_max_recoverable_clients) <= 0)
goto out;
if (lprocfs_obd_snprintf(&page, size, &len,
obd->obd_connected_clients,
obd->obd_max_recoverable_clients) <= 0)
goto out;
+ if (lprocfs_obd_snprintf(&page, size, &len,"delayed_clients: %d/%d\n",
+ obd->obd_delayed_clients,
+ obd->obd_max_recoverable_clients) <= 0)
+ goto out;
/* Number of clients that have completed recovery */
if (lprocfs_obd_snprintf(&page, size, &len,"completed_clients: %d/%d\n",
obd->obd_max_recoverable_clients -
- obd->obd_recoverable_clients,
+ obd->obd_recoverable_clients -
+ obd->obd_delayed_clients,
obd->obd_max_recoverable_clients) <= 0)
goto out;
if (lprocfs_obd_snprintf(&page, size, &len,"replayed_requests: %d/??\n",