[master] 09cd9d4be vai: make it safe to define VAI_DBG

Nils Goroll nils.goroll at uplex.de
Thu Jul 31 09:48:05 UTC 2025


commit 09cd9d4be60e6d09ee9915ced766c596c8482ac0
Author: Nils Goroll <nils.goroll at uplex.de>
Date:   Thu Jul 31 11:41:35 2025 +0200

    vai: make it safe to define VAI_DBG
    
    We do not always have a buffer on wrk->vsl, such as for ESI.
    
    Ref #4371

diff --git a/bin/varnishd/storage/storage_simple.c b/bin/varnishd/storage/storage_simple.c
index 4ddab3590..608533193 100644
--- a/bin/varnishd/storage/storage_simple.c
+++ b/bin/varnishd/storage/storage_simple.c
@@ -517,8 +517,9 @@ sml_ai_lease_boc(struct worker *wrk, vai_hdl vhdl, struct vscarab *scarab)
 				viov->lease = ptr2lease(hdl->st);
 			}
 #ifdef VAI_DBG
-			VSLb(wrk->vsl, SLT_Debug, "off %zu + l %zu == space st %p next st %p stvprv %p",
-			    hdl->st_off, l, hdl->st, next, hdl->boc->stevedore_priv);
+			if (wrk->vsl)
+				VSLb(wrk->vsl, SLT_Debug, "off %zu + l %zu == space st %p next st %p stvprv %p",
+				    hdl->st_off, l, hdl->st, next, hdl->boc->stevedore_priv);
 #endif
 			hdl->st_off = 0;
 			hdl->st = next;
@@ -605,7 +606,8 @@ sml_ai_return(struct worker *wrk, vai_hdl vhdl, struct vscaret *scaret)
 	VSCARET_FOREACH(p, todo) {
 		CAST_OBJ_NOTNULL(st, lease2ptr(*p), STORAGE_MAGIC);
 #ifdef VAI_DBG
-		VSLb(wrk->vsl, SLT_Debug, "ret %p", st);
+		if (wrk->vsl != NULL)
+			VSLb(wrk->vsl, SLT_Debug, "ret %p", st);
 #endif
 		sml_stv_free(hdl->stv, st);
 	}
@@ -794,8 +796,9 @@ sml_iterator(struct worker *wrk, struct objcore *oc,
 			VSCARET_ADD(scaret, vio->lease);
 
 #ifdef VAI_DBG
-			VSLb(wrk->vsl, SLT_Debug, "len %zu scaret %u uu %u",
-			    vio->iov.iov_len, scaret->used, uu);
+			if (wrk->vsl)
+				VSLb(wrk->vsl, SLT_Debug, "len %zu scaret %u uu %u",
+				    vio->iov.iov_len, scaret->used, uu);
 #endif
 
 			// whenever we have flushed, return leases
@@ -814,8 +817,9 @@ sml_iterator(struct worker *wrk, struct objcore *oc,
 		VSCARAB_INIT(scarab, scarab->capacity);
 
 #ifdef VAI_DBG
-		VSLb(wrk->vsl, SLT_Debug, "r %d nn %d uu %u",
-		    r, nn, uu);
+		if (wrk->vsl)
+			VSLb(wrk->vsl, SLT_Debug, "r %d nn %d uu %u",
+			    r, nn, uu);
 #endif
 
 		// flush before blocking if we did not already


More information about the varnish-commit mailing list