diff options
author | Edward Tomasz Napierala <trasz@FreeBSD.org> | 2019-03-26 19:11:15 +0000 |
---|---|---|
committer | Edward Tomasz Napierala <trasz@FreeBSD.org> | 2019-03-26 19:11:15 +0000 |
commit | 0b208315f493672b5531cd0aa42ac15b1bb2eb13 (patch) | |
tree | 9f3158c81da2c68e7a93285d0cc7a12722bbd47d /sys/vm/swap_pager.c | |
parent | b25ce41e3322a87836c1992ebd9e0190ef3c5344 (diff) | |
download | src-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.c | 6 |
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; } |