int i = 0;
while (i < CL_LAST) {
- if (mdd->mdd_cl.mc_mask & (1 << i))
+ if (mdd->mdd_cl.mc_mask & BIT(i))
seq_printf(m, "%s ", changelog_type2str(i));
i++;
}
struct mdd_device *mdd = container_of(kobj, struct mdd_device,
mdd_kobj);
- return snprintf(buf, PAGE_SIZE, "%d\n", mdd->mdd_append_stripe_count);
+ return scnprintf(buf, PAGE_SIZE, "%d\n", mdd->mdd_append_stripe_count);
}
/**
struct mdd_device *mdd = container_of(kobj, struct mdd_device,
mdd_kobj);
- return snprintf(buf, LOV_MAXPOOLNAME + 1, "%s\n", mdd->mdd_append_pool);
+ return scnprintf(buf, PAGE_SIZE, "%s\n", mdd->mdd_append_pool);
}
/**
}
LUSTRE_RW_ATTR(append_pool);
-static struct lprocfs_vars lprocfs_mdd_obd_vars[] = {
+static struct ldebugfs_vars ldebugfs_mdd_obd_vars[] = {
{ .name = "changelog_mask",
.fops = &mdd_changelog_mask_fops },
{ .name = "changelog_users",
LASSERT(type != NULL);
LASSERT(obd != NULL);
+ /* put reference taken by class_search_type */
+ kobject_put(&type->typ_kobj);
+
mdd->mdd_ktype.default_attrs = mdd_attrs;
mdd->mdd_ktype.release = mdd_sysfs_release;
mdd->mdd_ktype.sysfs_ops = &lustre_sysfs_ops;
return rc;
/* Find the type procroot and add the proc entry for this device */
- obd->obd_vars = lprocfs_mdd_obd_vars;
- obd->obd_debugfs_entry = ldebugfs_register(name,
- type->typ_debugfs_entry,
- obd->obd_vars, mdd);
- if (IS_ERR_OR_NULL(obd->obd_debugfs_entry)) {
- rc = obd->obd_debugfs_entry ? PTR_ERR(obd->obd_debugfs_entry)
- : -ENOMEM;
- CERROR("Error %d setting up debugfs for %s\n",
- rc, name);
- obd->obd_debugfs_entry = NULL;
-
- kobject_put(&mdd->mdd_kobj);
- }
+ obd->obd_debugfs_vars = ldebugfs_mdd_obd_vars;
+ obd->obd_debugfs_entry = debugfs_create_dir(name,
+ type->typ_debugfs_entry);
+ ldebugfs_add_vars(obd->obd_debugfs_entry, obd->obd_debugfs_vars, mdd);
RETURN(rc);
}