*/
#define LNET_PROC_CPT_BITS (LNET_CPT_BITS + 1)
/* change version, 16 bits or 8 bits */
-#define LNET_PROC_VER_BITS MAX(((MIN(LNET_LOFFT_BITS, 64)) / 4), 8)
+#define LNET_PROC_VER_BITS \
+ clamp_t(int, LNET_LOFFT_BITS / 4, 8, 16)
#define LNET_PROC_HASH_BITS LNET_PEER_HASH_BITS
/*
struct lnet_counters *ctrs;
struct lnet_counters_common common;
int len;
- char *tmpstr;
- const int tmpsiz = 256; /* 7 %u and 4 __u64 */
+ char tmpstr[256]; /* 7 %u and 4 u64 */
if (write) {
lnet_counters_reset();
if (ctrs == NULL)
return -ENOMEM;
- LIBCFS_ALLOC(tmpstr, tmpsiz);
- if (tmpstr == NULL) {
- LIBCFS_FREE(ctrs, sizeof(*ctrs));
- return -ENOMEM;
- }
+ rc = lnet_counters_get(ctrs);
+ if (rc)
+ goto out_no_ctrs;
- lnet_counters_get(ctrs);
common = ctrs->lct_common;
- len = scnprintf(tmpstr, tmpsiz,
+ len = scnprintf(tmpstr, sizeof(tmpstr),
"%u %u %u %u %u %u %u %llu %llu "
"%llu %llu",
common.lcc_msgs_alloc, common.lcc_msgs_max,
else
rc = cfs_trace_copyout_string(buffer, nob,
tmpstr + pos, "\n");
-
- LIBCFS_FREE(tmpstr, tmpsiz);
+out_no_ctrs:
LIBCFS_FREE(ctrs, sizeof(*ctrs));
return rc;
}
int rc;
int i;
- LIBCFS_ALLOC(buf, buf_len);
- if (buf == NULL)
- return -ENOMEM;
-
if (!write) {
+ LIBCFS_ALLOC(buf, buf_len);
+ if (buf == NULL)
+ return -ENOMEM;
+
lnet_res_lock(0);
for (i = 0; portal_rotors[i].pr_value >= 0; i++) {
rc = 0;
} else {
rc = cfs_trace_copyout_string(buffer, nob,
- buf + pos, "\n");
+ buf + pos, "\n");
}
- goto out;
+ LIBCFS_FREE(buf, buf_len);
+
+ return rc;
}
- rc = cfs_trace_copyin_string(buf, buf_len, buffer, nob);
- if (rc < 0)
- goto out;
+ buf = memdup_user_nul(buffer, nob);
+ if (!buf)
+ return -ENOMEM;
tmp = strim(buf);
}
}
lnet_res_unlock(0);
-out:
- LIBCFS_FREE(buf, buf_len);
+ kfree(buf);
+
return rc;
}
* to go via /proc for portability.
*/
{
- INIT_CTL_NAME
.procname = "stats",
.mode = 0644,
.proc_handler = &proc_lnet_stats,
},
{
- INIT_CTL_NAME
.procname = "routes",
.mode = 0444,
.proc_handler = &proc_lnet_routes,
},
{
- INIT_CTL_NAME
.procname = "routers",
.mode = 0444,
.proc_handler = &proc_lnet_routers,
},
{
- INIT_CTL_NAME
.procname = "peers",
.mode = 0644,
.proc_handler = &proc_lnet_peers,
},
{
- INIT_CTL_NAME
.procname = "buffers",
.mode = 0444,
.proc_handler = &proc_lnet_buffers,
},
{
- INIT_CTL_NAME
.procname = "nis",
.mode = 0644,
.proc_handler = &proc_lnet_nis,
},
{
- INIT_CTL_NAME
.procname = "portal_rotor",
.mode = 0644,
.proc_handler = &proc_lnet_portal_rotor,
},
+ {
+ .procname = "lnet_lnd_timeout",
+ .data = &lnet_lnd_timeout,
+ .maxlen = sizeof(lnet_lnd_timeout),
+ .mode = 0444,
+ .proc_handler = &debugfs_doint,
+ },
{ .procname = NULL }
};