xen-netback: (re-)create a debugfs node for hash information
It is useful to be able to see the hash configuration when running tests. This patch adds a debugfs node for that purpose. The original version of this patch (commitc0c64c1523
) was reverted due to build failures caused by a conflict with commit0364a8824c
("xen-netback: switch to threaded irq for control ring"). This new version of the patch is nearly identical to the original, the only difference being that creation of the debugfs node is predicated on 'ctrl_irq' being non-zero rather then the now non-existent 'ctrl_task'. Signed-off-by: Paul Durrant <paul.durrant@citrix.com> Cc: Wei Liu <wei.liu2@citrix.com> Cc: David S. Miller <davem@davemloft.net> Acked-by: Wei Liu <wei.liu2@citrix.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
fa59b27c9d
commit
a9339b8e13
@@ -165,7 +165,7 @@ xenvif_write_io_ring(struct file *filp, const char __user *buf, size_t count,
|
||||
return count;
|
||||
}
|
||||
|
||||
static int xenvif_dump_open(struct inode *inode, struct file *filp)
|
||||
static int xenvif_io_ring_open(struct inode *inode, struct file *filp)
|
||||
{
|
||||
int ret;
|
||||
void *queue = NULL;
|
||||
@@ -179,13 +179,35 @@ static int xenvif_dump_open(struct inode *inode, struct file *filp)
|
||||
|
||||
static const struct file_operations xenvif_dbg_io_ring_ops_fops = {
|
||||
.owner = THIS_MODULE,
|
||||
.open = xenvif_dump_open,
|
||||
.open = xenvif_io_ring_open,
|
||||
.read = seq_read,
|
||||
.llseek = seq_lseek,
|
||||
.release = single_release,
|
||||
.write = xenvif_write_io_ring,
|
||||
};
|
||||
|
||||
static int xenvif_read_ctrl(struct seq_file *m, void *v)
|
||||
{
|
||||
struct xenvif *vif = m->private;
|
||||
|
||||
xenvif_dump_hash_info(vif, m);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int xenvif_ctrl_open(struct inode *inode, struct file *filp)
|
||||
{
|
||||
return single_open(filp, xenvif_read_ctrl, inode->i_private);
|
||||
}
|
||||
|
||||
static const struct file_operations xenvif_dbg_ctrl_ops_fops = {
|
||||
.owner = THIS_MODULE,
|
||||
.open = xenvif_ctrl_open,
|
||||
.read = seq_read,
|
||||
.llseek = seq_lseek,
|
||||
.release = single_release,
|
||||
};
|
||||
|
||||
static void xenvif_debugfs_addif(struct xenvif *vif)
|
||||
{
|
||||
struct dentry *pfile;
|
||||
@@ -210,6 +232,17 @@ static void xenvif_debugfs_addif(struct xenvif *vif)
|
||||
pr_warn("Creation of io_ring file returned %ld!\n",
|
||||
PTR_ERR(pfile));
|
||||
}
|
||||
|
||||
if (vif->ctrl_irq) {
|
||||
pfile = debugfs_create_file("ctrl",
|
||||
S_IRUSR,
|
||||
vif->xenvif_dbg_root,
|
||||
vif,
|
||||
&xenvif_dbg_ctrl_ops_fops);
|
||||
if (IS_ERR_OR_NULL(pfile))
|
||||
pr_warn("Creation of ctrl file returned %ld!\n",
|
||||
PTR_ERR(pfile));
|
||||
}
|
||||
} else
|
||||
netdev_warn(vif->dev,
|
||||
"Creation of vif debugfs dir returned %ld!\n",
|
||||
|
Reference in New Issue
Block a user