]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Make CAM ATA stack handle disk resizes.
authormav <mav@FreeBSD.org>
Tue, 23 Jul 2019 02:11:14 +0000 (02:11 +0000)
committermav <mav@FreeBSD.org>
Tue, 23 Jul 2019 02:11:14 +0000 (02:11 +0000)
commit0bba6fe16f39452afa234040314b383005552b41
tree58a09963504b3ba5b784c84cec7ad76a6d7ba9c3
parentb5dc72b50a28e586e849ad71e2a01cb17c4c65ee
Make CAM ATA stack handle disk resizes.

While for ATA disks resize is even more rare situation than for SCSI, it
may happen in case of HPA or AMA being used.  Make ATA XPT report minor
IDENTIFY DATA change to upper layers with AC_GETDEV_CHANGED, and ada(4)
periph driver handle that event, recalculating all the disk properties and
signalling resize to GEOM.  Since ATA has no mechanism of UNIT ATTENTIONs,
like SCSI, it has no way to detect that something has changed.  That is why
this functionality depends on explicit reprobe via XPT_REPROBE_LUN call.

MFC after: 2 weeks
Relnotes: yes
Sponsored by: iXsystems, Inc.
sys/cam/ata/ata_da.c
sys/cam/ata/ata_xpt.c