Print this page
1845 allow disable of UNMAP via stmfadm(1M).

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/sys/stmf_sbd_ioctl.h
          +++ new/usr/src/uts/common/sys/stmf_sbd_ioctl.h
↓ open down ↓ 56 lines elided ↑ open up ↑
  57   57          SBD_RET_FILE_ALIGN_ERROR,
  58   58          SBD_RET_SIZE_OUT_OF_RANGE,
  59   59          SBD_RET_SIZE_NOT_SUPPORTED_BY_FS,
  60   60          SBD_RET_NO_META,
  61   61          SBD_RET_VERSION_NOT_SUPPORTED,
  62   62          SBD_RET_LU_BUSY,
  63   63          SBD_RET_NOT_FOUND,
  64   64          SBD_RET_INSUFFICIENT_BUF_SPACE,
  65   65          SBD_RET_WRITE_CACHE_SET_FAILED,
  66   66          SBD_RET_ACCESS_STATE_FAILED,
       67 +        SBD_RET_UNMAP_SET_FAILED,
  67   68  
  68   69          SBD_RET_MAX_VAL
  69   70  } sbd_ret_t;
  70   71  
  71   72  #define SBD_IOCTL_DEF(n)        ((((int)0x5B) << 16) | (n))
  72   73  #define SBD_IOCTL_CREATE_AND_REGISTER_LU                SBD_IOCTL_DEF(1)
  73   74  #define SBD_IOCTL_IMPORT_LU                             SBD_IOCTL_DEF(2)
  74   75  #define SBD_IOCTL_DELETE_LU                             SBD_IOCTL_DEF(3)
  75   76  #define SBD_IOCTL_MODIFY_LU                             SBD_IOCTL_DEF(4)
  76   77  #define SBD_IOCTL_GET_LU_PROPS                          SBD_IOCTL_DEF(5)
  77   78  #define SBD_IOCTL_GET_LU_LIST                           SBD_IOCTL_DEF(6)
  78   79  #define SBD_IOCTL_SET_LU_STANDBY                        SBD_IOCTL_DEF(7)
  79   80  #define SBD_IOCTL_SET_GLOBAL_LU                         SBD_IOCTL_DEF(8)
  80   81  #define SBD_IOCTL_GET_GLOBAL_LU                         SBD_IOCTL_DEF(9)
  81   82  #define SBD_IOCTL_GET_UNMAP_PROPS                       SBD_IOCTL_DEF(10)
  82   83  
  83   84  typedef struct sbd_create_and_reg_lu {
  84   85          uint32_t        slu_struct_size;
  85      -        uint16_t        slu_meta_fname_valid:1,
       86 +        uint32_t        slu_meta_fname_valid:1,
  86   87                          slu_lu_size_valid:1,
  87   88                          slu_blksize_valid:1,
  88   89                          slu_vid_valid:1,
  89   90                          slu_pid_valid:1,
  90   91                          slu_rev_valid:1,
  91   92                          slu_serial_valid:1,
  92   93                          slu_alias_valid:1,
  93   94                          slu_mgmt_url_valid:1,
  94   95                          slu_guid_valid:1,
  95   96                          slu_company_id_valid:1,
  96   97                          slu_host_id_valid:1,
  97   98                          slu_writeback_cache_disable_valid:1,
  98   99                          slu_writeback_cache_disable:1,
  99      -                        slu_write_protected:1;
      100 +                        slu_write_protected:1,
      101 +                        slu_unmap_valid:1,
      102 +                        slu_unmap:1;
      103 +        uint32_t        slu_pad1;       /* To preserve 64-bit alignment */
      104 +        uint16_t        slu_pad2;       /* for the following fields. */
 100  105          uint16_t        slu_meta_fname_off;
 101  106          uint64_t        slu_lu_size;
 102  107          uint16_t        slu_data_fname_off;
 103  108          uint16_t        slu_serial_off;
 104  109          uint8_t         slu_serial_size;
 105  110          uint8_t         slu_ret_filesize_nbits;
 106  111          uint16_t        slu_blksize;
 107  112          uint32_t        slu_company_id;
 108  113          uint16_t        slu_alias_off;
 109  114          uint16_t        slu_mgmt_url_off;
↓ open down ↓ 46 lines elided ↑ open up ↑
 156  161                          mlu_serial_valid:1,
 157  162                          mlu_alias_valid:1,
 158  163                          mlu_mgmt_url_valid:1,
 159  164                          mlu_writeback_cache_disable_valid:1,
 160  165                          mlu_writeback_cache_disable:1,
 161  166                          mlu_write_protected_valid:1,
 162  167                          mlu_write_protected:1,
 163  168                          mlu_by_guid:1,
 164  169                          mlu_by_fname:1,
 165  170                          mlu_standby_valid:1,
 166      -                        mlu_standby:1;
      171 +                        mlu_standby:1,
      172 +                        mlu_unmap_valid:1,
      173 +                        mlu_unmap:1;
 167  174          uint64_t        mlu_lu_size;
 168  175          uint16_t        mlu_alias_off;
 169  176          uint16_t        mlu_mgmt_url_off;
 170  177          uint16_t        mlu_serial_off;
 171  178          uint16_t        mlu_serial_size;
 172  179          uint16_t        mlu_fname_off;
 173  180          uint16_t        mlu_rsvd1;
 174  181          uint32_t        mlu_rsvd2;
 175  182          uint8_t         mlu_input_guid[16];
 176  183          char            mlu_buf[8]; /* can be more than 8 */
↓ open down ↓ 21 lines elided ↑ open up ↑
 198  205                          slp_separate_meta:1,
 199  206                          slp_meta_fname_valid:1,
 200  207                          slp_data_fname_valid:1,
 201  208                          slp_zfs_meta:1,
 202  209                          slp_alias_valid:1,
 203  210                          slp_mgmt_url_valid:1,
 204  211                          slp_lu_vid:1,
 205  212                          slp_lu_pid:1,
 206  213                          slp_lu_rev:1,
 207  214                          slp_serial_valid:1,
      215 +                        slp_unmap_cur:1,
      216 +                        slp_unmap_saved:1,
 208  217                          slp_writeback_cache_disable_cur:1,
 209  218                          slp_writeback_cache_disable_saved:1,
 210  219                          slp_write_protected:1;
 211  220          uint16_t        slp_meta_fname_off;
 212  221          uint16_t        slp_data_fname_off;
 213  222          uint64_t        slp_lu_size;
 214  223          uint16_t        slp_serial_off;
 215  224          uint16_t        slp_blksize;
 216  225          uint16_t        slp_alias_off;
 217  226          uint16_t        slp_mgmt_url_off;
↓ open down ↓ 25 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX