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
include
linux
fault-inject.h
Go to the documentation of this file.
1
#ifndef _LINUX_FAULT_INJECT_H
2
#define _LINUX_FAULT_INJECT_H
3
4
#ifdef CONFIG_FAULT_INJECTION
5
6
#include <linux/types.h>
7
#include <
linux/debugfs.h
>
8
#include <
linux/atomic.h
>
9
10
/*
11
* For explanation of the elements of this struct, see
12
* Documentation/fault-injection/fault-injection.txt
13
*/
14
struct
fault_attr {
15
unsigned
long
probability;
16
unsigned
long
interval
;
17
atomic_t
times
;
18
atomic_t
space;
19
unsigned
long
verbose
;
20
u32
task_filter;
21
unsigned
long
stacktrace_depth;
22
unsigned
long
require_start;
23
unsigned
long
require_end;
24
unsigned
long
reject_start;
25
unsigned
long
reject_end;
26
27
unsigned
long
count
;
28
};
29
30
#define FAULT_ATTR_INITIALIZER { \
31
.interval = 1, \
32
.times = ATOMIC_INIT(1), \
33
.require_end = ULONG_MAX, \
34
.stacktrace_depth = 32, \
35
.verbose = 2, \
36
}
37
38
#define DECLARE_FAULT_ATTR(name) struct fault_attr name = FAULT_ATTR_INITIALIZER
39
int
setup_fault_attr
(
struct
fault_attr *
attr
,
char
*
str
);
40
bool
should_fail
(
struct
fault_attr *
attr
,
ssize_t
size
);
41
42
#ifdef CONFIG_FAULT_INJECTION_DEBUG_FS
43
44
struct
dentry
*fault_create_debugfs_attr(
const
char
*
name
,
45
struct
dentry
*parent,
struct
fault_attr *
attr
);
46
47
#else
/* CONFIG_FAULT_INJECTION_DEBUG_FS */
48
49
static
inline
struct
dentry
*fault_create_debugfs_attr(
const
char
*
name
,
50
struct
dentry
*parent,
struct
fault_attr *
attr
)
51
{
52
return
ERR_PTR(-
ENODEV
);
53
}
54
55
#endif
/* CONFIG_FAULT_INJECTION_DEBUG_FS */
56
57
#endif
/* CONFIG_FAULT_INJECTION */
58
59
#ifdef CONFIG_FAILSLAB
60
extern
bool
should_failslab
(
size_t
size
,
gfp_t
gfpflags,
unsigned
long
flags
);
61
#else
62
static
inline
bool
should_failslab
(
size_t
size
,
gfp_t
gfpflags,
63
unsigned
long
flags
)
64
{
65
return
false
;
66
}
67
#endif
/* CONFIG_FAILSLAB */
68
69
#endif
/* _LINUX_FAULT_INJECT_H */
Generated on Thu Jan 10 2013 14:51:23 for Linux Kernel by
1.8.2