Lines Matching full:vdo

37  * typedef vdo_read_only_notification_fn - A function to notify a listener that the VDO has gone
45 * An object to be notified when the VDO enters read-only mode
57 struct vdo *vdo; member
61 * Each thread maintains its own notion of whether the VDO is read-only so that the
63 * synchronization or thread safety. This does mean that knowledge of the VDO going
64 * read-only does not occur simultaneously across the VDO's threads, but that does not seem
69 * A list of objects waiting to be notified on this thread that the VDO has entered
115 /* The code of the error which put the VDO into read-only mode */
122 * The thread ID returned when the current thread is not a vdo thread, or can not be determined
166 struct vdo { struct
173 /* The atomic version of the state of this vdo */ argument
184 /* The load-time configuration of this vdo */ argument
214 /* The state the vdo was in when loaded (primarily for unit tests) */ argument
217 /* The logical zones of this vdo */
220 /* The physical zones of this vdo */ argument
223 /* The hash lock zones of this vdo */ argument
251 /* A list of all device_configs referencing this vdo */ argument
254 /* This VDO's list entry for the device registry */
266 * vdo_uses_bio_ack_queue() - Indicate whether the vdo is configured to use a separate work queue argument
268 * @vdo: The vdo.
275 static inline bool vdo_uses_bio_ack_queue(struct vdo *vdo) in vdo_uses_bio_ack_queue() argument
277 return vdo->device_config->thread_counts.bio_ack_threads > 0; in vdo_uses_bio_ack_queue()
281 * typedef vdo_filter_fn - Method type for vdo matching methods.
283 * A filter function returns false if the vdo doesn't match.
285 typedef bool (*vdo_filter_fn)(struct vdo *vdo, const void *context);
288 struct vdo * __must_check vdo_find_matching(vdo_filter_fn filter, const void *context);
290 int __must_check vdo_make_thread(struct vdo *vdo, thread_id_t thread_id,
294 static inline int __must_check vdo_make_default_thread(struct vdo *vdo, in vdo_make_default_thread() argument
297 return vdo_make_thread(vdo, thread_id, NULL, 1, NULL); in vdo_make_default_thread()
301 char **reason, struct vdo **vdo_ptr);
303 void vdo_destroy(struct vdo *vdo);
305 void vdo_load_super_block(struct vdo *vdo, struct vdo_completion *parent);
307 struct block_device * __must_check vdo_get_backing_device(const struct vdo *vdo);
311 int __must_check vdo_synchronous_flush(struct vdo *vdo);
313 const struct admin_state_code * __must_check vdo_get_admin_state(const struct vdo *vdo);
315 bool vdo_set_compressing(struct vdo *vdo, bool enable);
317 bool vdo_get_compressing(struct vdo *vdo);
319 void vdo_fetch_statistics(struct vdo *vdo, struct vdo_statistics *stats);
323 enum vdo_state __must_check vdo_get_state(const struct vdo *vdo);
325 void vdo_set_state(struct vdo *vdo, enum vdo_state state);
327 void vdo_save_components(struct vdo *vdo, struct vdo_completion *parent);
329 int vdo_register_read_only_listener(struct vdo *vdo, void *listener,
333 int vdo_enable_read_only_entry(struct vdo *vdo);
339 void vdo_enter_read_only_mode(struct vdo *vdo, int error_code);
341 bool __must_check vdo_is_read_only(struct vdo *vdo);
343 bool __must_check vdo_in_read_only_mode(const struct vdo *vdo);
345 bool __must_check vdo_in_recovery_mode(const struct vdo *vdo);
347 void vdo_enter_recovery_mode(struct vdo *vdo);
349 void vdo_assert_on_admin_thread(const struct vdo *vdo, const char *name);
351 void vdo_assert_on_logical_zone_thread(const struct vdo *vdo, zone_count_t logical_zone,
354 void vdo_assert_on_physical_zone_thread(const struct vdo *vdo, zone_count_t physical_zone,
357 int __must_check vdo_get_physical_zone(const struct vdo *vdo, physical_block_number_t pbn,
360 void vdo_dump_status(const struct vdo *vdo);