aboutsummaryrefslogtreecommitdiffstats
path: root/fs/exofs/exofs.h
diff options
context:
space:
mode:
Diffstat (limited to 'fs/exofs/exofs.h')
-rw-r--r--fs/exofs/exofs.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/fs/exofs/exofs.h b/fs/exofs/exofs.h
index 9f62349a5a5c..fd913ddfd48b 100644
--- a/fs/exofs/exofs.h
+++ b/fs/exofs/exofs.h
@@ -109,7 +109,7 @@ static inline osd_id exofs_oi_objno(struct exofs_i_info *oi)
109} 109}
110 110
111struct exofs_io_state; 111struct exofs_io_state;
112typedef void (*exofs_io_done_fn)(struct exofs_io_state *or, void *private); 112typedef void (*exofs_io_done_fn)(struct exofs_io_state *ios, void *private);
113 113
114struct exofs_io_state { 114struct exofs_io_state {
115 struct kref kref; 115 struct kref kref;
@@ -137,6 +137,8 @@ struct exofs_io_state {
137 unsigned out_attr_len; 137 unsigned out_attr_len;
138 struct osd_attr *out_attr; 138 struct osd_attr *out_attr;
139 139
140 bool reading;
141
140 /* Variable array of size numdevs */ 142 /* Variable array of size numdevs */
141 unsigned numdevs; 143 unsigned numdevs;
142 struct exofs_per_dev_state { 144 struct exofs_per_dev_state {
@@ -218,6 +220,8 @@ void exofs_make_credential(u8 cred_a[OSD_CAP_LEN],
218int exofs_read_kern(struct osd_dev *od, u8 *cred, struct osd_obj_id *obj, 220int exofs_read_kern(struct osd_dev *od, u8 *cred, struct osd_obj_id *obj,
219 u64 offset, void *p, unsigned length); 221 u64 offset, void *p, unsigned length);
220 222
223int exofs_get_rw_state(struct exofs_layout *layout, bool is_reading,
224 u64 offset, u64 length, struct exofs_io_state **ios);
221int exofs_get_io_state(struct exofs_layout *layout, 225int exofs_get_io_state(struct exofs_layout *layout,
222 struct exofs_io_state **ios); 226 struct exofs_io_state **ios);
223void exofs_put_io_state(struct exofs_io_state *ios); 227void exofs_put_io_state(struct exofs_io_state *ios);