is_not_older(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… is_not_older β€” a Kernel API Manual moment (section 9, bestie) πŸŽ€

Okay so real talk: this little function lives in the Kernel API Manual, is_not_older(9), and it's genuinely so simple it's iconic. It checks whether a generation is strictly older than some other generation, but β€” plot twist β€” it's all judged against a zone's current generation range. Not just regular number comparison, it's giving "context-aware era math" energy. πŸ¦‹


✨ SYNOPSIS ✨

bool is_not_older (struct block_map_zone *zone , u8 a , u8 b );

Look at her. Three args, returns a bool. Clean, no notes. 😌


🌸 ARGUMENTS 🌸

  • zone β€” the zone where the comparison happens, aka the whole vibe context for this operation. πŸ’«
  • a β€” the generation in question, like the one we're side-eyeing. πŸ‘€
  • b β€” the generation we're comparing a against. The benchmark, the reference point, the main character of comparison. πŸ‘‘

πŸ’– RETURN πŸ’–

It returns true if generation a is not strictly older than generation b β€” in the context of zone. Read that again, bestie: not strictly older. The zone's range is doing the heavy lifting here, no cap. 🫢


πŸ”₯ SEE ALSO πŸ”₯

Kernel file ./drivers/md/dm-vdo/block-map.c

Block map eras(9), initialize_info(9), allocate_cache_components(9), assert_on_cache_thread(9), get_page_state_name(9), update_counter(9), set_info_state(9), find_free_page(9), find_page(9), select_lru_page(9), complete_with_page(9), complete_waiter_with_error(9), complete_waiter_with_page(9), distribute_page_over_waitq(9), set_persistent_error(9), validate_completed_page(9), handle_load_error(9), page_is_loaded(9), handle_rebuild_read_error(9), launch_page_load(9), schedule_page_save(9), launch_page_save(9), completion_needs_page(9), allocate_free_page(9), discard_a_page(9), discard_page_if_needed(9), write_has_finished(9), handle_page_write_error(9), page_is_written_out(9), write_pages(9), vdo_release_page_completion(9), vdo_get_page(9), vdo_request_page_write(9), vdo_get_cached_page(9), vdo_invalidate_page_cache(9), get_tree_page_by_index(9), in_cyclic_range(9), add_to_dirty_lists(9), vdo_find_block_map_slot(9), make_forest(9), replace_forest(9), finish_cursor(9), continue_traversal(9), finish_traversal_load(9), traverse(9), launch_cursor(9), compute_boundary(9), vdo_traverse_forest(9), initialize_block_map_zone(9), clear_mapped_location(9), set_mapped_location(9)

Like, that's a whole friend group of functions. Go say hi. πŸ«‚


Ngl there's not a single warning or bug note on this page β€” she's just a one-line truth-teller and honestly? Slay. ✨

That's the whole page, bestie β€” brought to you by the ./drivers/md/dm-vdo source, version vibes from October 2026, filed under is_not_older(9). Bye, ily, go read a block map πŸ’…πŸ’–

πŸ“¦ where this page comes from