diff options
| author | Luke <[email protected]> | 2017-11-28 00:22:11 -0800 |
|---|---|---|
| committer | GitHub <[email protected]> | 2017-11-28 00:22:11 -0800 |
| commit | 79bbbca2f6e37d94fbbbd60d12c5c1e7dde650da (patch) | |
| tree | 793ff943b8b641f95d05401156badd42da4a0f12 /storage | |
| parent | ed1df9a8b80b154b71b79635e40af75f4f19001c (diff) | |
| parent | 2817004092cee784d4aaf36c045fdb5b0bc09f7e (diff) | |
Merge pull request #1 from Microsoft/master
Updating Local
Diffstat (limited to 'storage')
| -rw-r--r-- | storage/class/cdrom/README.md | 10 | ||||
| -rw-r--r-- | storage/class/classpnp/README.md | 10 | ||||
| -rw-r--r-- | storage/class/classpnp/src/srblib.c | 2 | ||||
| -rw-r--r-- | storage/class/disk/README.md | 10 | ||||
| -rw-r--r-- | storage/filters/addfilter/README.md | 10 | ||||
| -rw-r--r-- | storage/iscsi/README.md | 10 | ||||
| -rw-r--r-- | storage/miniports/lsi_u3/README.md | 10 | ||||
| -rw-r--r-- | storage/miniports/lsi_u3/src/lsi_u3.inf | bin | 5998 -> 6022 bytes | |||
| -rw-r--r-- | storage/miniports/storahci/README.md | 10 | ||||
| -rw-r--r-- | storage/msdsm/README.md | 10 | ||||
| -rw-r--r-- | storage/msdsm/src/intrface.c | 56 | ||||
| -rw-r--r-- | storage/ramdisk/README.md | 10 | ||||
| -rw-r--r-- | storage/ramdisk/src/WdfRamdisk.vcxproj | 2 | ||||
| -rw-r--r-- | storage/ramdisk/src/ramdisk.inx | bin | 5460 -> 5378 bytes | |||
| -rw-r--r-- | storage/sfloppy/README.md | 10 | ||||
| -rw-r--r-- | storage/tools/spti/README.md | 10 |
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 Binary files differindex 1225dad4..8d631d41 100644 --- a/storage/miniports/lsi_u3/src/lsi_u3.inf +++ b/storage/miniports/lsi_u3/src/lsi_u3.inf 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 Binary files differindex cf48a217..b3de10f9 100644 --- a/storage/ramdisk/src/ramdisk.inx +++ b/storage/ramdisk/src/ramdisk.inx 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 ================================ |
