MCPcopy Create free account
hub / github.com/bobranten/Ext4Fsd / Ext2AllowExtendedDasdIo

Function Ext2AllowExtendedDasdIo

Ext4Fsd/fsctl.c:404–433  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

402}
403
404NTSTATUS
405Ext2AllowExtendedDasdIo(IN PEXT2_IRP_CONTEXT IrpContext)
406{
407 PIO_STACK_LOCATION IrpSp;
408 PEXT2_VCB Vcb;
409 PEXT2_CCB Ccb;
410 NTSTATUS status;
411
412 IrpSp = IoGetCurrentIrpStackLocation(IrpContext->Irp);
413
414 Vcb = (PEXT2_VCB) IrpSp->FileObject->FsContext;
415 Ccb = (PEXT2_CCB) IrpSp->FileObject->FsContext2;
416
417 ASSERT(Vcb != NULL);
418
419 ASSERT((Vcb->Identifier.Type == EXT2VCB) &&
420 (Vcb->Identifier.Size == sizeof(EXT2_VCB)));
421
422 ASSERT(IsMounted(Vcb));
423
424 if (Ccb) {
425 SetLongFlag(Ccb->Flags, CCB_ALLOW_EXTENDED_DASD_IO);
426 status = STATUS_SUCCESS;
427 } else {
428 status = STATUS_INVALID_PARAMETER;
429 }
430
431 Ext2CompleteIrpContext(IrpContext, status);
432 return status;
433}
434
435/*
436 * Ext2OplockRequest

Callers 1

Ext2UserFsRequestFunction · 0.85

Calls 1

Ext2CompleteIrpContextFunction · 0.85

Tested by

no test coverage detected