Transform the I/O when vdev_physical_ashift is greater than

SPA_MINBLOCKSHIFT.

MFC after:	2 weeks
This commit is contained in:
delphij 2014-07-25 18:41:56 +00:00
parent a270183912
commit c9e947a583

View File

@ -2622,7 +2622,8 @@ zio_vdev_io_start(zio_t **ziop)
align = 1ULL << vd->vdev_top->vdev_ashift;
if (!(zio->io_flags & ZIO_FLAG_PHYSICAL) &&
if ((!(zio->io_flags & ZIO_FLAG_PHYSICAL) ||
(vd->vdev_top->vdev_physical_ashift > SPA_MINBLOCKSHIFT)) &&
P2PHASE(zio->io_size, align) != 0) {
/* Transform logical writes to be a full physical block size. */
uint64_t asize = P2ROUNDUP(zio->io_size, align);