summaryrefslogtreecommitdiff
path: root/storage
diff options
context:
space:
mode:
authorLuke <[email protected]>2017-11-28 00:22:11 -0800
committerGitHub <[email protected]>2017-11-28 00:22:11 -0800
commit79bbbca2f6e37d94fbbbd60d12c5c1e7dde650da (patch)
tree793ff943b8b641f95d05401156badd42da4a0f12 /storage
parented1df9a8b80b154b71b79635e40af75f4f19001c (diff)
parent2817004092cee784d4aaf36c045fdb5b0bc09f7e (diff)
Merge pull request #1 from Microsoft/master
Updating Local
Diffstat (limited to 'storage')
-rw-r--r--storage/class/cdrom/README.md10
-rw-r--r--storage/class/classpnp/README.md10
-rw-r--r--storage/class/classpnp/src/srblib.c2
-rw-r--r--storage/class/disk/README.md10
-rw-r--r--storage/filters/addfilter/README.md10
-rw-r--r--storage/iscsi/README.md10
-rw-r--r--storage/miniports/lsi_u3/README.md10
-rw-r--r--storage/miniports/lsi_u3/src/lsi_u3.infbin5998 -> 6022 bytes
-rw-r--r--storage/miniports/storahci/README.md10
-rw-r--r--storage/msdsm/README.md10
-rw-r--r--storage/msdsm/src/intrface.c56
-rw-r--r--storage/ramdisk/README.md10
-rw-r--r--storage/ramdisk/src/WdfRamdisk.vcxproj2
-rw-r--r--storage/ramdisk/src/ramdisk.inxbin5460 -> 5378 bytes
-rw-r--r--storage/sfloppy/README.md10
-rw-r--r--storage/tools/spti/README.md10
16 files changed, 132 insertions, 38 deletions
diff --git a/storage/class/cdrom/README.md b/storage/class/cdrom/README.md
index 187ca63b..92ddf79b 100644
--- a/storage/class/cdrom/README.md
+++ b/storage/class/cdrom/README.md
@@ -1,3 +1,13 @@
+<!---
+ name: CDROM Storage Class Driver
+ platform: KMDF
+ language: cpp
+ category: Storage
+ description: Provide access to CD, DVD and Blu-ray drives, supports Plug and Play, Power Management, and AutoRun (media change notification).
+ samplefwlink: http://go.microsoft.com/fwlink/p/?LinkId=617971
+--->
+
+
CDROM Storage Class Driver
==========================
diff --git a/storage/class/classpnp/README.md b/storage/class/classpnp/README.md
index c3a893ba..ec3c0e9b 100644
--- a/storage/class/classpnp/README.md
+++ b/storage/class/classpnp/README.md
@@ -1,3 +1,13 @@
+<!---
+ name: ClassPnP Class Driver Library
+ platform: WDM
+ language: cpp
+ category: Storage
+ description: A library storage class driver used by disk, CDROM, and the tape class drivers.
+ samplefwlink: http://go.microsoft.com/fwlink/p/?LinkId=617978
+--->
+
+
ClassPnP Storage Class Driver Library
=====================================
diff --git a/storage/class/classpnp/src/srblib.c b/storage/class/classpnp/src/srblib.c
index a888d390..64a7ca88 100644
--- a/storage/class/classpnp/src/srblib.c
+++ b/storage/class/classpnp/src/srblib.c
@@ -22,7 +22,7 @@ Revision History:
--*/
-#include <classp.h>
+#include "classp.h"
PVOID
DefaultStorageRequestBlockAllocateRoutine(
diff --git a/storage/class/disk/README.md b/storage/class/disk/README.md
index 1acd4ed5..c4032547 100644
--- a/storage/class/disk/README.md
+++ b/storage/class/disk/README.md
@@ -1,3 +1,13 @@
+<!---
+ name: Disk Class Driver
+ platform: WDM
+ language: cpp
+ category: Storage
+ description: A class driver for disk devices.
+ samplefwlink: http://go.microsoft.com/fwlink/p/?LinkId=617979
+--->
+
+
Disk Class Driver
=================
diff --git a/storage/filters/addfilter/README.md b/storage/filters/addfilter/README.md
index 3981aa20..8d3084c4 100644
--- a/storage/filters/addfilter/README.md
+++ b/storage/filters/addfilter/README.md
@@ -1,3 +1,13 @@
+<!---
+ name: AddFilter Storage Filter Tool
+ platform: Application
+ language: cpp
+ category: Storage
+ description: A command-line application that adds and removes filter drivers for a given drive or volume.
+ samplefwlink: http://go.microsoft.com/fwlink/p/?LinkId=617980
+--->
+
+
AddFilter Storage Filter Tool
=============================
diff --git a/storage/iscsi/README.md b/storage/iscsi/README.md
index 8bfb6982..320e1206 100644
--- a/storage/iscsi/README.md
+++ b/storage/iscsi/README.md
@@ -1,3 +1,13 @@
+<!---
+ name: iSCSI WMI Client
+ platform: WDM
+ language: cpp
+ category: Storage
+ description: A WMI iSCSI miniport that can be tested using the iSCSICLI.exe tool, the iSCSI Initiator Properties page, the WBEMTEST.exe tool, and customized WMI scripts.
+ samplefwlink: http://go.microsoft.com/fwlink/p/?LinkId=617981
+--->
+
+
iSCSI WMI Client
================
diff --git a/storage/miniports/lsi_u3/README.md b/storage/miniports/lsi_u3/README.md
index 2e7950ea..2ca91c64 100644
--- a/storage/miniports/lsi_u3/README.md
+++ b/storage/miniports/lsi_u3/README.md
@@ -1,3 +1,13 @@
+<!---
+ name: LSI_U3 StorPort Miniport Driver
+ platform: WDM
+ language: cpp
+ category: Storage
+ description: An adapter driver for use with Parallel SCSI Host Bus Adapters or on-motherboard solutions that use the LSI 53C1010 SCSI ASIC.
+ samplefwlink: http://go.microsoft.com/fwlink/p/?LinkId=617982
+--->
+
+
LSI\_U3 StorPort Miniport Driver
================================
diff --git a/storage/miniports/lsi_u3/src/lsi_u3.inf b/storage/miniports/lsi_u3/src/lsi_u3.inf
index 1225dad4..8d631d41 100644
--- a/storage/miniports/lsi_u3/src/lsi_u3.inf
+++ b/storage/miniports/lsi_u3/src/lsi_u3.inf
Binary files differ
diff --git a/storage/miniports/storahci/README.md b/storage/miniports/storahci/README.md
index 7705ebd5..ed65a9ff 100644
--- a/storage/miniports/storahci/README.md
+++ b/storage/miniports/storahci/README.md
@@ -1,3 +1,13 @@
+<!---
+ name: StorAHCI StorPort Miniport
+ platform: WDM
+ language: cpp
+ category: Storage
+ description: A sample Storport ACHI miniport driver.
+ samplefwlink: http://go.microsoft.com/fwlink/p/?LinkId=617983
+--->
+
+
StorAhci StorPort Miniport Driver
=================================
diff --git a/storage/msdsm/README.md b/storage/msdsm/README.md
index d43f1b68..599dc963 100644
--- a/storage/msdsm/README.md
+++ b/storage/msdsm/README.md
@@ -1,3 +1,13 @@
+<!---
+ name: Multipath I/O (MPIO) DSM Sample
+ platform: WDM
+ language: cpp
+ category: Storage
+ description: Provides a sample for building vendor-specific device-specific modules (DSM), supports iSCSI and Fibre Channel devices.
+ samplefwlink: http://go.microsoft.com/fwlink/p/?LinkId=620203
+--->
+
+
Multipath I/O (MPIO) DSM Sample
===============================
diff --git a/storage/msdsm/src/intrface.c b/storage/msdsm/src/intrface.c
index e7c1eb29..925252be 100644
--- a/storage/msdsm/src/intrface.c
+++ b/storage/msdsm/src/intrface.c
@@ -2159,13 +2159,13 @@ Return Value:
group->LBPolicySelection = DSM_DEFAULT_LB_POLICY_LUN_EXPLICIT;
}
-
+
if (!explicitlySet && !vidpidPolicySet && !overallPolicySet) {
group->LBPolicySelection = DSM_DEFAULT_LB_POLICY_ALUA_CAPABILITY;
- }
-
+ }
+
//
// If ALUA is enabled and the load balance policy is set to Round Robin,
// we need to set it to Round Robin with Subset instead.
@@ -2466,7 +2466,7 @@ Return Value:
KIRQL irql;
BOOLEAN retVal;
ULONG SpecialHandlingFlag = 0;
-
+
//
// 1. If PR and reserved by this node, register the PR keys.
// 2. Find the FOG for the passed in PathId
@@ -2714,7 +2714,7 @@ Return Value:
PDSM_FOG_DEVICELIST_ENTRY fogDeviceListEntry = NULL;
PDSM_GROUP_ENTRY group = deviceInfo->Group;
ULONG SpecialHandlingFlag = 0;
-
+
TracePrint((TRACE_LEVEL_VERBOSE,
TRACE_FLAG_PNP,
"DsmPathVerify (DevInfo %p): Entering function.\n",
@@ -2722,22 +2722,6 @@ Return Value:
if (DsmpIsDeviceInitialized(deviceInfo)) {
- if (deviceInfo->Unresponsive) {
- //
- // Since the device is marked unresponsive, there
- // is no point in sending RTPG or TUR down
- // as that will fail by port driver.
- // but that doesn't necessarily mean that the path doesn't exist.
- // Return SUCCESS here so that MPIO doesn't remove
- // disk in case of failover etc.
- // If really this path is gone, this should get deleted
- // as part of pnp removal and then if no other paths are left
- // disk will be removed
- //
- status = STATUS_SUCCESS;
- return status;
- }
-
irql = ExAcquireSpinLockExclusive(&(dsmCtxt->DsmContextLock));
//
@@ -2974,11 +2958,11 @@ Return Value:
// Initialize all the entries to indicate that they haven't been processed.
//
for (entry = failGroup->ZombieGroupList.Flink; entry != &(failGroup->ZombieGroupList); entry = entry->Flink) {
-
+
group = CONTAINING_RECORD(entry, DSM_ZOMBIEGROUP_ENTRY, ListEntry);
group->Processed = FALSE;
}
-
+
//
// Since we need to drop the spin lock while processing an entry, it is possible
// that a removal in parallel frees up this entry during that time, thus making it
@@ -2988,7 +2972,7 @@ Return Value:
// of the list, skipping over the already processed ones.
//
entry = failGroup->ZombieGroupList.Flink;
-
+
while (entry != &(failGroup->ZombieGroupList)) {
group = CONTAINING_RECORD(entry, DSM_ZOMBIEGROUP_ENTRY, ListEntry);
@@ -3165,7 +3149,7 @@ Return Value:
BOOLEAN adminRequest = FALSE;
PDSM_GROUP_ENTRY group = NULL;
ULONG SpecialHandlingFlag = 0;
-
+
TracePrint((TRACE_LEVEL_VERBOSE,
TRACE_FLAG_WMI,
"DsmMoveDevice (DsmIds %p): Entering function - DsmContext %p MPIOPath (%p) SuggestedPath %p.\n",
@@ -3613,7 +3597,7 @@ Return Value:
cdb = SrbGetCdb(Srb);
if (cdb) {
opCode = cdb->AsByte[0];
-
+
}
}
@@ -3739,7 +3723,7 @@ Return Value:
// 2. If the old path was supposed to be removed, check if there are
// no more requests are outstanding, and if yes, remove the path
//
-
+
irpStack = IoGetCurrentIrpStackLocation(irp);
oldPath = irpStack->Parameters.Others.Argument3;
@@ -3788,7 +3772,7 @@ Return Value:
}
} else {
-
+
*Status = STATUS_NO_SUCH_DEVICE;
@@ -3796,7 +3780,7 @@ Return Value:
TRACE_FLAG_RW,
"DsmLBGetPath (DsmIds %p): Failed to get FO group in LBGetPath.\n",
DsmList));
-
+
}
@@ -4101,16 +4085,16 @@ Return Value:
__Exit_DsmSrbDeviceControl:
if (status != STATUS_PENDING) {
-
+
//
// Set-up the Irp status for mpio's completion of the request.
// If it was IRP_MJ_SCSI, one of the helper routines set Srb->SrbStatus
// already.
//
if ((irpStack->MajorFunction == IRP_MJ_SCSI) &&
- (Srb != NULL) &&
+ (Srb != NULL) &&
(Srb->SrbStatus == SRB_STATUS_PENDING)) {
-
+
Srb->SrbStatus = SRB_STATUS_ERROR;
}
@@ -4694,7 +4678,7 @@ Return Value:
handled = TRUE;
break;
- }
+ }
}
}
}
@@ -4884,7 +4868,7 @@ Return Value:
break;
}
-
+
default: {
if ((scsiStatus == SCSISTAT_CHECK_CONDITION) &&
@@ -4998,7 +4982,7 @@ Return Value:
if (failover) {
ULONG SpecialHandlingFlag = 0;
-
+
//
// If ALUA is supported, then it is possible that we may need to send
// down an STPG so build an IRP and fill in the SRB for STPG and send it down.
@@ -5072,7 +5056,7 @@ Return Value:
deviceInfo->Group->PathToBeUsed));
}
}
- }
+ }
*Retry = retry;
diff --git a/storage/ramdisk/README.md b/storage/ramdisk/README.md
index 66e97691..83e0bae1 100644
--- a/storage/ramdisk/README.md
+++ b/storage/ramdisk/README.md
@@ -1,3 +1,13 @@
+<!---
+ name: RAMDisk Storage Driver Sample
+ platform: KMDF
+ language: cpp
+ category: Storage
+ description: Demonstrates how to write a RAM disk software-only function driver using KMDF.
+ samplefwlink: http://go.microsoft.com/fwlink/p/?LinkId=617988
+--->
+
+
RAMDisk Storage Driver Sample
=============================
diff --git a/storage/ramdisk/src/WdfRamdisk.vcxproj b/storage/ramdisk/src/WdfRamdisk.vcxproj
index 10e35ae1..70a054f1 100644
--- a/storage/ramdisk/src/WdfRamdisk.vcxproj
+++ b/storage/ramdisk/src/WdfRamdisk.vcxproj
@@ -138,7 +138,7 @@
<ResourceCompile Include="ramdisk.rc" />
</ItemGroup>
<ItemGroup>
- <Inf Exclude="@(Inf)" Include="*.inf" />
+ <Inf Exclude="@(Inf)" Include="*.inx" />
<FilesToPackage Include="$(TargetPath)" Condition="'$(ConfigurationType)'=='Driver' or '$(ConfigurationType)'=='DynamicLibrary'" />
</ItemGroup>
<ItemGroup>
diff --git a/storage/ramdisk/src/ramdisk.inx b/storage/ramdisk/src/ramdisk.inx
index cf48a217..b3de10f9 100644
--- a/storage/ramdisk/src/ramdisk.inx
+++ b/storage/ramdisk/src/ramdisk.inx
Binary files differ
diff --git a/storage/sfloppy/README.md b/storage/sfloppy/README.md
index be7bd211..a48c6230 100644
--- a/storage/sfloppy/README.md
+++ b/storage/sfloppy/README.md
@@ -1,3 +1,13 @@
+<!---
+ name: Super Floppy (sfloppy) Storage Class Driver
+ platform: WDM
+ language: cpp
+ category: Storage
+ description: A smaple class driver for Super Floppy disk drives.
+ samplefwlink: http://go.microsoft.com/fwlink/p/?LinkId=617989
+--->
+
+
Super Floppy (sfloppy) Storage Class Driver
===========================================
diff --git a/storage/tools/spti/README.md b/storage/tools/spti/README.md
index 0d9ad39a..10037d01 100644
--- a/storage/tools/spti/README.md
+++ b/storage/tools/spti/README.md
@@ -1,3 +1,13 @@
+<!---
+ name: SCSI Pass-Through Interface Tool
+ platform: Application
+ language: cpp
+ category: Storage
+ description: Demonstrates how to communicate with a SCSI device using pass-through IOCTLs in an application using DeviceIoControl API.
+ samplefwlink: http://go.microsoft.com/fwlink/p/?LinkId=617990
+--->
+
+
SCSI Pass-Through Interface Tool
================================