Partilhar via


Enfileiramento de solicitações de armazenamento

Embora seja possível para um driver de classe de armazenamento configurar filas internas para IRPs, raramente é necessário fazê-lo, o que também pode degradar o desempenho do driver, porque o driver de porta de armazenamento já mantém filas de dispositivos criadas pelo driver, específicas de LU, para IRPs. Independentemente de um HBA específico suportar ou não vários comandos pendentes (por exemplo, enfileiramento de tags SCSI), os drivers de classe de armazenamento podem enviar todas as solicitações para seus dispositivos à medida que cada IRP entra e dependem do driver de porta fornecido pelo sistema ou do HBA para lidar com solicitações enfileiradas rapidamente.

Quando ocorrem determinados erros SCSI, o driver da porta do sistema congela a fila específica da LU apropriada e notifica o driver de classe. Para obter mais informações sobre como lidar com erros e liberar filas de solicitações congeladas, consulte o seguinte:

Rotina do ReleaseQueue do Driver de Classe de Armazenamento

Rotina InterpretRequestSense do driver de classe de armazenamento

Rotina RetryRequest do driver de classe de armazenamento

Se um HBA oferecer suporte ao enfileiramento de comandos, conforme indicado nos dados de STORAGE_ADAPTER_DESCRIPTOR retornados, o driver de classe define SRB_FLAGS_QUEUE_ENABLE e usa o membro QueueAction dos SRBs que cria para controlar como suas solicitações são enfileiradas.