git: 020e8a4d0609 - main - allocbuf(): convert direct panic() calls to KASSERT()s
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 13 Feb 2023 22:31:39 UTC
The branch main has been updated by kib:
URL: https://cgit.FreeBSD.org/src/commit/?id=020e8a4d0609d56cb49a9f35258ff07815d5e478
commit 020e8a4d0609d56cb49a9f35258ff07815d5e478
Author: Konstantin Belousov <kib@FreeBSD.org>
AuthorDate: 2023-02-11 18:03:22 +0000
Commit: Konstantin Belousov <kib@FreeBSD.org>
CommitDate: 2023-02-13 22:28:42 +0000
allocbuf(): convert direct panic() calls to KASSERT()s
Also do minor style adjustments.
Reviewed by: markj
Tested by: pho
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D38549
---
sys/kern/vfs_bio.c | 12 +++++++-----
1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/sys/kern/vfs_bio.c b/sys/kern/vfs_bio.c
index 3a5afec88a02..abc3eea9be4e 100644
--- a/sys/kern/vfs_bio.c
+++ b/sys/kern/vfs_bio.c
@@ -4363,8 +4363,9 @@ allocbuf(struct buf *bp, int size)
if (bp->b_bcount == size)
return (1);
- if (bp->b_kvasize != 0 && bp->b_kvasize < size)
- panic("allocbuf: buffer too small");
+ KASSERT(bp->b_kvasize == 0 || bp->b_kvasize >= size,
+ ("allocbuf: buffer too small %p %#x %#x",
+ bp, bp->b_kvasize, size));
newbsize = roundup2(size, DEV_BSIZE);
if ((bp->b_flags & B_VMIO) == 0) {
@@ -4381,11 +4382,12 @@ allocbuf(struct buf *bp, int size)
} else {
int desiredpages;
- desiredpages = (size == 0) ? 0 :
+ desiredpages = size == 0 ? 0 :
num_pages((bp->b_offset & PAGE_MASK) + newbsize);
- if (bp->b_flags & B_MALLOC)
- panic("allocbuf: VMIO buffer can't be malloced");
+ KASSERT((bp->b_flags & B_MALLOC) == 0,
+ ("allocbuf: VMIO buffer can't be malloced %p", bp));
+
/*
* Set B_CACHE initially if buffer is 0 length or will become
* 0-length.