1
0
mirror of https://git.FreeBSD.org/src.git synced 2025-01-18 15:30:21 +00:00

Add "rpm" and "formfactor" LUN options to match istgt functionality.

MFC after:	1 week
This commit is contained in:
Alexander Motin 2014-10-26 07:40:37 +00:00
parent 7e9a456a53
commit 6f67ce91ca
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=273687
2 changed files with 21 additions and 2 deletions

View File

@ -10207,6 +10207,8 @@ ctl_inquiry_evpd_bdc(struct ctl_scsiio *ctsio, int alloc_len)
{
struct scsi_vpd_block_device_characteristics *bdc_ptr;
struct ctl_lun *lun;
const char *value;
u_int i;
lun = (struct ctl_lun *)ctsio->io_hdr.ctl_private[CTL_PRIV_LUN].ptr;
@ -10239,7 +10241,18 @@ ctl_inquiry_evpd_bdc(struct ctl_scsiio *ctsio, int alloc_len)
bdc_ptr->device = (SID_QUAL_LU_OFFLINE << 5) | T_DIRECT;
bdc_ptr->page_code = SVPD_BDC;
scsi_ulto2b(sizeof(*bdc_ptr) - 4, bdc_ptr->page_length);
scsi_ulto2b(SVPD_NON_ROTATING, bdc_ptr->medium_rotation_rate);
if (lun != NULL &&
(value = ctl_get_opt(&lun->be_lun->options, "rpm")) != NULL)
i = strtol(value, NULL, 0);
else
i = SVPD_NON_ROTATING;
scsi_ulto2b(i, bdc_ptr->medium_rotation_rate);
if (lun != NULL &&
(value = ctl_get_opt(&lun->be_lun->options, "formfactor")) != NULL)
i = strtol(value, NULL, 0);
else
i = 0;
bdc_ptr->wab_wac_ff = (i & 0x0f);
bdc_ptr->flags = SVPD_FUAB | SVPD_VBULS;
ctsio->scsi_status = SCSI_STATUS_OK;

View File

@ -34,7 +34,7 @@
.\" $Id: //depot/users/kenm/FreeBSD-test2/usr.sbin/ctladm/ctladm.8#3 $
.\" $FreeBSD$
.\"
.Dd October 12, 2014
.Dd October 26, 2014
.Dt CTLADM 8
.Os
.Sh NAME
@ -995,6 +995,12 @@ command sequence order shall be explicitly handled by the application
client through the selection of appropriate commands and task attributes.
The default value is "restricted". It improves data integrity, but may
introduce some additional delays.
.It Va rpm
Specifies medium rotation rate of the device: 0 -- not reported,
1 -- non-rotating (SSD), >1024 -- value in revolutions per minute.
.It Va formfactor
Specifies nominal form factor of the device: 0 -- not reported, 1 -- 5.25",
2 -- 3.5", 3 -- 2.5", 4 -- 1.8", 5 -- less then 1.8".
.It Va unmap
Set to "on", enables UNMAP support for the LUN, if supported by the backend.
.It Va writecache