diff options
Diffstat (limited to 'include/linux/elevator.h')
| -rw-r--r-- | include/linux/elevator.h | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/include/linux/elevator.h b/include/linux/elevator.h index 18cf1f3e1184..ad133fcfb239 100644 --- a/include/linux/elevator.h +++ b/include/linux/elevator.h | |||
| @@ -48,10 +48,17 @@ struct elevator_ops | |||
| 48 | 48 | ||
| 49 | elevator_init_fn *elevator_init_fn; | 49 | elevator_init_fn *elevator_init_fn; |
| 50 | elevator_exit_fn *elevator_exit_fn; | 50 | elevator_exit_fn *elevator_exit_fn; |
| 51 | void (*trim)(struct io_context *); | ||
| 51 | }; | 52 | }; |
| 52 | 53 | ||
| 53 | #define ELV_NAME_MAX (16) | 54 | #define ELV_NAME_MAX (16) |
| 54 | 55 | ||
| 56 | struct elv_fs_entry { | ||
| 57 | struct attribute attr; | ||
| 58 | ssize_t (*show)(elevator_t *, char *); | ||
| 59 | ssize_t (*store)(elevator_t *, const char *, size_t); | ||
| 60 | }; | ||
| 61 | |||
| 55 | /* | 62 | /* |
| 56 | * identifies an elevator type, such as AS or deadline | 63 | * identifies an elevator type, such as AS or deadline |
| 57 | */ | 64 | */ |
| @@ -60,7 +67,7 @@ struct elevator_type | |||
| 60 | struct list_head list; | 67 | struct list_head list; |
| 61 | struct elevator_ops ops; | 68 | struct elevator_ops ops; |
| 62 | struct elevator_type *elevator_type; | 69 | struct elevator_type *elevator_type; |
| 63 | struct kobj_type *elevator_ktype; | 70 | struct elv_fs_entry *elevator_attrs; |
| 64 | char elevator_name[ELV_NAME_MAX]; | 71 | char elevator_name[ELV_NAME_MAX]; |
| 65 | struct module *elevator_owner; | 72 | struct module *elevator_owner; |
| 66 | }; | 73 | }; |
| @@ -74,6 +81,7 @@ struct elevator_queue | |||
| 74 | void *elevator_data; | 81 | void *elevator_data; |
| 75 | struct kobject kobj; | 82 | struct kobject kobj; |
| 76 | struct elevator_type *elevator_type; | 83 | struct elevator_type *elevator_type; |
| 84 | struct mutex sysfs_lock; | ||
| 77 | }; | 85 | }; |
| 78 | 86 | ||
| 79 | /* | 87 | /* |
