[master] 0f0eae3 Move fetch_failed from worker to busyobj
Poul-Henning Kamp
phk at varnish-cache.org
Tue Nov 29 18:51:18 CET 2011
commit 0f0eae3726097ec9e77ef6dd15471a7b8b077856
Author: Poul-Henning Kamp <phk at FreeBSD.org>
Date: Tue Nov 29 17:50:53 2011 +0000
Move fetch_failed from worker to busyobj
diff --git a/bin/varnishd/cache/cache.h b/bin/varnishd/cache/cache.h
index 634d9aa..8cffdef 100644
--- a/bin/varnishd/cache/cache.h
+++ b/bin/varnishd/cache/cache.h
@@ -336,7 +336,6 @@ struct worker {
enum body_status body_status;
struct vgz *vgz_rx;
struct vef_priv *vef_priv;
- unsigned fetch_failed;
unsigned do_stream;
unsigned do_esi;
unsigned do_gzip;
@@ -347,7 +346,7 @@ struct worker {
/* Stream state */
struct stream_ctx *sctx;
- /* ESI stuff */
+ /* ESI delivery stuff */
int gzip_resp;
ssize_t l_crc;
uint32_t crc;
@@ -503,6 +502,7 @@ struct busyobj {
struct vfp *vfp;
struct vep_state *vep;
+ unsigned fetch_failed;
};
/* Object structure --------------------------------------------------*/
diff --git a/bin/varnishd/cache/cache_esi_fetch.c b/bin/varnishd/cache/cache_esi_fetch.c
index f5748a3..b23538c 100644
--- a/bin/varnishd/cache/cache_esi_fetch.c
+++ b/bin/varnishd/cache/cache_esi_fetch.c
@@ -334,7 +334,7 @@ vfp_esi_bytes(struct worker *w, struct http_conn *htc, ssize_t bytes)
int i;
CHECK_OBJ_NOTNULL(w, WORKER_MAGIC);
- AZ(w->fetch_failed);
+ AZ(w->busyobj->fetch_failed);
AN(w->busyobj->vep);
assert(w->htc == htc);
if (w->busyobj->is_gzip && w->do_gunzip)
@@ -360,7 +360,7 @@ vfp_esi_end(struct worker *w)
CHECK_OBJ_NOTNULL(w, WORKER_MAGIC);
AN(w->busyobj->vep);
- retval = w->fetch_failed;
+ retval = w->busyobj->fetch_failed;
if (w->vgz_rx != NULL && VGZ_Destroy(&w->vgz_rx, -1) != VGZ_END)
retval = FetchError(w,
diff --git a/bin/varnishd/cache/cache_fetch.c b/bin/varnishd/cache/cache_fetch.c
index 9413300..895a5cb 100644
--- a/bin/varnishd/cache/cache_fetch.c
+++ b/bin/varnishd/cache/cache_fetch.c
@@ -46,7 +46,7 @@ static unsigned fetchfrag;
* We want to issue the first error we encounter on fetching and
* supress the rest. This function does that.
*
- * Other code is allowed to look at w->fetch_failed to bail out
+ * Other code is allowed to look at w->busyobj->fetch_failed to bail out
*
* For convenience, always return -1
*/
@@ -56,13 +56,13 @@ FetchError2(struct worker *w, const char *error, const char *more)
{
CHECK_OBJ_NOTNULL(w, WORKER_MAGIC);
- if (!w->fetch_failed) {
+ if (!w->busyobj->fetch_failed) {
if (more == NULL)
WSLB(w, SLT_FetchError, "%s", error);
else
WSLB(w, SLT_FetchError, "%s: %s", error, more);
}
- w->fetch_failed = 1;
+ w->busyobj->fetch_failed = 1;
return (-1);
}
@@ -112,7 +112,7 @@ vfp_nop_bytes(struct worker *w, struct http_conn *htc, ssize_t bytes)
ssize_t l, wl;
struct storage *st;
- AZ(w->fetch_failed);
+ AZ(w->busyobj->fetch_failed);
while (bytes > 0) {
st = FetchStorage(w, 0);
if (st == NULL)
@@ -503,7 +503,7 @@ FetchBody(struct worker *w, struct object *obj)
AZ(VTAILQ_FIRST(&obj->store));
w->fetch_obj = obj;
- w->fetch_failed = 0;
+ w->busyobj->fetch_failed = 0;
/* XXX: pick up estimate from objdr ? */
cl = 0;
@@ -579,7 +579,7 @@ FetchBody(struct worker *w, struct object *obj)
obj->len = 0;
return (__LINE__);
}
- AZ(w->fetch_failed);
+ AZ(w->busyobj->fetch_failed);
if (cls == 0 && w->do_close)
cls = 1;
diff --git a/bin/varnishd/cache/cache_gzip.c b/bin/varnishd/cache/cache_gzip.c
index 57b25a5..a175fdf 100644
--- a/bin/varnishd/cache/cache_gzip.c
+++ b/bin/varnishd/cache/cache_gzip.c
@@ -471,7 +471,7 @@ vfp_gunzip_bytes(struct worker *w, struct http_conn *htc, ssize_t bytes)
size_t dl;
const void *dp;
- AZ(w->fetch_failed);
+ AZ(w->busyobj->fetch_failed);
vg = w->vgz_rx;
CHECK_OBJ_NOTNULL(vg, VGZ_MAGIC);
AZ(vg->vz.avail_in);
@@ -508,7 +508,7 @@ vfp_gunzip_end(struct worker *w)
vg = w->vgz_rx;
w->vgz_rx = NULL;
CHECK_OBJ_NOTNULL(vg, VGZ_MAGIC);
- if (w->fetch_failed) {
+ if (w->busyobj->fetch_failed) {
(void)VGZ_Destroy(&vg, -1);
return(0);
}
@@ -549,7 +549,7 @@ vfp_gzip_bytes(struct worker *w, struct http_conn *htc, ssize_t bytes)
size_t dl;
const void *dp;
- AZ(w->fetch_failed);
+ AZ(w->busyobj->fetch_failed);
vg = w->vgz_rx;
CHECK_OBJ_NOTNULL(vg, VGZ_MAGIC);
AZ(vg->vz.avail_in);
@@ -586,7 +586,7 @@ vfp_gzip_end(struct worker *w)
vg = w->vgz_rx;
CHECK_OBJ_NOTNULL(vg, VGZ_MAGIC);
w->vgz_rx = NULL;
- if (w->fetch_failed) {
+ if (w->busyobj->fetch_failed) {
(void)VGZ_Destroy(&vg, -1);
return(0);
}
@@ -637,7 +637,7 @@ vfp_testgzip_bytes(struct worker *w, struct http_conn *htc, ssize_t bytes)
const void *dp;
struct storage *st;
- AZ(w->fetch_failed);
+ AZ(w->busyobj->fetch_failed);
vg = w->vgz_rx;
CHECK_OBJ_NOTNULL(vg, VGZ_MAGIC);
AZ(vg->vz.avail_in);
@@ -680,7 +680,7 @@ vfp_testgzip_end(struct worker *w)
vg = w->vgz_rx;
w->vgz_rx = NULL;
CHECK_OBJ_NOTNULL(vg, VGZ_MAGIC);
- if (w->fetch_failed) {
+ if (w->busyobj->fetch_failed) {
(void)VGZ_Destroy(&vg, -1);
return(0);
}
More information about the varnish-commit
mailing list