STRUCT V9FS_SESSION_INFO(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

🩷 struct v9fs_session_info(9) β€” per-instance session information 🩷

okay so this is from the Kernel API Manual, bestie, and it’s the struct v9fs_session_info page β€” yes, we’re doing kernel struct lore today πŸ’–

🌸 NAME 🌸

struct v9fs_session_info β€” per-instance session information. that’s the whole name vibe, no cap ✨

πŸ’– SYNOPSIS πŸ’–

here’s the struct exactly as it appears, no edits, no skipping, iykyk:

       struct v9fs_session_info {
           unsigned int flags;
           unsigned char nodev;
           unsigned short debug;
           unsigned int afid;
           unsigned int cache;
           unsigned int ndentry_timeout_ms;
         #ifdef CONFIG_9P_FSCACHE;
           char *cachetag;
           struct fscache_volume *fscache;
         #endif;
           char *uname;
           char *aname;
           unsigned int maxdata;
           kuid_t dfltuid;
           kgid_t dfltgid;
           kuid_t uid;
           struct p9_client *clnt;
           struct list_head slist;
           struct rw_semaphore rename_sem;
           long session_lock_timeout;
           struct rcu_head rcu;
        };

πŸ¦‹ Members πŸ¦‹

member-by-member tea, bestie β€” these are the one-liners the page gives us πŸŽ€

  • flags β€” session options of type p9_session_flags.
  • nodev β€” set to 1 to disable device mapping.
  • debug β€” debug level.
  • afid β€” authentication handle.
  • cache β€” cache mode of type p9_cache_bits.
  • ndentry_timeout_ms β€” Negative dentry caching retention time.
  • cachetag β€” the tag of the cache associated with this session. this one lives inside the CONFIG_9P_FSCACHE block, periodt πŸ’…
  • fscache β€” session cookie associated with FS-Cache.
  • uname β€” string user name to mount hierarchy as.
  • aname β€” mount specifier for remote hierarchy.
  • maxdata β€” maximum data to be sent/recvd per protocol message.
  • dfltuid β€” default numeric userid to mount hierarchy as.
  • dfltgid β€” default numeric groupid to mount hierarchy as.
  • uid β€” if V9FS_ACCESS_SINGLE, the numeric uid which mounted the hierarchy.
  • clnt β€” reference to 9P network client instantiated for this session.
  • slist β€” reference to list of registered 9p sessions.

and yeah, rename_sem, session_lock_timeout, and rcu are in the struct too β€” the original member rundown doesn’t give them their own one-liners, so I’m not out here inventing tea πŸ™ˆ

πŸ’œ Description πŸ’œ

This structure holds state for each session instance established during a sys_mount.

Bugs: there seems to be a lot of state which could be condensed and/or removed.

like… the struct said β€œI contain multitudes” and the page said β€œmaybe too many multitudes” 😭

πŸ”₯ SEE ALSO πŸ”₯

okay bestie, that’s the page πŸ’… β€” source/version is ./fs/9p, date is October 2026, and this sign-off is officially iconic πŸ‘‘βœ¨

πŸ“¦ where this page comes from