summaryrefslogtreecommitdiff
path: root/usr/src/uts/common/io/scsi/targets/sd.c
diff options
context:
space:
mode:
authorGarrett D'Amore <garrett@damore.org>2013-11-17 14:26:56 -0800
committerRobert Mustacchi <rm@joyent.com>2013-12-16 13:37:26 -0800
commit59d8f1005b65ef8ad2c9ce040497daf81dd65085 (patch)
treec20d3313e8319858158f3ee816ccda62ca909b1f /usr/src/uts/common/io/scsi/targets/sd.c
parentd1b18d1a1255ac607d5e072515d727cdfe52f878 (diff)
downloadillumos-gate-59d8f1005b65ef8ad2c9ce040497daf81dd65085.tar.gz
4335 need a mechanism to detect solid state storage devices
Reviewed by: Keith M Wesolowski <wesolows@foobazco.org> Reviewed by: Saso Kiselkov <skiselkov.ml@gmail.com> Approved by: Dan McDonald <danmcd@nexenta.com>
Diffstat (limited to 'usr/src/uts/common/io/scsi/targets/sd.c')
-rw-r--r--usr/src/uts/common/io/scsi/targets/sd.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/usr/src/uts/common/io/scsi/targets/sd.c b/usr/src/uts/common/io/scsi/targets/sd.c
index 6687163bf9..67529e7759 100644
--- a/usr/src/uts/common/io/scsi/targets/sd.c
+++ b/usr/src/uts/common/io/scsi/targets/sd.c
@@ -26,6 +26,7 @@
* Copyright (c) 2011 Bayard G. Bell. All rights reserved.
* Copyright (c) 2012 by Delphix. All rights reserved.
* Copyright 2013 Nexenta Systems, Inc. All rights reserved.
+ * Copyright 2012 DEY Storage Systems, Inc. All rights reserved.
*/
/*
* Copyright 2011 cyril.galibern@opensvc.com
@@ -22323,6 +22324,7 @@ sdioctl(dev_t dev, int cmd, intptr_t arg, int flag, cred_t *cred_p, int *rval_p)
case DKIOCINFO:
case DKIOCGMEDIAINFO:
case DKIOCGMEDIAINFOEXT:
+ case DKIOCSOLIDSTATE:
case MHIOCENFAILFAST:
case MHIOCSTATUS:
case MHIOCTKOWN:
@@ -22515,6 +22517,16 @@ skip_ready_valid:
}
break;
+ case DKIOCSOLIDSTATE:
+ SD_TRACE(SD_LOG_IOCTL, un, "DKIOCSOLIDSTATE\n");
+ i = un->un_f_is_solid_state ? 1 : 0;
+ if (ddi_copyout(&i, (void *)arg, sizeof (int), flag) != 0) {
+ err = EFAULT;
+ } else {
+ err = 0;
+ }
+ break;
+
case DKIOCHOTPLUGGABLE:
SD_TRACE(SD_LOG_IOCTL, un, "DKIOCHOTPLUGGABLE\n");
i = un->un_f_is_hotpluggable ? 1 : 0;