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.
This commit is contained in:
Sang Woo Kim
2026-05-24 14:13:25 -07:00
committed by Michael Davidsaver
parent bf571f6eb2
commit de3fb5d915
+6
View File
@@ -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<epicsUTag>();
} else {
self->snap_tag = 0;
}
if(self->fld_severity) {
self->snap_severity = self->fld_severity.as<uint16_t>();
} else {