Print this page
NEX-3558 KRRP Integration
NEX-3508 CLONE - Port NEX-2946 Add UNMAP/TRIM functionality to ZFS and illumos
Reviewed by: Josef Sipek <josef.sipek@nexenta.com>
Reviewed by: Alek Pinchuk <alek.pinchuk@nexenta.com>
Conflicts:
    usr/src/uts/common/io/scsi/targets/sd.c
    usr/src/uts/common/sys/scsi/targets/sddef.h

@@ -22,10 +22,11 @@
  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
  * Use is subject to license terms.
  */
 
 /*
+ * Copyright 2015 Nexenta Systems, Inc. All rights reserved.
  * Copyright (c) 2012, 2015 by Delphix. All rights reserved.
  */
 
 #ifndef _ZIO_IMPL_H
 #define _ZIO_IMPL_H

@@ -176,10 +177,17 @@
         (ZIO_INTERLOCK_STAGES |                 \
         ZIO_STAGE_READ_BP_INIT |                \
         ZIO_STAGE_DDT_READ_START |              \
         ZIO_STAGE_DDT_READ_DONE)
 
+#define ZIO_MOVE_PIPELINE                       \
+        (ZIO_INTERLOCK_STAGES |                 \
+        ZIO_VDEV_IO_STAGES |                    \
+        ZIO_STAGE_ISSUE_ASYNC |                 \
+        ZIO_STAGE_WRITE_BP_INIT |               \
+        ZIO_STAGE_DVA_ALLOCATE)
+
 #define ZIO_WRITE_COMMON_STAGES                 \
         (ZIO_INTERLOCK_STAGES |                 \
         ZIO_VDEV_IO_STAGES |                    \
         ZIO_STAGE_ISSUE_ASYNC |                 \
         ZIO_STAGE_CHECKSUM_GENERATE)

@@ -234,10 +242,16 @@
 
 #define ZIO_IOCTL_PIPELINE                      \
         (ZIO_INTERLOCK_STAGES |                 \
         ZIO_STAGE_VDEV_IO_START |               \
         ZIO_STAGE_VDEV_IO_ASSESS)
+
+#define ZIO_TRIM_PIPELINE                       \
+        (ZIO_INTERLOCK_STAGES |                 \
+        ZIO_STAGE_ISSUE_ASYNC |                 \
+        ZIO_STAGE_VDEV_IO_START |               \
+        ZIO_STAGE_VDEV_IO_ASSESS)
 
 #define ZIO_BLOCKING_STAGES                     \
         (ZIO_STAGE_DVA_ALLOCATE |               \
         ZIO_STAGE_DVA_CLAIM |                   \
         ZIO_STAGE_VDEV_IO_START)