static void mgs_nidtbl_fini_fs(struct fs_db *fsdb)
{
struct mgs_nidtbl *tbl = &fsdb->fsdb_nidtbl;
- struct list_head head = LIST_HEAD_INIT(head);
+ LIST_HEAD(head);
mutex_lock(&tbl->mn_lock);
tbl->mn_nr_targets = 0;
struct ldlm_res_id resid;
char name[sizeof(fsdb->fsdb_name) + 16];
- CLASSERT(sizeof(name) < 40); /* name is too large to be on stack */
+ BUILD_BUG_ON(sizeof(name) >= 40); /* name is too large to be on stack */
snprintf(name, sizeof(name) - 1, "mgs_%s_notify", fsdb->fsdb_name);
complete(&fsdb->fsdb_notify_comp);
set_user_nice(current, -2);
mgc_fsname2resid(fsdb->fsdb_name, &resid, CONFIG_T_RECOVER);
while (1) {
- struct l_wait_info lwi = { 0 };
+ wait_event_idle(fsdb->fsdb_notify_waitq,
+ fsdb->fsdb_notify_stop ||
+ atomic_read(&fsdb->fsdb_notify_phase));
- l_wait_event(fsdb->fsdb_notify_waitq,
- fsdb->fsdb_notify_stop ||
- atomic_read(&fsdb->fsdb_notify_phase),
- &lwi);
if (fsdb->fsdb_notify_stop)
break;
CDEBUG(D_MGS, "Reading IR log %s bufsize %ld.\n",
body->mcb_name, bufsize);
- OBD_ALLOC(pages, sizeof(*pages) * nrpages);
+ OBD_ALLOC_PTR_ARRAY(pages, nrpages);
if (!pages)
GOTO(out, rc = -ENOMEM);
page_count = (bytes + PAGE_SIZE - 1) >> PAGE_SHIFT;
LASSERT(page_count <= nrpages);
desc = ptlrpc_prep_bulk_exp(req, page_count, 1,
- PTLRPC_BULK_PUT_SOURCE |
- PTLRPC_BULK_BUF_KIOV,
+ PTLRPC_BULK_PUT_SOURCE,
MGS_BULK_PORTAL,
&ptlrpc_bulk_kiov_pin_ops);
if (!desc)
__free_page(pages[i]);
}
- OBD_FREE(pages, sizeof(*pages) * nrpages);
+ OBD_FREE_PTR_ARRAY(pages, nrpages);
}
if (fsdb)
{
struct mgs_export_data *data = &exp->u.eu_mgs_data;
struct mgs_fsc *fsc, *tmp;
- struct list_head head = LIST_HEAD_INIT(head);
+ LIST_HEAD(head);
spin_lock(&data->med_lock);
list_splice_init(&data->med_clients, &head);