enum {
CTL_DEBUG_SWITCH = 1,
+ CTL_DEBUG_XID,
+ CTL_DEBUG_NID,
+ CTL_DEBUG_NET,
CTL_DEBUG_LIMIT,
- CTL_DEBUG_DLIMIT,
+ CTL_DEBUG_DLIM,
+ CTL_DEBUG_CVIRT,
};
unsigned int vx_debug_switch = 0;
+unsigned int vx_debug_xid = 0;
+unsigned int vx_debug_nid = 0;
+unsigned int vx_debug_net = 0;
unsigned int vx_debug_limit = 0;
-unsigned int vx_debug_dlimit = 0;
+unsigned int vx_debug_dlim = 0;
+unsigned int vx_debug_cvirt = 0;
static struct ctl_table_header *vserver_table_header;
static int proc_dodebug(ctl_table *table, int write,
- struct file *file, void *buffer, size_t *lenp)
+ struct file *filp, void __user *buffer, size_t *lenp, loff_t *ppos)
{
char tmpbuf[20], *p, c;
unsigned int value;
size_t left, len;
- if ((file->f_pos && !write) || !*lenp) {
+ if ((*ppos && !write) || !*lenp) {
*lenp = 0;
return 0;
}
done:
*lenp -= left;
- file->f_pos += *lenp;
+ *ppos += *lenp;
return 0;
}
.mode = 0644,
.proc_handler = &proc_dodebug
},
+ {
+ .ctl_name = CTL_DEBUG_XID,
+ .procname = "debug_xid",
+ .data = &vx_debug_xid,
+ .maxlen = sizeof(int),
+ .mode = 0644,
+ .proc_handler = &proc_dodebug
+ },
+ {
+ .ctl_name = CTL_DEBUG_NID,
+ .procname = "debug_nid",
+ .data = &vx_debug_nid,
+ .maxlen = sizeof(int),
+ .mode = 0644,
+ .proc_handler = &proc_dodebug
+ },
+ {
+ .ctl_name = CTL_DEBUG_NET,
+ .procname = "debug_net",
+ .data = &vx_debug_net,
+ .maxlen = sizeof(int),
+ .mode = 0644,
+ .proc_handler = &proc_dodebug
+ },
{
.ctl_name = CTL_DEBUG_LIMIT,
.procname = "debug_limit",
.proc_handler = &proc_dodebug
},
{
- .ctl_name = CTL_DEBUG_DLIMIT,
- .procname = "debug_dlimit",
- .data = &vx_debug_dlimit,
+ .ctl_name = CTL_DEBUG_DLIM,
+ .procname = "debug_dlim",
+ .data = &vx_debug_dlim,
+ .maxlen = sizeof(int),
+ .mode = 0644,
+ .proc_handler = &proc_dodebug
+ },
+ {
+ .ctl_name = CTL_DEBUG_CVIRT,
+ .procname = "debug_cvirt",
+ .data = &vx_debug_cvirt,
.maxlen = sizeof(int),
.mode = 0644,
.proc_handler = &proc_dodebug
{ .ctl_name = 0 }
};
+
+EXPORT_SYMBOL_GPL(vx_debug_dlim);
+