Page MenuHomeFreeBSD

D30506.diff
No OneTemporary

D30506.diff

diff --git a/usr.sbin/bhyve/pci_virtio_block.c b/usr.sbin/bhyve/pci_virtio_block.c
--- a/usr.sbin/bhyve/pci_virtio_block.c
+++ b/usr.sbin/bhyve/pci_virtio_block.c
@@ -3,7 +3,7 @@
*
* Copyright (c) 2011 NetApp, Inc.
* All rights reserved.
- * Copyright 2020 Joyent, Inc.
+ * Copyright 2020-2021 Joyent, Inc.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -436,6 +436,18 @@
pci_vtblk_proc(sc, vq);
}
+static void
+pci_vtblk_resized(struct blockif_ctxt *bctxt, void *arg, size_t new_size)
+{
+ struct pci_vtblk_softc *sc;
+
+ sc = arg;
+
+ sc->vbsc_cfg.vbc_capacity = new_size / VTBLK_BSIZE; /* 512-byte units */
+ vi_interrupt(&sc->vbsc_vs, VIRTIO_PCI_ISR_CONFIG,
+ sc->vbsc_vs.vs_msix_cfg_idx);
+}
+
static int
pci_vtblk_init(struct vmctx *ctx, struct pci_devinst *pi, nvlist_t *nvl)
{
@@ -541,6 +553,7 @@
return (1);
}
vi_set_io_bar(&sc->vbsc_vs, 0);
+ blockif_register_resize_callback(sc->bc, pci_vtblk_resized, sc);
return (0);
}

File Metadata

Mime Type
text/plain
Expires
Fri, Mar 7, 5:45 AM (17 h, 54 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
17026056
Default Alt Text
D30506.diff (1 KB)

Event Timeline