Index: geom_vfs.c =================================================================== --- geom_vfs.c (wersja 185318) +++ geom_vfs.c (kopia robocza) @@ -97,6 +97,15 @@ cp = bo->bo_private; G_VALID_CONSUMER(cp); + if (cp->provider == NULL) { + bp->b_error = EXDEV; + vfslocked = VFS_LOCK_GIANT(((struct mount *)NULL)); + /* XXXPJD: Can we call bufdone() from here? */ + bufdone(bp); + VFS_UNLOCK_GIANT(vfslocked); + return; + } + bip = g_alloc_bio(); bip->bio_cmd = bp->b_iocmd; bip->bio_offset = bp->b_iooffset; @@ -123,6 +132,8 @@ * Down the road, this is the place where we could give the user * a "Abort, Retry or Ignore" option to replace the media again. */ + g_access(cp, -cp->acr, -cp->acw, -cp->ace); + g_detach(cp); } int