summaryrefslogtreecommitdiffstats
path: root/sys/vm
diff options
context:
space:
mode:
authorbms <bms@FreeBSD.org>2004-06-23 15:15:07 +0000
committerbms <bms@FreeBSD.org>2004-06-23 15:15:07 +0000
commit72f48d54670d08a6d096b8c79a51b3a90be61dc5 (patch)
treea63dcc8615db7934b480a765dc7481b31d051711 /sys/vm
parenta1484e7d3e34c4e8f1686b39c31df636cc7206a9 (diff)
downloadFreeBSD-src-72f48d54670d08a6d096b8c79a51b3a90be61dc5.zip
FreeBSD-src-72f48d54670d08a6d096b8c79a51b3a90be61dc5.tar.gz
In swap_pager_getpages(), bp->b_dev can be NULL, particularly for the
case of NFS mounted swap, so do not try to dereference it. While we're here, brucify the printf() call which happens when we time out on acquisition of vm_page_queue_mtx. PR: kern/67898 Submitted by: bde (style)
Diffstat (limited to 'sys/vm')
-rw-r--r--sys/vm/swap_pager.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/sys/vm/swap_pager.c b/sys/vm/swap_pager.c
index 66483e6..9f291b8 100644
--- a/sys/vm/swap_pager.c
+++ b/sys/vm/swap_pager.c
@@ -1131,12 +1131,10 @@ swap_pager_getpages(vm_object_t object, vm_page_t *m, int count, int reqpage)
vm_page_flag_set(mreq, PG_WANTED | PG_REFERENCED);
cnt.v_intrans++;
if (msleep(mreq, &vm_page_queue_mtx, PSWP, "swread", hz*20)) {
- printf(
- "swap_pager: indefinite wait buffer: device:"
- " %s, blkno: %ld, size: %ld\n",
- devtoname(bp->b_dev), (long)bp->b_blkno,
- bp->b_bcount
- );
+ printf("swap_pager: indefinite wait buffer: device: "
+ "%s, blkno: %jd, size: %ld\n",
+ bp->b_dev == NULL ? "[NULL]" : devtoname(bp->b_dev),
+ (intmax_t)bp->b_blkno, bp->b_bcount);
}
}
vm_page_unlock_queues();
OpenPOWER on IntegriCloud