From b5792f8e23d1599dcce49bc83e5d128abee484f3 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Sat, 21 Feb 2026 13:59:39 +0200 Subject: Enable name_to_handle_at and io_uring fd attribution Amp-Thread-ID: https://ampcode.com/threads/T-019c7fec-eec9-706a-8338-3ce674802680 Co-authored-by: Amp --- internal/eventloop.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'internal/eventloop.go') diff --git a/internal/eventloop.go b/internal/eventloop.go index c5467ec..8d5a8b0 100644 --- a/internal/eventloop.go +++ b/internal/eventloop.go @@ -232,6 +232,11 @@ func (e *eventLoop) tracepointExited(exitEv event.Event, ch chan<- *event.Pair) case *PathEvent: if ep.EnterEv.GetTraceId().Name() == sysEnterNameToHandleAtName { + retEv, ok := ep.ExitEv.(*types.RetEvent) + if !ok || retEv.Ret < 0 { + ep.Recycle() + return + } pathEv := ep.EnterEv.(*PathEvent) pathname := types.StringValue(pathEv.Pathname[:]) e.pendingHandles[ep.EnterEv.GetTid()] = pathname @@ -411,11 +416,9 @@ func (e *eventLoop) tracepointExited(exitEv event.Event, ch chan<- *event.Pair) } // TODO: implement copy_file_range // TODO: open_by_handle_at - // TODO: name_to_handle_at // TODO: mmap, msync... // TODO: getcwd? // TODO: sync_file_range - // TODO: io_uring_enter/io_uring_register are captured without fd arguments. prevPairTime, _ := e.prevPairTimes[ep.EnterEv.GetTid()] ep.CalculateDurations(prevPairTime) -- cgit v1.2.3