Print this page
1845 allow disable of UNMAP via stmfadm(1M).
@@ -62,10 +62,11 @@
SBD_RET_LU_BUSY,
SBD_RET_NOT_FOUND,
SBD_RET_INSUFFICIENT_BUF_SPACE,
SBD_RET_WRITE_CACHE_SET_FAILED,
SBD_RET_ACCESS_STATE_FAILED,
+ SBD_RET_UNMAP_SET_FAILED,
SBD_RET_MAX_VAL
} sbd_ret_t;
#define SBD_IOCTL_DEF(n) ((((int)0x5B) << 16) | (n))
@@ -80,11 +81,11 @@
#define SBD_IOCTL_GET_GLOBAL_LU SBD_IOCTL_DEF(9)
#define SBD_IOCTL_GET_UNMAP_PROPS SBD_IOCTL_DEF(10)
typedef struct sbd_create_and_reg_lu {
uint32_t slu_struct_size;
- uint16_t slu_meta_fname_valid:1,
+ uint32_t slu_meta_fname_valid:1,
slu_lu_size_valid:1,
slu_blksize_valid:1,
slu_vid_valid:1,
slu_pid_valid:1,
slu_rev_valid:1,
@@ -94,11 +95,15 @@
slu_guid_valid:1,
slu_company_id_valid:1,
slu_host_id_valid:1,
slu_writeback_cache_disable_valid:1,
slu_writeback_cache_disable:1,
- slu_write_protected:1;
+ slu_write_protected:1,
+ slu_unmap_valid:1,
+ slu_unmap:1;
+ uint32_t slu_pad1; /* To preserve 64-bit alignment */
+ uint16_t slu_pad2; /* for the following fields. */
uint16_t slu_meta_fname_off;
uint64_t slu_lu_size;
uint16_t slu_data_fname_off;
uint16_t slu_serial_off;
uint8_t slu_serial_size;
@@ -161,11 +166,13 @@
mlu_write_protected_valid:1,
mlu_write_protected:1,
mlu_by_guid:1,
mlu_by_fname:1,
mlu_standby_valid:1,
- mlu_standby:1;
+ mlu_standby:1,
+ mlu_unmap_valid:1,
+ mlu_unmap:1;
uint64_t mlu_lu_size;
uint16_t mlu_alias_off;
uint16_t mlu_mgmt_url_off;
uint16_t mlu_serial_off;
uint16_t mlu_serial_size;
@@ -203,10 +210,12 @@
slp_mgmt_url_valid:1,
slp_lu_vid:1,
slp_lu_pid:1,
slp_lu_rev:1,
slp_serial_valid:1,
+ slp_unmap_cur:1,
+ slp_unmap_saved:1,
slp_writeback_cache_disable_cur:1,
slp_writeback_cache_disable_saved:1,
slp_write_protected:1;
uint16_t slp_meta_fname_off;
uint16_t slp_data_fname_off;