|
@@ -1370,21 +1370,12 @@ failed:
|
|
|
|
|
|
#ifdef CONFIG_FAIL_PAGE_ALLOC
|
|
|
|
|
|
-static struct fail_page_alloc_attr {
|
|
|
+static struct {
|
|
|
struct fault_attr attr;
|
|
|
|
|
|
u32 ignore_gfp_highmem;
|
|
|
u32 ignore_gfp_wait;
|
|
|
u32 min_order;
|
|
|
-
|
|
|
-#ifdef CONFIG_FAULT_INJECTION_DEBUG_FS
|
|
|
-
|
|
|
- struct dentry *ignore_gfp_highmem_file;
|
|
|
- struct dentry *ignore_gfp_wait_file;
|
|
|
- struct dentry *min_order_file;
|
|
|
-
|
|
|
-#endif /* CONFIG_FAULT_INJECTION_DEBUG_FS */
|
|
|
-
|
|
|
} fail_page_alloc = {
|
|
|
.attr = FAULT_ATTR_INITIALIZER,
|
|
|
.ignore_gfp_wait = 1,
|
|
@@ -1424,30 +1415,24 @@ static int __init fail_page_alloc_debugfs(void)
|
|
|
"fail_page_alloc");
|
|
|
if (err)
|
|
|
return err;
|
|
|
+
|
|
|
dir = fail_page_alloc.attr.dir;
|
|
|
|
|
|
- fail_page_alloc.ignore_gfp_wait_file =
|
|
|
- debugfs_create_bool("ignore-gfp-wait", mode, dir,
|
|
|
- &fail_page_alloc.ignore_gfp_wait);
|
|
|
-
|
|
|
- fail_page_alloc.ignore_gfp_highmem_file =
|
|
|
- debugfs_create_bool("ignore-gfp-highmem", mode, dir,
|
|
|
- &fail_page_alloc.ignore_gfp_highmem);
|
|
|
- fail_page_alloc.min_order_file =
|
|
|
- debugfs_create_u32("min-order", mode, dir,
|
|
|
- &fail_page_alloc.min_order);
|
|
|
-
|
|
|
- if (!fail_page_alloc.ignore_gfp_wait_file ||
|
|
|
- !fail_page_alloc.ignore_gfp_highmem_file ||
|
|
|
- !fail_page_alloc.min_order_file) {
|
|
|
- err = -ENOMEM;
|
|
|
- debugfs_remove(fail_page_alloc.ignore_gfp_wait_file);
|
|
|
- debugfs_remove(fail_page_alloc.ignore_gfp_highmem_file);
|
|
|
- debugfs_remove(fail_page_alloc.min_order_file);
|
|
|
- cleanup_fault_attr_dentries(&fail_page_alloc.attr);
|
|
|
- }
|
|
|
+ if (!debugfs_create_bool("ignore-gfp-wait", mode, dir,
|
|
|
+ &fail_page_alloc.ignore_gfp_wait))
|
|
|
+ goto fail;
|
|
|
+ if (!debugfs_create_bool("ignore-gfp-highmem", mode, dir,
|
|
|
+ &fail_page_alloc.ignore_gfp_highmem))
|
|
|
+ goto fail;
|
|
|
+ if (!debugfs_create_u32("min-order", mode, dir,
|
|
|
+ &fail_page_alloc.min_order))
|
|
|
+ goto fail;
|
|
|
+
|
|
|
+ return 0;
|
|
|
+fail:
|
|
|
+ cleanup_fault_attr_dentries(&fail_page_alloc.attr);
|
|
|
|
|
|
- return err;
|
|
|
+ return -ENOMEM;
|
|
|
}
|
|
|
|
|
|
late_initcall(fail_page_alloc_debugfs);
|