Re: [PATCH 3/8] fuse: capture the unique id of fuse commands being sent

Miklos Szeredi
2025-09-23T10:58:22Z

On Tue, 16 Sept 2025 at 02:24, Darrick J. Wong <djwong@kernel.org> wrote:
>
> From: Darrick J. Wong <djwong@kernel.org>
>
> The fuse_request_{send,end} tracepoints capture the value of
> req->in.h.unique in the trace output. It would be really nice if we
> could use this to match a request to its response for debugging and
> latency analysis, but the call to trace_fuse_request_send occurs before
> the unique id has been set:
>
> fuse_request_send: connection 8388608 req 0 opcode 1 (FUSE_LOOKUP) len 107
> fuse_request_end: connection 8388608 req 6 len 16 error -2
>
> (Notice that req moves from 0 to 6)
>
> Move the callsites to trace_fuse_request_send to after the unique id has
> been set by introducing a helper to do that for standard fuse_req
> requests. FUSE_FORGET requests are not covered by this because they
> appear to be synthesized into the event stream without a fuse_req
> object and are never replied to.
>
> Requests that are aborted without ever having been submitted to the fuse
> server retain the behavior that only the fuse_request_end tracepoint
> shows up in the trace record, and with req==0.
>
> Signed-off-by: "Darrick J. Wong" <djwong@kernel.org>

Applied, thanks.

Miklos