diff options
Diffstat (limited to 'include/linux/kernfs.h')
-rw-r--r-- | include/linux/kernfs.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/include/linux/kernfs.h b/include/linux/kernfs.h index 30faf797c2c3..d4e01b358341 100644 --- a/include/linux/kernfs.h +++ b/include/linux/kernfs.h | |||
@@ -179,6 +179,7 @@ struct kernfs_open_file { | |||
179 | struct mutex mutex; | 179 | struct mutex mutex; |
180 | int event; | 180 | int event; |
181 | struct list_head list; | 181 | struct list_head list; |
182 | char *prealloc_buf; | ||
182 | 183 | ||
183 | size_t atomic_write_len; | 184 | size_t atomic_write_len; |
184 | bool mmapped; | 185 | bool mmapped; |
@@ -214,6 +215,13 @@ struct kernfs_ops { | |||
214 | * larger ones are rejected with -E2BIG. | 215 | * larger ones are rejected with -E2BIG. |
215 | */ | 216 | */ |
216 | size_t atomic_write_len; | 217 | size_t atomic_write_len; |
218 | /* | ||
219 | * "prealloc" causes a buffer to be allocated at open for | ||
220 | * all read/write requests. As ->seq_show uses seq_read() | ||
221 | * which does its own allocation, it is incompatible with | ||
222 | * ->prealloc. Provide ->read and ->write with ->prealloc. | ||
223 | */ | ||
224 | bool prealloc; | ||
217 | ssize_t (*write)(struct kernfs_open_file *of, char *buf, size_t bytes, | 225 | ssize_t (*write)(struct kernfs_open_file *of, char *buf, size_t bytes, |
218 | loff_t off); | 226 | loff_t off); |
219 | 227 | ||