.TH SG_REM_REST_ELEM "8" "June 2022" "sg3_utils\-1.48" SG3_UTILS .SH NAME sg_rem_rest_elem \- send SCSI remove or restore element command .SH SYNOPSIS .B sg_rem_rest_elem [\fI\-\-capacity=RC\fR] [\fI\-\-element=EID\fR] [\fI\-\-help\fR] [\fI\-\-quick\fR] [\fI\-\-remove\fR] [\fI\-\-restore\fR] [\fI\-\-verbose\fR] [\fI\-\-version\fR] \fIDEVICE\fR .SH DESCRIPTION .\" Add any additional description here .PP Sends a SCSI REMOVE ELEMENT AND TRUNCATE [RMEAT] or RESTORE ELEMENTS AND REBUILD [RSEAB] command to the \fIDEVICE\fR. Since both these commands have a potentially huge impact on the \fIDEVICE\fR (similar to the FORMAT UNIT command: destroying data and taking a long time to complete fully), neither is executed by default. .PP Unlike the FORMAT UNIT command, these commands seem designed to work in the background. So they will return quickly (although sbc5r01.pdf does not state that) and the disk will be placed in a reduced functionality state where only a specified number of commands will be executed (e.g. INQUIRY and REPORT LUNS) until the operation is complete. Other commands will receive sense data with a sense key of NOT READY and an additional sense code of 'Depopulation in progress' (for RMEAT) or 'Depopulation restoration in progress' (for RSEAB). .PP The REMOVE ELEMENT AND TRUNCATE has a close relative in ZBC\-2 called the REMOVE ELEMENT AND MODIFY ZONES [RMEMZ] command. See the sg_zone utility for an implementation of the latter command. .br The difference between RMEAT and RMEMZ is that the former "changes the association between LBAs and physical blocks" and the latter does not change that association. Zones affected by the RMEMZ command are placed into the zone condition: "Offline". .SH OPTIONS Arguments to long options are mandatory for short options as well. .TP \fB\-c\fR, \fB\-\-capacity\fR=\fIRC\fR RC stands for Requested Capacity and is the number of logical blocks the \fIDEVICE\fR should have after the element is removed with the RMEAT command. The default value is 0 which allows the \fIDEVICE\fR to decide what the reduced capacity will be after the element removal. The RSEAB command ignores this value. .TP \fB\-e\fR, \fB\-\-element\fR=\fIEID\fR where \fIEID\fR is an element identifier which is a 32 bit unsigned integer starting at one. This field is used by the RMEAT command and ignored otherwise. The default value is zero (which is invalid). So the user needs to supply a valid element identifier when \fI\-\-remove\fR is used. .TP \fB\-h\fR, \fB\-\-help\fR output the usage message then exit. .TP \fB\-q\fR, \fB\-\-quick\fR the default action (i.e. when this option is not given) is to give the user 15 seconds to reconsider doing a remove or restore element operation on the \fIDEVICE\fR. When this option is given that step (i.e. the 15 second warning period) is bypassed. .TP \fB\-r\fR, \fB\-\-remove\fR causes the REMOVE ELEMENT AND TRUNCATE command to be sent to the \fIDEVICE\fR. In practice, \fI\-\-element=EID\fR needs to be also given. .TP \fB\-R\fR, \fB\-\-restore\fR causes the RESTORE ELEMENTS AND REBUILD command to be sent to the \fIDEVICE\fR. .TP \fB\-v\fR, \fB\-\-verbose\fR increase the level of verbosity, (i.e. debug output). .TP \fB\-V\fR, \fB\-\-version\fR print the version string and then exit. .SH NOTES Once an element is removed successfully it is termed as "depopulated". Depopulated elements that have the 'Restoration Allowed' (RALWD) bit set (see sg_get_elem_status) are candidates for future restoration. .PP A (storage) element of a rotating hard disk is once side of a platter typically associated with one head. Such hard disks typically have multiple platters with two heads per platter (i.e. one head each side of the platter). .SH EXIT STATUS The exit status of sg_rem_rest_elem is 0 when it is successful. Otherwise see the sg3_utils(8) man page. .SH AUTHORS Written by Douglas Gilbert. .SH "REPORTING BUGS" Report bugs to . .SH COPYRIGHT Copyright \(co 2022 Douglas Gilbert .br This software is distributed under a BSD\-2\-Clause license. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. .SH "SEE ALSO" .B sg_get_elem_status,sg_zone(sg3_utils)