From de3fb5d915c455b02e4d7c46663f3cae91e29a47 Mon Sep 17 00:00:00 2001 From: Sang Woo Kim Date: Fri, 22 May 2026 11:04:53 +0900 Subject: [PATCH] qsrv: pvaLink getTimeStampTag return remote timeStamp.userTag pvaLink cached the remote timeStamp.userTag in fld_usertag but never assigned snap_tag from it (pvalink.h initialises snap_tag to 0 and no code path updated it), so pvaGetTimeStampTag() always returned 0. Records reading a user tag through a PVA link lost that metadata. Assign snap_tag from fld_usertag in the same snapshot block that derives snap_time from fld_seconds/fld_nanoseconds, defaulting to 0 when the field is absent. --- ioc/pvalink_lset.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/ioc/pvalink_lset.cpp b/ioc/pvalink_lset.cpp index e2691d5..ccbe72f 100644 --- a/ioc/pvalink_lset.cpp +++ b/ioc/pvalink_lset.cpp @@ -403,6 +403,12 @@ long pvaGetValue(DBLINK *plink, short dbrType, void *pbuffer, long *pnRequest) n self->snap_time.nsec = 0u; } + if(self->fld_usertag) { + self->snap_tag = self->fld_usertag.as(); + } else { + self->snap_tag = 0; + } + if(self->fld_severity) { self->snap_severity = self->fld_severity.as(); } else {