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

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/fs/zfs/sys/zio_impl.h
          +++ new/usr/src/uts/common/fs/zfs/sys/zio_impl.h
↓ open down ↓ 16 lines elided ↑ open up ↑
  17   17   * information: Portions Copyright [yyyy] [name of copyright owner]
  18   18   *
  19   19   * CDDL HEADER END
  20   20   */
  21   21  /*
  22   22   * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
  23   23   * Use is subject to license terms.
  24   24   */
  25   25  
  26   26  /*
       27 + * Copyright 2015 Nexenta Systems, Inc. All rights reserved.
  27   28   * Copyright (c) 2012, 2015 by Delphix. All rights reserved.
  28   29   */
  29   30  
  30   31  #ifndef _ZIO_IMPL_H
  31   32  #define _ZIO_IMPL_H
  32   33  
  33   34  #include <sys/zfs_context.h>
  34   35  #include <sys/zio.h>
  35   36  
  36   37  #ifdef  __cplusplus
↓ open down ↓ 134 lines elided ↑ open up ↑
 171  172  
 172  173  #define ZIO_DDT_CHILD_READ_PIPELINE             \
 173  174          ZIO_READ_COMMON_STAGES
 174  175  
 175  176  #define ZIO_DDT_READ_PIPELINE                   \
 176  177          (ZIO_INTERLOCK_STAGES |                 \
 177  178          ZIO_STAGE_READ_BP_INIT |                \
 178  179          ZIO_STAGE_DDT_READ_START |              \
 179  180          ZIO_STAGE_DDT_READ_DONE)
 180  181  
      182 +#define ZIO_MOVE_PIPELINE                       \
      183 +        (ZIO_INTERLOCK_STAGES |                 \
      184 +        ZIO_VDEV_IO_STAGES |                    \
      185 +        ZIO_STAGE_ISSUE_ASYNC |                 \
      186 +        ZIO_STAGE_WRITE_BP_INIT |               \
      187 +        ZIO_STAGE_DVA_ALLOCATE)
      188 +
 181  189  #define ZIO_WRITE_COMMON_STAGES                 \
 182  190          (ZIO_INTERLOCK_STAGES |                 \
 183  191          ZIO_VDEV_IO_STAGES |                    \
 184  192          ZIO_STAGE_ISSUE_ASYNC |                 \
 185  193          ZIO_STAGE_CHECKSUM_GENERATE)
 186  194  
 187  195  #define ZIO_WRITE_PHYS_PIPELINE                 \
 188  196          ZIO_WRITE_COMMON_STAGES
 189  197  
 190  198  #define ZIO_REWRITE_PIPELINE                    \
↓ open down ↓ 38 lines elided ↑ open up ↑
 229  237          ZIO_STAGE_DDT_FREE)
 230  238  
 231  239  #define ZIO_CLAIM_PIPELINE                      \
 232  240          (ZIO_INTERLOCK_STAGES |                 \
 233  241          ZIO_STAGE_DVA_CLAIM)
 234  242  
 235  243  #define ZIO_IOCTL_PIPELINE                      \
 236  244          (ZIO_INTERLOCK_STAGES |                 \
 237  245          ZIO_STAGE_VDEV_IO_START |               \
 238  246          ZIO_STAGE_VDEV_IO_ASSESS)
      247 +
      248 +#define ZIO_TRIM_PIPELINE                       \
      249 +        (ZIO_INTERLOCK_STAGES |                 \
      250 +        ZIO_STAGE_ISSUE_ASYNC |                 \
      251 +        ZIO_STAGE_VDEV_IO_START |               \
      252 +        ZIO_STAGE_VDEV_IO_ASSESS)
 239  253  
 240  254  #define ZIO_BLOCKING_STAGES                     \
 241  255          (ZIO_STAGE_DVA_ALLOCATE |               \
 242  256          ZIO_STAGE_DVA_CLAIM |                   \
 243  257          ZIO_STAGE_VDEV_IO_START)
 244  258  
 245  259  extern void zio_inject_init(void);
 246  260  extern void zio_inject_fini(void);
 247  261  
 248  262  #ifdef  __cplusplus
 249  263  }
 250  264  #endif
 251  265  
 252  266  #endif  /* _ZIO_IMPL_H */
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX