From 89a4ec072e75d0785ce0ef9ce882fd947ff0991b Mon Sep 17 00:00:00 2001 From: phk Date: Tue, 11 Feb 2003 11:01:26 +0000 Subject: Turn the "updating" flag (back) into two sequence number fields at either ends of the structure so we have a way to determine if a snapshot is consistent. --- sys/geom/geom_io.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'sys/geom/geom_io.c') diff --git a/sys/geom/geom_io.c b/sys/geom/geom_io.c index 1912587..f334817 100644 --- a/sys/geom/geom_io.c +++ b/sys/geom/geom_io.c @@ -327,8 +327,8 @@ g_io_deliver(struct bio *bp, int error) } binuptime(&t1); /* Raise the "inconsistent" flag for userland */ - atomic_set_acq_int(&cp->stat->updating, 1); - atomic_set_acq_int(&pp->stat->updating, 1); + atomic_add_acq_int(&cp->stat->seq0, 1); + atomic_add_acq_int(&pp->stat->seq0, 1); if (idx >= 0) { /* Account the service time */ dt = t1; @@ -360,8 +360,8 @@ g_io_deliver(struct bio *bp, int error) bintime_add(&pp->stat->bt, &dt); pp->stat->wentbusy = t1; /* Mark the structures as consistent again */ - atomic_store_rel_int(&cp->stat->updating, 0); - atomic_store_rel_int(&pp->stat->updating, 0); + atomic_add_acq_int(&cp->stat->seq1, 1); + atomic_add_acq_int(&pp->stat->seq1, 1); } cp->stat->nend++; pp->stat->nend++; -- cgit v1.1