Transform the I/O when vdev_physical_ashift is greater than

SPA_MINBLOCKSHIFT.

MFC after:	2 weeks
This commit is contained in:
Xin LI 2014-07-25 18:41:56 +00:00
parent b385405966
commit 0aa4ce9b7d

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);