vdo_is_read_only(9)
β¨ vdo_is_read_only β¨
okay so this is a page from the Kernel API Manual (yes, the kernel has lore too π ) and it's about one very specific little function that answers one very specific little question. Let's get into it π
πΈ NAME πΈ
vdo_is_read_only β literally just checks whether the VDO is read-only. that's the whole job. no cap π
π¦ SYNOPSIS π¦
bool vdo_is_read_only (struct vdo *vdo );
β ARGUMENTS β
vdoβ the vdo. that's it. that's the argument. iconic minimalism β¨
π RETURN π
Returns True if the vdo is read-only. false otherwise, obviously, bestie π
π DESCRIPTION π
okay so here's the actual tea π: this method may be called from any thread. any of them. all of them. it does not care. main character energy fr fr.
and that's the whole point, because the alternative is examining the VDO's state field directly β and that is only safe to check from the admin thread. so like, if you're not the admin thread and you go poking at the state field yourself? bestie no. π use this function instead. it's giving safe-and-portable. slay π₯
π SEE ALSO π
bestie there are SO many friends here, buckle up π«Ά β kernel file ./drivers/md/dm-vdo/vdo.c Introduction(9), plus:
vdo_initialize_device_registry_once(9)filter_vdos_locked(9)vdo_find_matching(9)initialize_thread_config(9)get_thread_name(9)vdo_make_thread(9)register_vdo(9)vdo_format(9)initialize_vdo(9)vdo_make(9)free_listeners(9)unregister_vdo(9)vdo_destroy(9)finish_reading_super_block(9)handle_super_block_read_error(9)vdo_load_super_block(9)vdo_get_backing_device(9)vdo_get_device_name(9)vdo_synchronous_flush(9)vdo_get_state(9)vdo_set_state(9)vdo_get_admin_state(9)record_vdo(9)continue_parent(9)handle_geometry_block_save_error(9)vdo_save_geometry_block(9)handle_super_block_save_error(9)vdo_save_super_block(9)vdo_save_components(9)vdo_register_read_only_listener(9)notify_vdo_of_read_only_mode(9)vdo_enable_read_only_entry(9)vdo_wait_until_not_entering_read_only_mode(9)as_notifier(9)finish_entering_read_only_mode(9)make_thread_read_only(9)vdo_allow_read_only_mode_entry(9)vdo_enter_read_only_mode(9)vdo_in_read_only_mode(9)vdo_in_recovery_mode(9)vdo_enter_recovery_mode(9)complete_synchronous_action(9)perform_synchronous_action(9)set_compression_callback(9)vdo_set_compressing(9)vdo_get_compressing(9)vdo_get_physical_blocks_allocated(9)vdo_get_physical_blocks_overhead(9)get_vdo_statistics(9)vdo_fetch_statistics_callback(9)vdo_fetch_statistics(9)vdo_get_callback_thread_id(9)vdo_dump_status(9)vdo_assert_on_admin_thread(9)vdo_assert_on_logical_zone_thread(9)vdo_assert_on_physical_zone_thread(9)vdo_get_physical_zone(9)
like I said. so many friends. the whole group chat showed up ππ
ngl if you take one thing from this page: any thread can call vdo_is_read_only, but only the admin thread can safely look at the state field directly. don't mix those up. iykyk π
that's the page, bestie!! π§ this little gem lives in ./drivers/md/dm-vdo, dated October 2026 β mwah, sending you all the read-only vibes, periodt ππ¦πΈ
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms