Page MenuHomeFreeBSD

D35034.diff
No OneTemporary

D35034.diff

diff --git a/sys/geom/geom_vfs.c b/sys/geom/geom_vfs.c
--- a/sys/geom/geom_vfs.c
+++ b/sys/geom/geom_vfs.c
@@ -57,6 +57,7 @@
int sc_active;
bool sc_orphaned;
int sc_enxio_active;
+ int sc_enxio_reported;
};
static struct buf_ops __g_vfs_bufops = {
@@ -150,8 +151,13 @@
}
if (sc->sc_enxio_active)
bip->bio_error = ENXIO;
- g_print_bio("g_vfs_done():", bip, "error = %d",
- bip->bio_error);
+ if (bip->bio_error != ENXIO ||
+ atomic_cmpset_int(&sc->sc_enxio_reported, 0, 1)) {
+ g_print_bio("g_vfs_done():", bip, "error = %d%s",
+ bip->bio_error,
+ bip->bio_error != ENXIO ? "" :
+ " supressing further ENXIO");
+ }
}
bp->b_error = bip->bio_error;
bp->b_ioflags = bip->bio_flags;

File Metadata

Mime Type
text/plain
Expires
Tue, Jun 23, 12:24 PM (21 h, 38 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
34245460
Default Alt Text
D35034.diff (746 B)

Event Timeline