History log of /freebsd-10-stable/sys/dev/xen/blkfront/blkfront.c
Revision Date Author Comments
# 315676 21-Mar-2017 royger

MFC r314840:

xen: add support for canceled suspend

Submitted by: Liuyingdong <liuyingdong@huawei.com>
Reviewed by: royger


# 310228 18-Dec-2016 dim

MFC r310013 (by cperciva):

Check that blkfront devices have a non-zero number of sectors and a
non-zero sector size. Such a device would be a virtual disk of zero
bytes; clearly not useful, and not something we should try to attach.

As a fortuitous side effect, checking that these values are non-zero
here results in them not *becoming* zero later on the function. This
odd behaviour began with r309124 (clang 3.9.0) but is challenging to
debug; making any changes to this function whatsoever seems to affect
the llvm optimizer behaviour enough to make the unexpected zeroing of
the sector_size variable cease.

PR: 215209
Security: The potential for variables to unexpectedly become zero
has worrying consequences for security in general, but
not so much in this particular context.

MFC r310086:

In xbd_connect(), use correct scanf conversion specifiers for the
feature_barrier and feature_flush variables. Otherwise, adjacent
variables on the stack, such as sector_size, may be overwritten, with
disastrous results.

Note that I did not see a good reason to revert the addition of zero
checks introduced in r310013. Better safe than sorry.

PR: 215209
Tested by: royger


# 298960 03-May-2016 mav

MFC r297522: Pass through some new block device features.


# 291239 24-Nov-2015 royger

MFC r286999:

xen: allow disabling PV disks and nics

Sponsored by: Citrix Systems R&D


# 287802 14-Sep-2015 cperciva

MFC r286062, r286063

Add support to blkfront for blkif indirect segment I/Os.

Turn this support off by default in EC2 builds due to performance issues
on some EC2 instance types.


# 287801 14-Sep-2015 cperciva

MFC r284618, r284663, r284664, r284670, r284723

Reorganization of blkfront code and updates to comments. No functional
changes.


# 287800 14-Sep-2015 cperciva

MFC r284615, r284662

Code cleanup; fix an error code; add a KASSERT.


# 285738 21-Jul-2015 royger

MFC: r284296

xen-blk{front/back}: remove broken FreeBSD extensions

Approved by: re (gjb)


# 271611 15-Sep-2014 royger

MFC r271099: revert r269814: blkfront: add support for unmapped IO

Current busdma code for unmapped bios will not properly align the
segment size, causing corruption on blkfront devices. Revert the commit
until busdma code is fixed.

Reported by: mav
Approved by: re


# 270130 18-Aug-2014 royger

MFC r269814:

blkfront: add support for unmapped IO

Sponsored by: Citrix Systems R&D
Tested by: robak
PR: 191173


# 258650 26-Nov-2013 gibbs

[Forced commit to correct checkin comment for r256757]

MFC: r256423

Allow FreeBSD to be booted from CDROM media on XenServer 6.2 and
prior releases.

Submitted by: Roger Pau Monné
Sponsored by: Citrix Systems R&D
Reviewed by: gibbs
Approved by: re (gjb)

sys/dev/xen/blkfront/blkfront.c:
On XenServer versions up to an including 6.2, paravirtualized
CDROM support is broken. When running in an HVM domain,
ignore paravirtualized instances of CDROM media, and instead
rely on native drivers attaching to emulated hardware. This
functions correctly on all currently known Xen based
platforms.
------------------------------------------------------------------------


# 256757 18-Oct-2013 gibbs

MFC: r256425

Centralize the detection logic for the Hyper-V hypervisor.

Submitted by: Roger Pau Monné
Sponsored by: Citrix Systems R&D
Reviewed by: gibbs, grehan
Approved by: re (gjb)

sys/sys/systm.h:
* Add a new VM_GUEST type, VM_GUEST_HV (HyperV guest).

sys/dev/hyperv/vmbus/hv_vmbus_drv_freebsd.c:
sys/dev/hyperv/vmbus/hv_hv.c:
sys/dev/hyperv/stordisengage/hv_ata_pci_disengage.c:
* Set vm_guest to VM_GUEST_HV and use that on other HyperV related
devices instead of cloning the cpuid hypervisor check.
* Cleanup the vmbus_identify function.


# 287802 14-Sep-2015 cperciva

MFC r286062, r286063

Add support to blkfront for blkif indirect segment I/Os.

Turn this support off by default in EC2 builds due to performance issues
on some EC2 instance types.


# 287801 14-Sep-2015 cperciva

MFC r284618, r284663, r284664, r284670, r284723

Reorganization of blkfront code and updates to comments. No functional
changes.


# 287800 14-Sep-2015 cperciva

MFC r284615, r284662

Code cleanup; fix an error code; add a KASSERT.


# 285738 21-Jul-2015 royger

MFC: r284296

xen-blk{front/back}: remove broken FreeBSD extensions

Approved by: re (gjb)


# 271611 15-Sep-2014 royger

MFC r271099: revert r269814: blkfront: add support for unmapped IO

Current busdma code for unmapped bios will not properly align the
segment size, causing corruption on blkfront devices. Revert the commit
until busdma code is fixed.

Reported by: mav
Approved by: re


# 270130 18-Aug-2014 royger

MFC r269814:

blkfront: add support for unmapped IO

Sponsored by: Citrix Systems R&D
Tested by: robak
PR: 191173


# 258650 26-Nov-2013 gibbs

[Forced commit to correct checkin comment for r256757]

MFC: r256423

Allow FreeBSD to be booted from CDROM media on XenServer 6.2 and
prior releases.

Submitted by: Roger Pau Monné
Sponsored by: Citrix Systems R&D
Reviewed by: gibbs
Approved by: re (gjb)

sys/dev/xen/blkfront/blkfront.c:
On XenServer versions up to an including 6.2, paravirtualized
CDROM support is broken. When running in an HVM domain,
ignore paravirtualized instances of CDROM media, and instead
rely on native drivers attaching to emulated hardware. This
functions correctly on all currently known Xen based
platforms.
------------------------------------------------------------------------


# 256757 18-Oct-2013 gibbs

MFC: r256425

Centralize the detection logic for the Hyper-V hypervisor.

Submitted by: Roger Pau Monné
Sponsored by: Citrix Systems R&D
Reviewed by: gibbs, grehan
Approved by: re (gjb)

sys/sys/systm.h:
* Add a new VM_GUEST type, VM_GUEST_HV (HyperV guest).

sys/dev/hyperv/vmbus/hv_vmbus_drv_freebsd.c:
sys/dev/hyperv/vmbus/hv_hv.c:
sys/dev/hyperv/stordisengage/hv_ata_pci_disengage.c:
* Set vm_guest to VM_GUEST_HV and use that on other HyperV related
devices instead of cloning the cpuid hypervisor check.
* Cleanup the vmbus_identify function.