svn commit: r367393 - head/usr.sbin/bhyve
Allan Jude
allanjude at FreeBSD.org
Thu Nov 5 17:10:15 UTC 2020
Author: allanjude
Date: Thu Nov 5 17:10:14 2020
New Revision: 367393
URL: https://svnweb.freebsd.org/changeset/base/367393
Log:
VirtIO: Make sure the guest knows the TRIM alignment requirements
If bhyve is used to emulate 512e access in guest OS, then discard addresses should be properly aligned.
Otherwise ioctl DIOCGDELETE fails for 512b requires on devices with 4K sector size.
see g_dev_ioctl() in sys/geom/geom_dev.c
Submitted by: Vitaliy Gusev <gusev.vitaliy at gmail.com>
MFC after: 1 week
Sponsored by: vStack.com
Differential Revision: https://reviews.freebsd.org/D27075
Modified:
head/usr.sbin/bhyve/pci_virtio_block.c
Modified: head/usr.sbin/bhyve/pci_virtio_block.c
==============================================================================
--- head/usr.sbin/bhyve/pci_virtio_block.c Thu Nov 5 16:47:23 2020 (r367392)
+++ head/usr.sbin/bhyve/pci_virtio_block.c Thu Nov 5 17:10:14 2020 (r367393)
@@ -523,7 +523,7 @@ pci_vtblk_init(struct vmctx *ctx, struct pci_devinst *
sc->vbsc_cfg.vbc_writeback = 0;
sc->vbsc_cfg.max_discard_sectors = VTBLK_MAX_DISCARD_SECT;
sc->vbsc_cfg.max_discard_seg = VTBLK_MAX_DISCARD_SEG;
- sc->vbsc_cfg.discard_sector_alignment = sectsz / VTBLK_BSIZE;
+ sc->vbsc_cfg.discard_sector_alignment = MAX(sectsz, sts) / VTBLK_BSIZE;
/*
* Should we move some of this into virtio.c? Could
More information about the svn-src-all
mailing list