aboutsummaryrefslogtreecommitdiff
path: root/sys/vm/swap_pager.c
diff options
context:
space:
mode:
authorEdward Tomasz Napierala <trasz@FreeBSD.org>2019-03-26 19:11:15 +0000
committerEdward Tomasz Napierala <trasz@FreeBSD.org>2019-03-26 19:11:15 +0000
commit0b208315f493672b5531cd0aa42ac15b1bb2eb13 (patch)
tree9f3158c81da2c68e7a93285d0cc7a12722bbd47d /sys/vm/swap_pager.c
parentb25ce41e3322a87836c1992ebd9e0190ef3c5344 (diff)
downloadsrc-0b208315f493672b5531cd0aa42ac15b1bb2eb13.tar.gz
src-0b208315f493672b5531cd0aa42ac15b1bb2eb13.zip
Improve error reporting when the swap pager runs out of memory.
Reviewed by: kib MFC after: 2 weeks Sponsored by: Klara Inc. Differential Revision: https://reviews.freebsd.org/D19699
Notes
Notes: svn path=/head/; revision=345551
Diffstat (limited to 'sys/vm/swap_pager.c')
-rw-r--r--sys/vm/swap_pager.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/vm/swap_pager.c b/sys/vm/swap_pager.c
index 99332a453258..851398010ea7 100644
--- a/sys/vm/swap_pager.c
+++ b/sys/vm/swap_pager.c
@@ -1510,9 +1510,10 @@ swp_pager_async_iodone(struct buf *bp)
vm_object_t object = NULL;
/*
- * report error
+ * Report error - unless we ran out of memory, in which case
+ * we've already logged it in swapgeom_strategy().
*/
- if (bp->b_ioflags & BIO_ERROR) {
+ if (bp->b_ioflags & BIO_ERROR && bp->b_error != ENOMEM) {
printf(
"swap_pager: I/O error - %s failed; blkno %ld,"
"size %ld, error %d\n",
@@ -2692,6 +2693,7 @@ swapgeom_strategy(struct buf *bp, struct swdevt *sp)
mtx_unlock(&sw_dev_mtx);
bp->b_error = ENOMEM;
bp->b_ioflags |= BIO_ERROR;
+ printf("swap_pager: cannot allocate bio\n");
bufdone(bp);
return;
}