Re: [PATCH v2] 9p: document missing enum values in kernel-doc comments

Christian Schoenebeck <[email protected]>
Newsgroups dev.linux.lists.v9fs,org.kernel.vger.linux-kernel
Message-ID <3682866.iIbC2pHGDl@weasel>
On Sunday, 15 March 2026 18:07:02 CET Kit Dallege wrote:
> Add kernel-doc entries for all undocumented enum values:
> - p9_debug_flags: P9_DEBUG_CACHE, P9_DEBUG_MMAP
> - p9_msg_t: all 9P2000.L message types (TLOPEN/RLOPEN through
>   TUNLINKAT/RUNLINKAT)
> - p9_open_mode_t: P9L_MODE_MASK, P9L_DIRECT, P9L_NOWRITECACHE,
>   P9L_LOOSE
> 
> Assisted-by: Claude:claude-opus-4-6

Of course. :)

> Signed-off-by: Kit Dallege <[email protected]>
> ---
>  include/net/9p/9p.h | 32 ++++++++++++++++++++++++++++++++
>  1 file changed, 32 insertions(+)
> 
> diff --git a/include/net/9p/9p.h b/include/net/9p/9p.h
> index 60cad0d200a4..6b645a0d3487 100644
> --- a/include/net/9p/9p.h
> +++ b/include/net/9p/9p.h
> @@ -24,6 +24,8 @@
>   * @P9_DEBUG_PKT: packet marshalling/unmarshalling
>   * @P9_DEBUG_FSC: FS-cache tracing
>   * @P9_DEBUG_VPKT: Verbose packet debugging (full packet dump)
> + * @P9_DEBUG_CACHE: cache operations tracing
> + * @P9_DEBUG_MMAP: memory-mapped I/O tracing
>   *
>   * These flags are passed at mount time to turn on various levels of
>   * verbosity and tracing which will be output to the system logs.
> @@ -68,10 +70,36 @@ void _p9_debug(enum p9_debug_flags level, const char
> *func, * @P9_RSYMLINK: make symlink response
>   * @P9_TMKNOD: create a special file object request
>   * @P9_RMKNOD: create a special file object response
> + * @P9_TLOPEN: open a file for I/O (9P2000.L)
> + * @P9_RLOPEN: response with file access information (9P2000.L)

not really, it returns the QID and the iounit, that's it

>   * @P9_TLCREATE: prepare a handle for I/O on an new file for 9P2000.L
>   * @P9_RLCREATE: response with file access information for 9P2000.L
>   * @P9_TRENAME: rename request
>   * @P9_RRENAME: rename response
> + * @P9_TREADLINK: read symbolic link request
> + * @P9_RREADLINK: read symbolic link response

9P2000.L

link *target* ?

> + * @P9_TGETATTR: get file attributes request (9P2000.L)
> + * @P9_RGETATTR: get file attributes response (9P2000.L)
> + * @P9_TSETATTR: set file attributes request (9P2000.L)
> + * @P9_RSETATTR: set file attributes response (9P2000.L)
> + * @P9_TXATTRWALK: walk to an extended attribute
> + * @P9_RXATTRWALK: response with extended attribute handle

9P2000.L

prepare to read/list extended attributes

> + * @P9_TXATTRCREATE: create an extended attribute
> + * @P9_RXATTRCREATE: response for extended attribute creation

*prepare* to set extended attribute.

9P2000.L

> + * @P9_TREADDIR: read directory entries request
> + * @P9_RREADDIR: read directory entries response

9P2000.L

> + * @P9_TFSYNC: flush file data to storage request
> + * @P9_RFSYNC: flush file data to storage response

flush *cached* file data ...

9P2000.L

> + * @P9_TLOCK: acquire or test a POSIX lock
> + * @P9_RLOCK: lock acquisition response

acquire or *release* ...

9P2000.L

> + * @P9_TGETLOCK: get lock information
> + * @P9_RGETLOCK: lock information response

test for existence of POSIX record lock

9P2000.L

> + * @P9_TLINK: create a hard link
> + * @P9_RLINK: hard link response

9P2000.L

> + * @P9_TRENAMEAT: rename using directory fids
> + * @P9_RRENAMEAT: rename response

9P2000.L

legacy TRENAME does also use fids. This is a safer variant of TRENAME.

> + * @P9_TUNLINKAT: unlink using directory fid
> + * @P9_RUNLINKAT: unlink response

9P2000.L

unlink a file or directory

>   * @P9_TMKDIR: create a directory request
>   * @P9_RMKDIR: create a directory response

9P2000.L

>   * @P9_TVERSION: version handshake request

negotiate 9p protocol version

9p2000.L: https://github.com/chaos/diod/blob/master/protocol.md
9p2000.u: http://ericvh.github.io/9p-rfc/rfc9p2000.u.html
9p2000:   http://ericvh.github.io/9p-rfc/rfc9p2000.html

Claude, RTFM!

> @@ -194,6 +222,10 @@ enum p9_msg_t {
>   * @P9_ORCLOSE: remove the file when the file is closed
>   * @P9_OAPPEND: open the file and seek to the end
>   * @P9_OEXCL: only create a file, do not open it
> + * @P9L_MODE_MASK: mask for protocol mode bits (client-side only)
> + * @P9L_DIRECT: disable client-side caching for this file
> + * @P9L_NOWRITECACHE: disable write caching for this file
> + * @P9L_LOOSE: enable loose cache consistency
>   *
>   * 9P open modes differ slightly from Posix standard modes.
>   * In particular, there are extra modes which specify different
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.