svn commit: r269093 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs

Xin LI delphij at FreeBSD.org
Fri Jul 25 18:41:57 UTC 2014


Author: delphij
Date: Fri Jul 25 18:41:56 2014
New Revision: 269093
URL: http://svnweb.freebsd.org/changeset/base/269093

Log:
  Transform the I/O when vdev_physical_ashift is greater than
  SPA_MINBLOCKSHIFT.
  
  MFC after:	2 weeks

Modified:
  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c

Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c
==============================================================================
--- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c	Fri Jul 25 18:20:56 2014	(r269092)
+++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c	Fri Jul 25 18:41:56 2014	(r269093)
@@ -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);


More information about the svn-src-all mailing list