Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
lib
memory-notifier-error-inject.c
Go to the documentation of this file.
1
#include <linux/kernel.h>
2
#include <linux/module.h>
3
#include <
linux/memory.h
>
4
5
#include "
notifier-error-inject.h
"
6
7
static
int
priority
;
8
module_param
(
priority
,
int
, 0);
9
MODULE_PARM_DESC
(
priority
,
"specify memory notifier priority"
);
10
11
static
struct
notifier_err_inject
memory_notifier_err_inject = {
12
.actions = {
13
{
NOTIFIER_ERR_INJECT_ACTION
(
MEM_GOING_ONLINE
) },
14
{
NOTIFIER_ERR_INJECT_ACTION
(
MEM_GOING_OFFLINE
) },
15
{}
16
}
17
};
18
19
static
struct
dentry
*
dir
;
20
21
static
int
err_inject_init(
void
)
22
{
23
int
err
;
24
25
dir =
notifier_err_inject_init
(
"memory"
,
notifier_err_inject_dir
,
26
&memory_notifier_err_inject,
priority
);
27
if
(IS_ERR(dir))
28
return
PTR_ERR(dir);
29
30
err =
register_memory_notifier
(&memory_notifier_err_inject.
nb
);
31
if
(err)
32
debugfs_remove_recursive
(dir);
33
34
return
err
;
35
}
36
37
static
void
err_inject_exit(
void
)
38
{
39
unregister_memory_notifier
(&memory_notifier_err_inject.
nb
);
40
debugfs_remove_recursive
(dir);
41
}
42
43
module_init
(err_inject_init);
44
module_exit
(err_inject_exit);
45
46
MODULE_DESCRIPTION
(
"memory notifier error injection module"
);
47
MODULE_LICENSE
(
"GPL"
);
48
MODULE_AUTHOR
(
"Akinobu Mita <
[email protected]
>"
);
Generated on Thu Jan 10 2013 14:55:43 for Linux Kernel by
1.8.2