Changeset View
Changeset View
Standalone View
Standalone View
sys/ufs/ffs/ffs_softdep.c
- This file is larger than 256 KB, so syntax highlighting is disabled by default.
Show First 20 Lines • Show All 14,247 Lines • ▼ Show 20 Lines | |||||
* contains dependencies. This should only happen if an I/O error has | * contains dependencies. This should only happen if an I/O error has | ||||
* occurred. The routine is called with the buffer locked. | * occurred. The routine is called with the buffer locked. | ||||
*/ | */ | ||||
static void | static void | ||||
softdep_deallocate_dependencies(bp) | softdep_deallocate_dependencies(bp) | ||||
struct buf *bp; | struct buf *bp; | ||||
{ | { | ||||
if ((bp->b_ioflags & BIO_ERROR) == 0) | if ((bp->b_ioflags & BIO_ERROR) == 0 && (bp->b_flags & B_INVAL) == 0) | ||||
panic("softdep_deallocate_dependencies: dangling deps"); | panic("softdep_deallocate_dependencies: dangling deps"); | ||||
if (bp->b_vp != NULL && bp->b_vp->v_mount != NULL) | if (bp->b_vp != NULL && bp->b_vp->v_mount != NULL) | ||||
softdep_error(bp->b_vp->v_mount->mnt_stat.f_mntonname, bp->b_error); | softdep_error(bp->b_vp->v_mount->mnt_stat.f_mntonname, bp->b_error); | ||||
else | else | ||||
printf("softdep_deallocate_dependencies: " | printf("softdep_deallocate_dependencies: " | ||||
"got error %d while accessing filesystem\n", bp->b_error); | "got error %d while accessing filesystem\n", bp->b_error); | ||||
if (bp->b_error != ENXIO) | if (bp->b_error != ENXIO) | ||||
panic("softdep_deallocate_dependencies: unrecovered I/O error"); | panic("softdep_deallocate_dependencies: unrecovered I/O error"); | ||||
▲ Show 20 Lines • Show All 148 Lines • Show Last 20 Lines |