ubifs_tnc_next_ent(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– NAME πŸ’–

okay so this is the ubifs_tnc_next_ent(9) page from the Kernel API Manual, and it's literally about walking directory or extended attribute entries. bestie, we're going entry-hunting ✨


πŸ¦‹ SYNOPSIS πŸ¦‹

struct ubifs_dent_node * ubifs_tnc_next_ent (struct ubifs_info *c ,
       union ubifs_key *key , const struct fscrypt_name *nm );

πŸŽ€ ARGUMENTS πŸŽ€

  • c β€” the UBIFS file-system description object, aka the whole vibe of the filesystem
  • key β€” key of last entry, like your little bookmark in the entry list
  • nm β€” name of last entry found, or NULL if there isn't one

🌸 DESCRIPTION 🌸

So this function finds and reads the next directory or extended attribute entry after the given key (key) if there is one. nm is there to resolve collisions β€” think of it as the friend who steps in when two names are fighting for the same spot πŸ’…

If the name of the current entry is not known and only the key is known, then nm->name has to be NULL. In this case the semantics of this function are a little bit different: it returns the entry corresponding to this key, not the next one. If the key was not found, the closest "right" entry is returned. yes bestie, it's giving "close enough" energy 😭

If the first entry has to be found, key has to contain the lowest possible key value for this inode and name has to be NULL. that's the rule, no cap 🫢

This function returns the found directory or extended attribute entry node in case of success, -ENOENT is returned if no entry was found, and a negative error code is returned in case of failure. so like: success = slay, -ENOENT = nothing there, negative error = something went off πŸ’€


🌈 SEE ALSO 🌈

Kernel file ./fs/ubifs/tnc.c β€” and the whole squad is here:

insert_old_idx(9), insert_old_idx_znode(9), ins_clr_old_idx_znode(9), destroy_old_idx(9), copy_znode(9), add_idx_dirt(9), replace_znode(9), dirty_cow_znode(9), lnc_add(9), lnc_free(9), tnc_read_hashed_node(9), try_read_node(9), fallible_read_node(9), matches_name(9), get_znode(9), tnc_next(9), tnc_prev(9), resolve_collision(9), fallible_matches_name(9), fallible_resolve_collision(9), matches_position(9), resolve_collision_directly(9), dirty_cow_bottom_up(9), ubifs_lookup_level0(9), lookup_level0_dirty(9), maybe_leb_gced(9), ubifs_tnc_locate(9), ubifs_tnc_get_bu_keys(9), read_wbuf(9), validate_data_node(9), ubifs_tnc_bulk_read(9), do_lookup_nm(9), ubifs_tnc_lookup_nm(9), ubifs_tnc_lookup_dh(9), correct_parent_keys(9), insert_zbranch(9), tnc_insert(9), ubifs_tnc_add(9), ubifs_tnc_replace(9), ubifs_tnc_add_nm(9), tnc_delete(9), ubifs_tnc_remove(9), ubifs_tnc_remove_nm(9), ubifs_tnc_remove_dh(9), key_in_range(9), ubifs_tnc_remove_range(9), ubifs_tnc_remove_ino(9), tnc_destroy_cnext(9), ubifs_tnc_close(9), left_znode(9), right_znode(9), lookup_znode(9), is_idx_node_in_tnc(9), is_leaf_node_in_tnc(9), ubifs_tnc_has_node(9), ubifs_dirty_idx_node(9), dbg_check_inode_size(9) πŸ”₯


source/version: ./fs/ubifs Β· date: October 2026 Β· manual: ubifs_tnc_next_ent(9)

that's the whole page, bestie β€” go forth and walk those entries πŸ’œπŸ«Άβœ¨

πŸ“¦ where this page comes from