Page MenuHomeFreeBSD

D23755.1794832225.diff
No OneTemporary

Authored By
Unknown
Size
889 B
Referenced Files
None
Subscribers
None

D23755.1794832225.diff

Index: sys/vm/vnode_pager.c
===================================================================
--- sys/vm/vnode_pager.c
+++ sys/vm/vnode_pager.c
@@ -628,8 +628,11 @@
bwait(bp, PVM, "vnsrd");
- if ((bp->b_ioflags & BIO_ERROR) != 0)
- error = EIO;
+ if ((bp->b_ioflags & BIO_ERROR) != 0) {
+ KASSERT(bp->b_error != 0,
+ ("%s: buf error but b_error == 0\n", __func__));
+ error = bp->b_error;
+ }
/*
* free the buffer header back to the swap buffer pool
@@ -1113,7 +1116,9 @@
off_t tfoff, nextoff;
int i, error;
- error = (bp->b_ioflags & BIO_ERROR) != 0 ? EIO : 0;
+ KASSERT((bp->b_ioflags & BIO_ERROR) == 0 || bp->b_error != 0,
+ ("%s: buf error but b_error == 0\n", __func__));
+ error = (bp->b_ioflags & BIO_ERROR) != 0 ? bp->b_error : 0;
object = bp->b_vp->v_object;
if (error == 0 && bp->b_bcount != bp->b_npages * PAGE_SIZE) {

File Metadata

Mime Type
text/plain
Expires
Mon, Nov 16, 12:30 PM (19 h, 17 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
41777695
Default Alt Text
D23755.1794832225.diff (889 B)

Event Timeline