Exemplo n.º 1
0
static int __init fail_iommu_debugfs(void)
{
	struct dentry *dir = fault_create_debugfs_attr("fail_iommu",
						       NULL, &fail_iommu);

	return PTR_ERR_OR_ZERO(dir);
}
Exemplo n.º 2
0
static int __init fail_iommu_debugfs(void)
{
	struct dentry *dir = fault_create_debugfs_attr("fail_iommu",
						       NULL, &fail_iommu);

	return IS_ERR(dir) ? PTR_ERR(dir) : 0;
}
Exemplo n.º 3
0
void mmc_add_host_debugfs(struct mmc_host *host)
{
	struct dentry *root;

	root = debugfs_create_dir(mmc_hostname(host), NULL);
	if (IS_ERR(root))
		/* Don't complain -- debugfs just isn't enabled */
		return;
	if (!root)
		/* Complain -- debugfs is enabled, but it failed to
		 * create the directory. */
		goto err_root;

	host->debugfs_root = root;

	if (!debugfs_create_file("ios", S_IRUSR, root, host, &mmc_ios_fops))
		goto err_node;

	if (!debugfs_create_file("clock", S_IRUSR | S_IWUSR, root, host,
			&mmc_clock_fops))
		goto err_node;

	if (!debugfs_create_file("max_clock", S_IRUSR | S_IWUSR, root, host,
		&mmc_max_clock_fops))
		goto err_node;

#ifdef CONFIG_MMC_CLKGATE
	if (!debugfs_create_u32("clk_delay", (S_IRUSR | S_IWUSR),
				root, &host->clk_delay))
		goto err_node;
#endif
#ifdef CONFIG_FAIL_MMC_REQUEST
	if (fail_request)
		setup_fault_attr(&fail_default_attr, fail_request);
	host->fail_mmc_request = fail_default_attr;
	if (IS_ERR(fault_create_debugfs_attr("fail_mmc_request",
					     root,
					     &host->fail_mmc_request)))
		goto err_node;
#endif
	return;

err_node:
	debugfs_remove_recursive(root);
	host->debugfs_root = NULL;
err_root:
	dev_err(&host->class_dev, "failed to initialize debugfs\n");
}
Exemplo n.º 4
0
static void ufsdbg_setup_fault_injection(struct ufs_hba *hba)
{
	hba->debugfs_files.fail_attr = fail_default_attr;

	if (fail_request)
		setup_fault_attr(&hba->debugfs_files.fail_attr, fail_request);

	/* suppress dump stack everytime failure is injected */
	hba->debugfs_files.fail_attr.verbose = 0;

	if (IS_ERR(fault_create_debugfs_attr("inject_fault",
					hba->debugfs_files.debugfs_root,
					&hba->debugfs_files.fail_attr)))
		dev_err(hba->dev, "%s: failed to create debugfs entry\n",
				__func__);
}
Exemplo n.º 5
0
static int __init failslab_debugfs_init(void)
{
	struct dentry *dir;
	umode_t mode = S_IFREG | S_IRUSR | S_IWUSR;

	dir = fault_create_debugfs_attr("failslab", NULL, &failslab.attr);
	if (IS_ERR(dir))
		return PTR_ERR(dir);

	if (!debugfs_create_bool("ignore-gfp-wait", mode, dir,
				&failslab.ignore_gfp_reclaim))
		goto fail;
	if (!debugfs_create_bool("cache-filter", mode, dir,
				&failslab.cache_filter))
		goto fail;

	return 0;
fail:
	debugfs_remove_recursive(dir);

	return -ENOMEM;
}
Exemplo n.º 6
0
int blk_should_fake_timeout(struct request_queue *q)
{
    if (!test_bit(QUEUE_FLAG_FAIL_IO, &q->queue_flags))
        return 0;

    return should_fail(&fail_io_timeout, 1);
}

static int __init fail_io_timeout_debugfs(void)
{
    <<<<<<< HEAD
    =======
        <<<<<<< HEAD
        >>>>>>> ae1773bb70f3d7cf73324ce8fba787e01d8fa9f2
        struct dentry *dir = fault_create_debugfs_attr("fail_io_timeout",
                             NULL, &fail_io_timeout);

    return IS_ERR(dir) ? PTR_ERR(dir) : 0;
    <<<<<<< HEAD
    =======
        =======
            return init_fault_attr_dentries(&fail_io_timeout, "fail_io_timeout");
    >>>>>>> 58a75b6a81be54a8b491263ca1af243e9d8617b9
    >>>>>>> ae1773bb70f3d7cf73324ce8fba787e01d8fa9f2
}

late_initcall(fail_io_timeout_debugfs);

ssize_t part_timeout_show(struct device *dev, struct device_attribute *attr,
                          char *buf)
{