reactos/drivers/filesystems/cdfs_new/read.c

577 lines
15 KiB
C
Raw Normal View History

/*++
Copyright (c) 1989-2000 Microsoft Corporation
Module Name:
Read.c
Abstract:
This module implements the File Read routine for Read called by the
Fsd/Fsp dispatch drivers.
--*/
[0.4.7][CDFS_NEW/NTOSKRNL/NDK] Switch from our old CDFS to MS-PL CDFS_NEW The main motivation to switch to that newer driver is, that our old one simply can not read all isos. Especially complex ones made trouble and were only shown as empty in explorer. It is still possible to build and use the old driver when needed, only thing that needs to be done for that is to revert 0.4.8-dev-164-g ec6b3ecbe48ad51c366563196cc93a6ae74e8b69 Porting back the state up to 0.4.8-release-100-g8f947b5 implies: Fixing the following JIRA-IDs (or avoid introducing them): CORE-18029 "Mute noisy DPRINT 'SectionObject has ImageSection'" CORE-17405 "Fix a macro-copy-paste and shrink the binary size" CORE-15659 "Unable to build the gcc Release version in Windows using RosBE 2.1.6 (module cdfs fails)" CORE-14315 "CDFS_NEW assertion during first stage setup due to new CcPerformReadAhead" CORE-14128 "Avast! Free Antivirus 7.0 hangs the system when trying to detect a newly created virus" CORE-14067 "CDFS_NEW assertions and exceptions" CORE-14003 "Shutting down LiveCD asserts since introduction of MS PL CDFS_NEW" CORE-13184 "Restore ability to install from disk-image" by picking the following commits: 0.4.8-release-100-g 8f947b532221069d2f398e25a9c0775c34e21878 [NTOSKRNL] Mute noisy DPRINT 'SectionObject has ImageSection' CORE-18029 0.4.8-release-80-g eb1ea195888e17d026428dc6f406a1834c8702d8 [CDFS_NEW] == 0.4.15-dev-1456-g 889eab7 CORE-17405 0.4.8-release-62-g 8c07aad4a8c6469c7e4ba4c5e92e356a6548189a [CDFS_NEW/XDK] == 0.4.11-dev-39-g a2f9762 + 0.4.11-dev-40-g 6d7ec8c CORE-14067 0.4.8-release-3-g 5d976d04e876aac6990a8f997669711eca83227a [CDFS_NEW] == 0.4.12-dev-431-g bccad87f3ccf266be2179d1322e7a422aeb2f3b7 + 0.4.12-dev-432-g 3463b2db9fc08e5ebe2f5b146d3fe12248f632f3 CORE-15659 0.4.8-RC-3-g 51f9494d484bbe8232e375c2693851316d9d530f [CDFS_NEW] superseded later by the proper fix 0.4.8-release-62-g 8c07aad4a8c6469c7e4ba4c5e92e356a6548189a CORE-14067 0.4.8-dev-1069-g a5e89014dc943b2cbddb16fc4d92e13b7e5068e1 [CDFS_NEW] CORE-14315 0.4.8-dev-475-g a59d4674dec116a951392bb6d136bd11f0e143f2 [NTOSKRNL] io/iomgr/device.c (forgotten assert) CORE-14128 0.4.8-dev-221-g 9d67a24799e29e832933311a8e6ba21787e40f6a [CDFS_NEW] 0.4.8-dev-220-g 67a7e45e351b70356fee442c31cb5de14a0de37e [CDFS_NEW/DOC] 0.4.8-dev-219-g 6a3bbf24e012e4985b97ca4d79604c28fe0133d7 [CDFS_NEW] 0.4.8-dev-218-g ec26cde4a13b3889883d3e1b19f7878179c76df5 [CDFS_NEW] 0.4.8-dev-217-g bc2378a3560a384c47d2a4c83886531ad8f0af90 [CDFS_NEW] 0.4.8-dev-216-g 5429771b9936a6d8aee6ffb3860310673f467e93 [CDFS_NEW] 0.4.8-dev-215-g fd345482634d8ef4c64e5910ce4752ac0c7438cc [CDFS_NEW] Sync with MS-PL driver 0.4.8-dev-164-g ec6b3ecbe48ad51c366563196cc93a6ae74e8b69 [FILESYSTEMS] switch from CDFS to CDFS_NEW in CMakeLists.txt 0.4.8-dev-160-g 2b217e4ecf942126c4672f8d1c0a2fb55530d731 [NTOSKRNL] Mute spam CcSetReadAheadGranularity() 0.4.8-dev-159-g 64cb138a673fa02d76922963c680bfeb05f1d715 [NTOSKRNL] Mute spam CcPurgeCacheSection() 0.4.8-dev-150-g f723d230a0bc4b7b78ca125abecce137bb96bed6 [CDFS_NEW] 0.4.8-dev-133-g faee3753ea79c7e332c7a1b5eb74ca2c6614e23d [CDFS_NEW] CORE-14003 0.4.8-dev-132-g 1d777ffab5458495c04f250cf7ced379f306a7af [NTOSKRNL] iofunc.c CORE-14003 0.4.8-dev-131-g c3d5a3f2bdff97f03b802fe95dce9d0c9375e53e [NTOSKRNL] iofunc.c CORE-14003 0.4.8-dev-130-g 3b64f7f8fbbc64ada4dfdb6bdd1feff4bac10c1d [NTOSKRNL] ob/obref.c & co CORE-14003 0.4.8-dev-129-g 7eefe702949da68e49c4365d466c5373099c3b1f [NTOSKRNL] io/iomgr.c & co CORE-14003 0.4.8-dev-127-g 5f255827d3282b2dea1bc6d5ba77607550742ced [CDFS_NEW] 0.4.8-dev-126-g 1bef48796e4df655c71ddd92a00417dbe9e530ca [NTOSKRNL] just a comment, superseded later 0.4.8-dev-125-g cbf0430b56b600c29c1f615117574afcce1a9027 [CDFS_NEW] 0.4.8-dev-123-g f88fe43abd6a039f25cc08a8dfd65f9a56ef9da7 [NTOSKRNL] io/iomgr/device.c (forbidden DPRINT) 0.4.8-dev-122-g 6c733856258ebfac4b62ffb7733202dddb74a4be [CDFS_NEW] CORE-13184 0.4.8-dev-97-g 94298313c03c791d1ed472125ebf86f4258d2354 [CDFS_NEW] 0.4.8-dev-95-g e88eeb21af4b778f19b10e2d0e9f1c4361d6838d [CDFS_NEW/NTOSKRNL] CcWaitForCurrentLazyWriterActivity() stub return Success 0.4.8-dev-94-g 03d5be6437a1f2e4376ac117421133ebfdde799e [CDFS_NEW] 0.4.8-dev-93-g fa1c60db50d456fe39e315fbbe18bbee78af4105 [CDFS_NEW] 0.4.8-dev-92-g 8b2fd60829eeeb28fcafc0ef2511f7bed04ffd64 [CDFS_NEW] 0.4.8-dev-91-g e4da7ecc50b59b9f8283d84b3707fa69c595a57d [CDFS_NEW] 0.4.8-dev-90-g 7b19676e2b541983f1062ba1c563099284646010 [CDFS_NEW] 0.4.8-dev-89-g 3d4b8783fd0b9b8231a46e7b914447b86255e35b [CDFS_NEW] 0.4.8-dev-88-g 818025ecc8006c19ce6f6139b21294795f51bafd [CDFS_NEW] 0.4.8-dev-87-g 2639dd673636e4848a4fe33b9a4cd142efcc84f8 [CDFS_NEW] 0.4.8-dev-86-g 755bdb5d0b09e1df374f197c59639c0d78b86d6f [CDFS_NEW] 0.4.8-dev-85-g 3cbcb1badee213fdbadaa2db99086d21a8775fe8 [CDFS_NEW] and mute spam in opcode INSTEAD of picking: 0.4.8-dev-165-g 2284a457a36a9ce7e2b28bf38b6456ff0a6de471 [NTOSKRNL] oplock.c Fixup 0.4.8-dev-163-g d3d585395684b96df9782fe0af253f2c3e9cffc4 [NTOSKRNL] oplock.c Implement oplock-support 0.4.12-dev-232-g f488102c863c46763f36c837265a207dc59dadd5 [CDFS] was also left out for now I am aware, that the backport introduces white-space-glitches within CDFS_NEW. I decided to live with them in favor of better sync to master and newer releases.
2022-01-27 20:10:22 +00:00
#include "cdprocs.h"
//
// The Bug check file id for this module
//
#define BugCheckFileId (CDFS_BUG_CHECK_READ)
//
// VOID
// SafeZeroMemory (
[0.4.7][CDFS_NEW/NTOSKRNL/NDK] Switch from our old CDFS to MS-PL CDFS_NEW The main motivation to switch to that newer driver is, that our old one simply can not read all isos. Especially complex ones made trouble and were only shown as empty in explorer. It is still possible to build and use the old driver when needed, only thing that needs to be done for that is to revert 0.4.8-dev-164-g ec6b3ecbe48ad51c366563196cc93a6ae74e8b69 Porting back the state up to 0.4.8-release-100-g8f947b5 implies: Fixing the following JIRA-IDs (or avoid introducing them): CORE-18029 "Mute noisy DPRINT 'SectionObject has ImageSection'" CORE-17405 "Fix a macro-copy-paste and shrink the binary size" CORE-15659 "Unable to build the gcc Release version in Windows using RosBE 2.1.6 (module cdfs fails)" CORE-14315 "CDFS_NEW assertion during first stage setup due to new CcPerformReadAhead" CORE-14128 "Avast! Free Antivirus 7.0 hangs the system when trying to detect a newly created virus" CORE-14067 "CDFS_NEW assertions and exceptions" CORE-14003 "Shutting down LiveCD asserts since introduction of MS PL CDFS_NEW" CORE-13184 "Restore ability to install from disk-image" by picking the following commits: 0.4.8-release-100-g 8f947b532221069d2f398e25a9c0775c34e21878 [NTOSKRNL] Mute noisy DPRINT 'SectionObject has ImageSection' CORE-18029 0.4.8-release-80-g eb1ea195888e17d026428dc6f406a1834c8702d8 [CDFS_NEW] == 0.4.15-dev-1456-g 889eab7 CORE-17405 0.4.8-release-62-g 8c07aad4a8c6469c7e4ba4c5e92e356a6548189a [CDFS_NEW/XDK] == 0.4.11-dev-39-g a2f9762 + 0.4.11-dev-40-g 6d7ec8c CORE-14067 0.4.8-release-3-g 5d976d04e876aac6990a8f997669711eca83227a [CDFS_NEW] == 0.4.12-dev-431-g bccad87f3ccf266be2179d1322e7a422aeb2f3b7 + 0.4.12-dev-432-g 3463b2db9fc08e5ebe2f5b146d3fe12248f632f3 CORE-15659 0.4.8-RC-3-g 51f9494d484bbe8232e375c2693851316d9d530f [CDFS_NEW] superseded later by the proper fix 0.4.8-release-62-g 8c07aad4a8c6469c7e4ba4c5e92e356a6548189a CORE-14067 0.4.8-dev-1069-g a5e89014dc943b2cbddb16fc4d92e13b7e5068e1 [CDFS_NEW] CORE-14315 0.4.8-dev-475-g a59d4674dec116a951392bb6d136bd11f0e143f2 [NTOSKRNL] io/iomgr/device.c (forgotten assert) CORE-14128 0.4.8-dev-221-g 9d67a24799e29e832933311a8e6ba21787e40f6a [CDFS_NEW] 0.4.8-dev-220-g 67a7e45e351b70356fee442c31cb5de14a0de37e [CDFS_NEW/DOC] 0.4.8-dev-219-g 6a3bbf24e012e4985b97ca4d79604c28fe0133d7 [CDFS_NEW] 0.4.8-dev-218-g ec26cde4a13b3889883d3e1b19f7878179c76df5 [CDFS_NEW] 0.4.8-dev-217-g bc2378a3560a384c47d2a4c83886531ad8f0af90 [CDFS_NEW] 0.4.8-dev-216-g 5429771b9936a6d8aee6ffb3860310673f467e93 [CDFS_NEW] 0.4.8-dev-215-g fd345482634d8ef4c64e5910ce4752ac0c7438cc [CDFS_NEW] Sync with MS-PL driver 0.4.8-dev-164-g ec6b3ecbe48ad51c366563196cc93a6ae74e8b69 [FILESYSTEMS] switch from CDFS to CDFS_NEW in CMakeLists.txt 0.4.8-dev-160-g 2b217e4ecf942126c4672f8d1c0a2fb55530d731 [NTOSKRNL] Mute spam CcSetReadAheadGranularity() 0.4.8-dev-159-g 64cb138a673fa02d76922963c680bfeb05f1d715 [NTOSKRNL] Mute spam CcPurgeCacheSection() 0.4.8-dev-150-g f723d230a0bc4b7b78ca125abecce137bb96bed6 [CDFS_NEW] 0.4.8-dev-133-g faee3753ea79c7e332c7a1b5eb74ca2c6614e23d [CDFS_NEW] CORE-14003 0.4.8-dev-132-g 1d777ffab5458495c04f250cf7ced379f306a7af [NTOSKRNL] iofunc.c CORE-14003 0.4.8-dev-131-g c3d5a3f2bdff97f03b802fe95dce9d0c9375e53e [NTOSKRNL] iofunc.c CORE-14003 0.4.8-dev-130-g 3b64f7f8fbbc64ada4dfdb6bdd1feff4bac10c1d [NTOSKRNL] ob/obref.c & co CORE-14003 0.4.8-dev-129-g 7eefe702949da68e49c4365d466c5373099c3b1f [NTOSKRNL] io/iomgr.c & co CORE-14003 0.4.8-dev-127-g 5f255827d3282b2dea1bc6d5ba77607550742ced [CDFS_NEW] 0.4.8-dev-126-g 1bef48796e4df655c71ddd92a00417dbe9e530ca [NTOSKRNL] just a comment, superseded later 0.4.8-dev-125-g cbf0430b56b600c29c1f615117574afcce1a9027 [CDFS_NEW] 0.4.8-dev-123-g f88fe43abd6a039f25cc08a8dfd65f9a56ef9da7 [NTOSKRNL] io/iomgr/device.c (forbidden DPRINT) 0.4.8-dev-122-g 6c733856258ebfac4b62ffb7733202dddb74a4be [CDFS_NEW] CORE-13184 0.4.8-dev-97-g 94298313c03c791d1ed472125ebf86f4258d2354 [CDFS_NEW] 0.4.8-dev-95-g e88eeb21af4b778f19b10e2d0e9f1c4361d6838d [CDFS_NEW/NTOSKRNL] CcWaitForCurrentLazyWriterActivity() stub return Success 0.4.8-dev-94-g 03d5be6437a1f2e4376ac117421133ebfdde799e [CDFS_NEW] 0.4.8-dev-93-g fa1c60db50d456fe39e315fbbe18bbee78af4105 [CDFS_NEW] 0.4.8-dev-92-g 8b2fd60829eeeb28fcafc0ef2511f7bed04ffd64 [CDFS_NEW] 0.4.8-dev-91-g e4da7ecc50b59b9f8283d84b3707fa69c595a57d [CDFS_NEW] 0.4.8-dev-90-g 7b19676e2b541983f1062ba1c563099284646010 [CDFS_NEW] 0.4.8-dev-89-g 3d4b8783fd0b9b8231a46e7b914447b86255e35b [CDFS_NEW] 0.4.8-dev-88-g 818025ecc8006c19ce6f6139b21294795f51bafd [CDFS_NEW] 0.4.8-dev-87-g 2639dd673636e4848a4fe33b9a4cd142efcc84f8 [CDFS_NEW] 0.4.8-dev-86-g 755bdb5d0b09e1df374f197c59639c0d78b86d6f [CDFS_NEW] 0.4.8-dev-85-g 3cbcb1badee213fdbadaa2db99086d21a8775fe8 [CDFS_NEW] and mute spam in opcode INSTEAD of picking: 0.4.8-dev-165-g 2284a457a36a9ce7e2b28bf38b6456ff0a6de471 [NTOSKRNL] oplock.c Fixup 0.4.8-dev-163-g d3d585395684b96df9782fe0af253f2c3e9cffc4 [NTOSKRNL] oplock.c Implement oplock-support 0.4.12-dev-232-g f488102c863c46763f36c837265a207dc59dadd5 [CDFS] was also left out for now I am aware, that the backport introduces white-space-glitches within CDFS_NEW. I decided to live with them in favor of better sync to master and newer releases.
2022-01-27 20:10:22 +00:00
// _Out_ PUCHAR At,
// _In_ ULONG ByteCount
// );
//
//
// This macro just puts a nice little try-except around RtlZeroMemory
//
[0.4.7][CDFS_NEW/NTOSKRNL/NDK] Switch from our old CDFS to MS-PL CDFS_NEW The main motivation to switch to that newer driver is, that our old one simply can not read all isos. Especially complex ones made trouble and were only shown as empty in explorer. It is still possible to build and use the old driver when needed, only thing that needs to be done for that is to revert 0.4.8-dev-164-g ec6b3ecbe48ad51c366563196cc93a6ae74e8b69 Porting back the state up to 0.4.8-release-100-g8f947b5 implies: Fixing the following JIRA-IDs (or avoid introducing them): CORE-18029 "Mute noisy DPRINT 'SectionObject has ImageSection'" CORE-17405 "Fix a macro-copy-paste and shrink the binary size" CORE-15659 "Unable to build the gcc Release version in Windows using RosBE 2.1.6 (module cdfs fails)" CORE-14315 "CDFS_NEW assertion during first stage setup due to new CcPerformReadAhead" CORE-14128 "Avast! Free Antivirus 7.0 hangs the system when trying to detect a newly created virus" CORE-14067 "CDFS_NEW assertions and exceptions" CORE-14003 "Shutting down LiveCD asserts since introduction of MS PL CDFS_NEW" CORE-13184 "Restore ability to install from disk-image" by picking the following commits: 0.4.8-release-100-g 8f947b532221069d2f398e25a9c0775c34e21878 [NTOSKRNL] Mute noisy DPRINT 'SectionObject has ImageSection' CORE-18029 0.4.8-release-80-g eb1ea195888e17d026428dc6f406a1834c8702d8 [CDFS_NEW] == 0.4.15-dev-1456-g 889eab7 CORE-17405 0.4.8-release-62-g 8c07aad4a8c6469c7e4ba4c5e92e356a6548189a [CDFS_NEW/XDK] == 0.4.11-dev-39-g a2f9762 + 0.4.11-dev-40-g 6d7ec8c CORE-14067 0.4.8-release-3-g 5d976d04e876aac6990a8f997669711eca83227a [CDFS_NEW] == 0.4.12-dev-431-g bccad87f3ccf266be2179d1322e7a422aeb2f3b7 + 0.4.12-dev-432-g 3463b2db9fc08e5ebe2f5b146d3fe12248f632f3 CORE-15659 0.4.8-RC-3-g 51f9494d484bbe8232e375c2693851316d9d530f [CDFS_NEW] superseded later by the proper fix 0.4.8-release-62-g 8c07aad4a8c6469c7e4ba4c5e92e356a6548189a CORE-14067 0.4.8-dev-1069-g a5e89014dc943b2cbddb16fc4d92e13b7e5068e1 [CDFS_NEW] CORE-14315 0.4.8-dev-475-g a59d4674dec116a951392bb6d136bd11f0e143f2 [NTOSKRNL] io/iomgr/device.c (forgotten assert) CORE-14128 0.4.8-dev-221-g 9d67a24799e29e832933311a8e6ba21787e40f6a [CDFS_NEW] 0.4.8-dev-220-g 67a7e45e351b70356fee442c31cb5de14a0de37e [CDFS_NEW/DOC] 0.4.8-dev-219-g 6a3bbf24e012e4985b97ca4d79604c28fe0133d7 [CDFS_NEW] 0.4.8-dev-218-g ec26cde4a13b3889883d3e1b19f7878179c76df5 [CDFS_NEW] 0.4.8-dev-217-g bc2378a3560a384c47d2a4c83886531ad8f0af90 [CDFS_NEW] 0.4.8-dev-216-g 5429771b9936a6d8aee6ffb3860310673f467e93 [CDFS_NEW] 0.4.8-dev-215-g fd345482634d8ef4c64e5910ce4752ac0c7438cc [CDFS_NEW] Sync with MS-PL driver 0.4.8-dev-164-g ec6b3ecbe48ad51c366563196cc93a6ae74e8b69 [FILESYSTEMS] switch from CDFS to CDFS_NEW in CMakeLists.txt 0.4.8-dev-160-g 2b217e4ecf942126c4672f8d1c0a2fb55530d731 [NTOSKRNL] Mute spam CcSetReadAheadGranularity() 0.4.8-dev-159-g 64cb138a673fa02d76922963c680bfeb05f1d715 [NTOSKRNL] Mute spam CcPurgeCacheSection() 0.4.8-dev-150-g f723d230a0bc4b7b78ca125abecce137bb96bed6 [CDFS_NEW] 0.4.8-dev-133-g faee3753ea79c7e332c7a1b5eb74ca2c6614e23d [CDFS_NEW] CORE-14003 0.4.8-dev-132-g 1d777ffab5458495c04f250cf7ced379f306a7af [NTOSKRNL] iofunc.c CORE-14003 0.4.8-dev-131-g c3d5a3f2bdff97f03b802fe95dce9d0c9375e53e [NTOSKRNL] iofunc.c CORE-14003 0.4.8-dev-130-g 3b64f7f8fbbc64ada4dfdb6bdd1feff4bac10c1d [NTOSKRNL] ob/obref.c & co CORE-14003 0.4.8-dev-129-g 7eefe702949da68e49c4365d466c5373099c3b1f [NTOSKRNL] io/iomgr.c & co CORE-14003 0.4.8-dev-127-g 5f255827d3282b2dea1bc6d5ba77607550742ced [CDFS_NEW] 0.4.8-dev-126-g 1bef48796e4df655c71ddd92a00417dbe9e530ca [NTOSKRNL] just a comment, superseded later 0.4.8-dev-125-g cbf0430b56b600c29c1f615117574afcce1a9027 [CDFS_NEW] 0.4.8-dev-123-g f88fe43abd6a039f25cc08a8dfd65f9a56ef9da7 [NTOSKRNL] io/iomgr/device.c (forbidden DPRINT) 0.4.8-dev-122-g 6c733856258ebfac4b62ffb7733202dddb74a4be [CDFS_NEW] CORE-13184 0.4.8-dev-97-g 94298313c03c791d1ed472125ebf86f4258d2354 [CDFS_NEW] 0.4.8-dev-95-g e88eeb21af4b778f19b10e2d0e9f1c4361d6838d [CDFS_NEW/NTOSKRNL] CcWaitForCurrentLazyWriterActivity() stub return Success 0.4.8-dev-94-g 03d5be6437a1f2e4376ac117421133ebfdde799e [CDFS_NEW] 0.4.8-dev-93-g fa1c60db50d456fe39e315fbbe18bbee78af4105 [CDFS_NEW] 0.4.8-dev-92-g 8b2fd60829eeeb28fcafc0ef2511f7bed04ffd64 [CDFS_NEW] 0.4.8-dev-91-g e4da7ecc50b59b9f8283d84b3707fa69c595a57d [CDFS_NEW] 0.4.8-dev-90-g 7b19676e2b541983f1062ba1c563099284646010 [CDFS_NEW] 0.4.8-dev-89-g 3d4b8783fd0b9b8231a46e7b914447b86255e35b [CDFS_NEW] 0.4.8-dev-88-g 818025ecc8006c19ce6f6139b21294795f51bafd [CDFS_NEW] 0.4.8-dev-87-g 2639dd673636e4848a4fe33b9a4cd142efcc84f8 [CDFS_NEW] 0.4.8-dev-86-g 755bdb5d0b09e1df374f197c59639c0d78b86d6f [CDFS_NEW] 0.4.8-dev-85-g 3cbcb1badee213fdbadaa2db99086d21a8775fe8 [CDFS_NEW] and mute spam in opcode INSTEAD of picking: 0.4.8-dev-165-g 2284a457a36a9ce7e2b28bf38b6456ff0a6de471 [NTOSKRNL] oplock.c Fixup 0.4.8-dev-163-g d3d585395684b96df9782fe0af253f2c3e9cffc4 [NTOSKRNL] oplock.c Implement oplock-support 0.4.12-dev-232-g f488102c863c46763f36c837265a207dc59dadd5 [CDFS] was also left out for now I am aware, that the backport introduces white-space-glitches within CDFS_NEW. I decided to live with them in favor of better sync to master and newer releases.
2022-01-27 20:10:22 +00:00
#ifndef __REACTOS__
#define SafeZeroMemory(IC,AT,BYTE_COUNT) { \
[0.4.7][CDFS_NEW/NTOSKRNL/NDK] Switch from our old CDFS to MS-PL CDFS_NEW The main motivation to switch to that newer driver is, that our old one simply can not read all isos. Especially complex ones made trouble and were only shown as empty in explorer. It is still possible to build and use the old driver when needed, only thing that needs to be done for that is to revert 0.4.8-dev-164-g ec6b3ecbe48ad51c366563196cc93a6ae74e8b69 Porting back the state up to 0.4.8-release-100-g8f947b5 implies: Fixing the following JIRA-IDs (or avoid introducing them): CORE-18029 "Mute noisy DPRINT 'SectionObject has ImageSection'" CORE-17405 "Fix a macro-copy-paste and shrink the binary size" CORE-15659 "Unable to build the gcc Release version in Windows using RosBE 2.1.6 (module cdfs fails)" CORE-14315 "CDFS_NEW assertion during first stage setup due to new CcPerformReadAhead" CORE-14128 "Avast! Free Antivirus 7.0 hangs the system when trying to detect a newly created virus" CORE-14067 "CDFS_NEW assertions and exceptions" CORE-14003 "Shutting down LiveCD asserts since introduction of MS PL CDFS_NEW" CORE-13184 "Restore ability to install from disk-image" by picking the following commits: 0.4.8-release-100-g 8f947b532221069d2f398e25a9c0775c34e21878 [NTOSKRNL] Mute noisy DPRINT 'SectionObject has ImageSection' CORE-18029 0.4.8-release-80-g eb1ea195888e17d026428dc6f406a1834c8702d8 [CDFS_NEW] == 0.4.15-dev-1456-g 889eab7 CORE-17405 0.4.8-release-62-g 8c07aad4a8c6469c7e4ba4c5e92e356a6548189a [CDFS_NEW/XDK] == 0.4.11-dev-39-g a2f9762 + 0.4.11-dev-40-g 6d7ec8c CORE-14067 0.4.8-release-3-g 5d976d04e876aac6990a8f997669711eca83227a [CDFS_NEW] == 0.4.12-dev-431-g bccad87f3ccf266be2179d1322e7a422aeb2f3b7 + 0.4.12-dev-432-g 3463b2db9fc08e5ebe2f5b146d3fe12248f632f3 CORE-15659 0.4.8-RC-3-g 51f9494d484bbe8232e375c2693851316d9d530f [CDFS_NEW] superseded later by the proper fix 0.4.8-release-62-g 8c07aad4a8c6469c7e4ba4c5e92e356a6548189a CORE-14067 0.4.8-dev-1069-g a5e89014dc943b2cbddb16fc4d92e13b7e5068e1 [CDFS_NEW] CORE-14315 0.4.8-dev-475-g a59d4674dec116a951392bb6d136bd11f0e143f2 [NTOSKRNL] io/iomgr/device.c (forgotten assert) CORE-14128 0.4.8-dev-221-g 9d67a24799e29e832933311a8e6ba21787e40f6a [CDFS_NEW] 0.4.8-dev-220-g 67a7e45e351b70356fee442c31cb5de14a0de37e [CDFS_NEW/DOC] 0.4.8-dev-219-g 6a3bbf24e012e4985b97ca4d79604c28fe0133d7 [CDFS_NEW] 0.4.8-dev-218-g ec26cde4a13b3889883d3e1b19f7878179c76df5 [CDFS_NEW] 0.4.8-dev-217-g bc2378a3560a384c47d2a4c83886531ad8f0af90 [CDFS_NEW] 0.4.8-dev-216-g 5429771b9936a6d8aee6ffb3860310673f467e93 [CDFS_NEW] 0.4.8-dev-215-g fd345482634d8ef4c64e5910ce4752ac0c7438cc [CDFS_NEW] Sync with MS-PL driver 0.4.8-dev-164-g ec6b3ecbe48ad51c366563196cc93a6ae74e8b69 [FILESYSTEMS] switch from CDFS to CDFS_NEW in CMakeLists.txt 0.4.8-dev-160-g 2b217e4ecf942126c4672f8d1c0a2fb55530d731 [NTOSKRNL] Mute spam CcSetReadAheadGranularity() 0.4.8-dev-159-g 64cb138a673fa02d76922963c680bfeb05f1d715 [NTOSKRNL] Mute spam CcPurgeCacheSection() 0.4.8-dev-150-g f723d230a0bc4b7b78ca125abecce137bb96bed6 [CDFS_NEW] 0.4.8-dev-133-g faee3753ea79c7e332c7a1b5eb74ca2c6614e23d [CDFS_NEW] CORE-14003 0.4.8-dev-132-g 1d777ffab5458495c04f250cf7ced379f306a7af [NTOSKRNL] iofunc.c CORE-14003 0.4.8-dev-131-g c3d5a3f2bdff97f03b802fe95dce9d0c9375e53e [NTOSKRNL] iofunc.c CORE-14003 0.4.8-dev-130-g 3b64f7f8fbbc64ada4dfdb6bdd1feff4bac10c1d [NTOSKRNL] ob/obref.c & co CORE-14003 0.4.8-dev-129-g 7eefe702949da68e49c4365d466c5373099c3b1f [NTOSKRNL] io/iomgr.c & co CORE-14003 0.4.8-dev-127-g 5f255827d3282b2dea1bc6d5ba77607550742ced [CDFS_NEW] 0.4.8-dev-126-g 1bef48796e4df655c71ddd92a00417dbe9e530ca [NTOSKRNL] just a comment, superseded later 0.4.8-dev-125-g cbf0430b56b600c29c1f615117574afcce1a9027 [CDFS_NEW] 0.4.8-dev-123-g f88fe43abd6a039f25cc08a8dfd65f9a56ef9da7 [NTOSKRNL] io/iomgr/device.c (forbidden DPRINT) 0.4.8-dev-122-g 6c733856258ebfac4b62ffb7733202dddb74a4be [CDFS_NEW] CORE-13184 0.4.8-dev-97-g 94298313c03c791d1ed472125ebf86f4258d2354 [CDFS_NEW] 0.4.8-dev-95-g e88eeb21af4b778f19b10e2d0e9f1c4361d6838d [CDFS_NEW/NTOSKRNL] CcWaitForCurrentLazyWriterActivity() stub return Success 0.4.8-dev-94-g 03d5be6437a1f2e4376ac117421133ebfdde799e [CDFS_NEW] 0.4.8-dev-93-g fa1c60db50d456fe39e315fbbe18bbee78af4105 [CDFS_NEW] 0.4.8-dev-92-g 8b2fd60829eeeb28fcafc0ef2511f7bed04ffd64 [CDFS_NEW] 0.4.8-dev-91-g e4da7ecc50b59b9f8283d84b3707fa69c595a57d [CDFS_NEW] 0.4.8-dev-90-g 7b19676e2b541983f1062ba1c563099284646010 [CDFS_NEW] 0.4.8-dev-89-g 3d4b8783fd0b9b8231a46e7b914447b86255e35b [CDFS_NEW] 0.4.8-dev-88-g 818025ecc8006c19ce6f6139b21294795f51bafd [CDFS_NEW] 0.4.8-dev-87-g 2639dd673636e4848a4fe33b9a4cd142efcc84f8 [CDFS_NEW] 0.4.8-dev-86-g 755bdb5d0b09e1df374f197c59639c0d78b86d6f [CDFS_NEW] 0.4.8-dev-85-g 3cbcb1badee213fdbadaa2db99086d21a8775fe8 [CDFS_NEW] and mute spam in opcode INSTEAD of picking: 0.4.8-dev-165-g 2284a457a36a9ce7e2b28bf38b6456ff0a6de471 [NTOSKRNL] oplock.c Fixup 0.4.8-dev-163-g d3d585395684b96df9782fe0af253f2c3e9cffc4 [NTOSKRNL] oplock.c Implement oplock-support 0.4.12-dev-232-g f488102c863c46763f36c837265a207dc59dadd5 [CDFS] was also left out for now I am aware, that the backport introduces white-space-glitches within CDFS_NEW. I decided to live with them in favor of better sync to master and newer releases.
2022-01-27 20:10:22 +00:00
_SEH2_TRY { \
RtlZeroMemory( (AT), (BYTE_COUNT) ); \
[0.4.7][CDFS_NEW/NTOSKRNL/NDK] Switch from our old CDFS to MS-PL CDFS_NEW The main motivation to switch to that newer driver is, that our old one simply can not read all isos. Especially complex ones made trouble and were only shown as empty in explorer. It is still possible to build and use the old driver when needed, only thing that needs to be done for that is to revert 0.4.8-dev-164-g ec6b3ecbe48ad51c366563196cc93a6ae74e8b69 Porting back the state up to 0.4.8-release-100-g8f947b5 implies: Fixing the following JIRA-IDs (or avoid introducing them): CORE-18029 "Mute noisy DPRINT 'SectionObject has ImageSection'" CORE-17405 "Fix a macro-copy-paste and shrink the binary size" CORE-15659 "Unable to build the gcc Release version in Windows using RosBE 2.1.6 (module cdfs fails)" CORE-14315 "CDFS_NEW assertion during first stage setup due to new CcPerformReadAhead" CORE-14128 "Avast! Free Antivirus 7.0 hangs the system when trying to detect a newly created virus" CORE-14067 "CDFS_NEW assertions and exceptions" CORE-14003 "Shutting down LiveCD asserts since introduction of MS PL CDFS_NEW" CORE-13184 "Restore ability to install from disk-image" by picking the following commits: 0.4.8-release-100-g 8f947b532221069d2f398e25a9c0775c34e21878 [NTOSKRNL] Mute noisy DPRINT 'SectionObject has ImageSection' CORE-18029 0.4.8-release-80-g eb1ea195888e17d026428dc6f406a1834c8702d8 [CDFS_NEW] == 0.4.15-dev-1456-g 889eab7 CORE-17405 0.4.8-release-62-g 8c07aad4a8c6469c7e4ba4c5e92e356a6548189a [CDFS_NEW/XDK] == 0.4.11-dev-39-g a2f9762 + 0.4.11-dev-40-g 6d7ec8c CORE-14067 0.4.8-release-3-g 5d976d04e876aac6990a8f997669711eca83227a [CDFS_NEW] == 0.4.12-dev-431-g bccad87f3ccf266be2179d1322e7a422aeb2f3b7 + 0.4.12-dev-432-g 3463b2db9fc08e5ebe2f5b146d3fe12248f632f3 CORE-15659 0.4.8-RC-3-g 51f9494d484bbe8232e375c2693851316d9d530f [CDFS_NEW] superseded later by the proper fix 0.4.8-release-62-g 8c07aad4a8c6469c7e4ba4c5e92e356a6548189a CORE-14067 0.4.8-dev-1069-g a5e89014dc943b2cbddb16fc4d92e13b7e5068e1 [CDFS_NEW] CORE-14315 0.4.8-dev-475-g a59d4674dec116a951392bb6d136bd11f0e143f2 [NTOSKRNL] io/iomgr/device.c (forgotten assert) CORE-14128 0.4.8-dev-221-g 9d67a24799e29e832933311a8e6ba21787e40f6a [CDFS_NEW] 0.4.8-dev-220-g 67a7e45e351b70356fee442c31cb5de14a0de37e [CDFS_NEW/DOC] 0.4.8-dev-219-g 6a3bbf24e012e4985b97ca4d79604c28fe0133d7 [CDFS_NEW] 0.4.8-dev-218-g ec26cde4a13b3889883d3e1b19f7878179c76df5 [CDFS_NEW] 0.4.8-dev-217-g bc2378a3560a384c47d2a4c83886531ad8f0af90 [CDFS_NEW] 0.4.8-dev-216-g 5429771b9936a6d8aee6ffb3860310673f467e93 [CDFS_NEW] 0.4.8-dev-215-g fd345482634d8ef4c64e5910ce4752ac0c7438cc [CDFS_NEW] Sync with MS-PL driver 0.4.8-dev-164-g ec6b3ecbe48ad51c366563196cc93a6ae74e8b69 [FILESYSTEMS] switch from CDFS to CDFS_NEW in CMakeLists.txt 0.4.8-dev-160-g 2b217e4ecf942126c4672f8d1c0a2fb55530d731 [NTOSKRNL] Mute spam CcSetReadAheadGranularity() 0.4.8-dev-159-g 64cb138a673fa02d76922963c680bfeb05f1d715 [NTOSKRNL] Mute spam CcPurgeCacheSection() 0.4.8-dev-150-g f723d230a0bc4b7b78ca125abecce137bb96bed6 [CDFS_NEW] 0.4.8-dev-133-g faee3753ea79c7e332c7a1b5eb74ca2c6614e23d [CDFS_NEW] CORE-14003 0.4.8-dev-132-g 1d777ffab5458495c04f250cf7ced379f306a7af [NTOSKRNL] iofunc.c CORE-14003 0.4.8-dev-131-g c3d5a3f2bdff97f03b802fe95dce9d0c9375e53e [NTOSKRNL] iofunc.c CORE-14003 0.4.8-dev-130-g 3b64f7f8fbbc64ada4dfdb6bdd1feff4bac10c1d [NTOSKRNL] ob/obref.c & co CORE-14003 0.4.8-dev-129-g 7eefe702949da68e49c4365d466c5373099c3b1f [NTOSKRNL] io/iomgr.c & co CORE-14003 0.4.8-dev-127-g 5f255827d3282b2dea1bc6d5ba77607550742ced [CDFS_NEW] 0.4.8-dev-126-g 1bef48796e4df655c71ddd92a00417dbe9e530ca [NTOSKRNL] just a comment, superseded later 0.4.8-dev-125-g cbf0430b56b600c29c1f615117574afcce1a9027 [CDFS_NEW] 0.4.8-dev-123-g f88fe43abd6a039f25cc08a8dfd65f9a56ef9da7 [NTOSKRNL] io/iomgr/device.c (forbidden DPRINT) 0.4.8-dev-122-g 6c733856258ebfac4b62ffb7733202dddb74a4be [CDFS_NEW] CORE-13184 0.4.8-dev-97-g 94298313c03c791d1ed472125ebf86f4258d2354 [CDFS_NEW] 0.4.8-dev-95-g e88eeb21af4b778f19b10e2d0e9f1c4361d6838d [CDFS_NEW/NTOSKRNL] CcWaitForCurrentLazyWriterActivity() stub return Success 0.4.8-dev-94-g 03d5be6437a1f2e4376ac117421133ebfdde799e [CDFS_NEW] 0.4.8-dev-93-g fa1c60db50d456fe39e315fbbe18bbee78af4105 [CDFS_NEW] 0.4.8-dev-92-g 8b2fd60829eeeb28fcafc0ef2511f7bed04ffd64 [CDFS_NEW] 0.4.8-dev-91-g e4da7ecc50b59b9f8283d84b3707fa69c595a57d [CDFS_NEW] 0.4.8-dev-90-g 7b19676e2b541983f1062ba1c563099284646010 [CDFS_NEW] 0.4.8-dev-89-g 3d4b8783fd0b9b8231a46e7b914447b86255e35b [CDFS_NEW] 0.4.8-dev-88-g 818025ecc8006c19ce6f6139b21294795f51bafd [CDFS_NEW] 0.4.8-dev-87-g 2639dd673636e4848a4fe33b9a4cd142efcc84f8 [CDFS_NEW] 0.4.8-dev-86-g 755bdb5d0b09e1df374f197c59639c0d78b86d6f [CDFS_NEW] 0.4.8-dev-85-g 3cbcb1badee213fdbadaa2db99086d21a8775fe8 [CDFS_NEW] and mute spam in opcode INSTEAD of picking: 0.4.8-dev-165-g 2284a457a36a9ce7e2b28bf38b6456ff0a6de471 [NTOSKRNL] oplock.c Fixup 0.4.8-dev-163-g d3d585395684b96df9782fe0af253f2c3e9cffc4 [NTOSKRNL] oplock.c Implement oplock-support 0.4.12-dev-232-g f488102c863c46763f36c837265a207dc59dadd5 [CDFS] was also left out for now I am aware, that the backport introduces white-space-glitches within CDFS_NEW. I decided to live with them in favor of better sync to master and newer releases.
2022-01-27 20:10:22 +00:00
__pragma(warning(suppress: 6320)) \
} _SEH2_EXCEPT( EXCEPTION_EXECUTE_HANDLER ) { \
CdRaiseStatus( IC, STATUS_INVALID_USER_BUFFER ); \
[0.4.7][CDFS_NEW/NTOSKRNL/NDK] Switch from our old CDFS to MS-PL CDFS_NEW The main motivation to switch to that newer driver is, that our old one simply can not read all isos. Especially complex ones made trouble and were only shown as empty in explorer. It is still possible to build and use the old driver when needed, only thing that needs to be done for that is to revert 0.4.8-dev-164-g ec6b3ecbe48ad51c366563196cc93a6ae74e8b69 Porting back the state up to 0.4.8-release-100-g8f947b5 implies: Fixing the following JIRA-IDs (or avoid introducing them): CORE-18029 "Mute noisy DPRINT 'SectionObject has ImageSection'" CORE-17405 "Fix a macro-copy-paste and shrink the binary size" CORE-15659 "Unable to build the gcc Release version in Windows using RosBE 2.1.6 (module cdfs fails)" CORE-14315 "CDFS_NEW assertion during first stage setup due to new CcPerformReadAhead" CORE-14128 "Avast! Free Antivirus 7.0 hangs the system when trying to detect a newly created virus" CORE-14067 "CDFS_NEW assertions and exceptions" CORE-14003 "Shutting down LiveCD asserts since introduction of MS PL CDFS_NEW" CORE-13184 "Restore ability to install from disk-image" by picking the following commits: 0.4.8-release-100-g 8f947b532221069d2f398e25a9c0775c34e21878 [NTOSKRNL] Mute noisy DPRINT 'SectionObject has ImageSection' CORE-18029 0.4.8-release-80-g eb1ea195888e17d026428dc6f406a1834c8702d8 [CDFS_NEW] == 0.4.15-dev-1456-g 889eab7 CORE-17405 0.4.8-release-62-g 8c07aad4a8c6469c7e4ba4c5e92e356a6548189a [CDFS_NEW/XDK] == 0.4.11-dev-39-g a2f9762 + 0.4.11-dev-40-g 6d7ec8c CORE-14067 0.4.8-release-3-g 5d976d04e876aac6990a8f997669711eca83227a [CDFS_NEW] == 0.4.12-dev-431-g bccad87f3ccf266be2179d1322e7a422aeb2f3b7 + 0.4.12-dev-432-g 3463b2db9fc08e5ebe2f5b146d3fe12248f632f3 CORE-15659 0.4.8-RC-3-g 51f9494d484bbe8232e375c2693851316d9d530f [CDFS_NEW] superseded later by the proper fix 0.4.8-release-62-g 8c07aad4a8c6469c7e4ba4c5e92e356a6548189a CORE-14067 0.4.8-dev-1069-g a5e89014dc943b2cbddb16fc4d92e13b7e5068e1 [CDFS_NEW] CORE-14315 0.4.8-dev-475-g a59d4674dec116a951392bb6d136bd11f0e143f2 [NTOSKRNL] io/iomgr/device.c (forgotten assert) CORE-14128 0.4.8-dev-221-g 9d67a24799e29e832933311a8e6ba21787e40f6a [CDFS_NEW] 0.4.8-dev-220-g 67a7e45e351b70356fee442c31cb5de14a0de37e [CDFS_NEW/DOC] 0.4.8-dev-219-g 6a3bbf24e012e4985b97ca4d79604c28fe0133d7 [CDFS_NEW] 0.4.8-dev-218-g ec26cde4a13b3889883d3e1b19f7878179c76df5 [CDFS_NEW] 0.4.8-dev-217-g bc2378a3560a384c47d2a4c83886531ad8f0af90 [CDFS_NEW] 0.4.8-dev-216-g 5429771b9936a6d8aee6ffb3860310673f467e93 [CDFS_NEW] 0.4.8-dev-215-g fd345482634d8ef4c64e5910ce4752ac0c7438cc [CDFS_NEW] Sync with MS-PL driver 0.4.8-dev-164-g ec6b3ecbe48ad51c366563196cc93a6ae74e8b69 [FILESYSTEMS] switch from CDFS to CDFS_NEW in CMakeLists.txt 0.4.8-dev-160-g 2b217e4ecf942126c4672f8d1c0a2fb55530d731 [NTOSKRNL] Mute spam CcSetReadAheadGranularity() 0.4.8-dev-159-g 64cb138a673fa02d76922963c680bfeb05f1d715 [NTOSKRNL] Mute spam CcPurgeCacheSection() 0.4.8-dev-150-g f723d230a0bc4b7b78ca125abecce137bb96bed6 [CDFS_NEW] 0.4.8-dev-133-g faee3753ea79c7e332c7a1b5eb74ca2c6614e23d [CDFS_NEW] CORE-14003 0.4.8-dev-132-g 1d777ffab5458495c04f250cf7ced379f306a7af [NTOSKRNL] iofunc.c CORE-14003 0.4.8-dev-131-g c3d5a3f2bdff97f03b802fe95dce9d0c9375e53e [NTOSKRNL] iofunc.c CORE-14003 0.4.8-dev-130-g 3b64f7f8fbbc64ada4dfdb6bdd1feff4bac10c1d [NTOSKRNL] ob/obref.c & co CORE-14003 0.4.8-dev-129-g 7eefe702949da68e49c4365d466c5373099c3b1f [NTOSKRNL] io/iomgr.c & co CORE-14003 0.4.8-dev-127-g 5f255827d3282b2dea1bc6d5ba77607550742ced [CDFS_NEW] 0.4.8-dev-126-g 1bef48796e4df655c71ddd92a00417dbe9e530ca [NTOSKRNL] just a comment, superseded later 0.4.8-dev-125-g cbf0430b56b600c29c1f615117574afcce1a9027 [CDFS_NEW] 0.4.8-dev-123-g f88fe43abd6a039f25cc08a8dfd65f9a56ef9da7 [NTOSKRNL] io/iomgr/device.c (forbidden DPRINT) 0.4.8-dev-122-g 6c733856258ebfac4b62ffb7733202dddb74a4be [CDFS_NEW] CORE-13184 0.4.8-dev-97-g 94298313c03c791d1ed472125ebf86f4258d2354 [CDFS_NEW] 0.4.8-dev-95-g e88eeb21af4b778f19b10e2d0e9f1c4361d6838d [CDFS_NEW/NTOSKRNL] CcWaitForCurrentLazyWriterActivity() stub return Success 0.4.8-dev-94-g 03d5be6437a1f2e4376ac117421133ebfdde799e [CDFS_NEW] 0.4.8-dev-93-g fa1c60db50d456fe39e315fbbe18bbee78af4105 [CDFS_NEW] 0.4.8-dev-92-g 8b2fd60829eeeb28fcafc0ef2511f7bed04ffd64 [CDFS_NEW] 0.4.8-dev-91-g e4da7ecc50b59b9f8283d84b3707fa69c595a57d [CDFS_NEW] 0.4.8-dev-90-g 7b19676e2b541983f1062ba1c563099284646010 [CDFS_NEW] 0.4.8-dev-89-g 3d4b8783fd0b9b8231a46e7b914447b86255e35b [CDFS_NEW] 0.4.8-dev-88-g 818025ecc8006c19ce6f6139b21294795f51bafd [CDFS_NEW] 0.4.8-dev-87-g 2639dd673636e4848a4fe33b9a4cd142efcc84f8 [CDFS_NEW] 0.4.8-dev-86-g 755bdb5d0b09e1df374f197c59639c0d78b86d6f [CDFS_NEW] 0.4.8-dev-85-g 3cbcb1badee213fdbadaa2db99086d21a8775fe8 [CDFS_NEW] and mute spam in opcode INSTEAD of picking: 0.4.8-dev-165-g 2284a457a36a9ce7e2b28bf38b6456ff0a6de471 [NTOSKRNL] oplock.c Fixup 0.4.8-dev-163-g d3d585395684b96df9782fe0af253f2c3e9cffc4 [NTOSKRNL] oplock.c Implement oplock-support 0.4.12-dev-232-g f488102c863c46763f36c837265a207dc59dadd5 [CDFS] was also left out for now I am aware, that the backport introduces white-space-glitches within CDFS_NEW. I decided to live with them in favor of better sync to master and newer releases.
2022-01-27 20:10:22 +00:00
} _SEH2_END; \
}
[0.4.7][CDFS_NEW/NTOSKRNL/NDK] Switch from our old CDFS to MS-PL CDFS_NEW The main motivation to switch to that newer driver is, that our old one simply can not read all isos. Especially complex ones made trouble and were only shown as empty in explorer. It is still possible to build and use the old driver when needed, only thing that needs to be done for that is to revert 0.4.8-dev-164-g ec6b3ecbe48ad51c366563196cc93a6ae74e8b69 Porting back the state up to 0.4.8-release-100-g8f947b5 implies: Fixing the following JIRA-IDs (or avoid introducing them): CORE-18029 "Mute noisy DPRINT 'SectionObject has ImageSection'" CORE-17405 "Fix a macro-copy-paste and shrink the binary size" CORE-15659 "Unable to build the gcc Release version in Windows using RosBE 2.1.6 (module cdfs fails)" CORE-14315 "CDFS_NEW assertion during first stage setup due to new CcPerformReadAhead" CORE-14128 "Avast! Free Antivirus 7.0 hangs the system when trying to detect a newly created virus" CORE-14067 "CDFS_NEW assertions and exceptions" CORE-14003 "Shutting down LiveCD asserts since introduction of MS PL CDFS_NEW" CORE-13184 "Restore ability to install from disk-image" by picking the following commits: 0.4.8-release-100-g 8f947b532221069d2f398e25a9c0775c34e21878 [NTOSKRNL] Mute noisy DPRINT 'SectionObject has ImageSection' CORE-18029 0.4.8-release-80-g eb1ea195888e17d026428dc6f406a1834c8702d8 [CDFS_NEW] == 0.4.15-dev-1456-g 889eab7 CORE-17405 0.4.8-release-62-g 8c07aad4a8c6469c7e4ba4c5e92e356a6548189a [CDFS_NEW/XDK] == 0.4.11-dev-39-g a2f9762 + 0.4.11-dev-40-g 6d7ec8c CORE-14067 0.4.8-release-3-g 5d976d04e876aac6990a8f997669711eca83227a [CDFS_NEW] == 0.4.12-dev-431-g bccad87f3ccf266be2179d1322e7a422aeb2f3b7 + 0.4.12-dev-432-g 3463b2db9fc08e5ebe2f5b146d3fe12248f632f3 CORE-15659 0.4.8-RC-3-g 51f9494d484bbe8232e375c2693851316d9d530f [CDFS_NEW] superseded later by the proper fix 0.4.8-release-62-g 8c07aad4a8c6469c7e4ba4c5e92e356a6548189a CORE-14067 0.4.8-dev-1069-g a5e89014dc943b2cbddb16fc4d92e13b7e5068e1 [CDFS_NEW] CORE-14315 0.4.8-dev-475-g a59d4674dec116a951392bb6d136bd11f0e143f2 [NTOSKRNL] io/iomgr/device.c (forgotten assert) CORE-14128 0.4.8-dev-221-g 9d67a24799e29e832933311a8e6ba21787e40f6a [CDFS_NEW] 0.4.8-dev-220-g 67a7e45e351b70356fee442c31cb5de14a0de37e [CDFS_NEW/DOC] 0.4.8-dev-219-g 6a3bbf24e012e4985b97ca4d79604c28fe0133d7 [CDFS_NEW] 0.4.8-dev-218-g ec26cde4a13b3889883d3e1b19f7878179c76df5 [CDFS_NEW] 0.4.8-dev-217-g bc2378a3560a384c47d2a4c83886531ad8f0af90 [CDFS_NEW] 0.4.8-dev-216-g 5429771b9936a6d8aee6ffb3860310673f467e93 [CDFS_NEW] 0.4.8-dev-215-g fd345482634d8ef4c64e5910ce4752ac0c7438cc [CDFS_NEW] Sync with MS-PL driver 0.4.8-dev-164-g ec6b3ecbe48ad51c366563196cc93a6ae74e8b69 [FILESYSTEMS] switch from CDFS to CDFS_NEW in CMakeLists.txt 0.4.8-dev-160-g 2b217e4ecf942126c4672f8d1c0a2fb55530d731 [NTOSKRNL] Mute spam CcSetReadAheadGranularity() 0.4.8-dev-159-g 64cb138a673fa02d76922963c680bfeb05f1d715 [NTOSKRNL] Mute spam CcPurgeCacheSection() 0.4.8-dev-150-g f723d230a0bc4b7b78ca125abecce137bb96bed6 [CDFS_NEW] 0.4.8-dev-133-g faee3753ea79c7e332c7a1b5eb74ca2c6614e23d [CDFS_NEW] CORE-14003 0.4.8-dev-132-g 1d777ffab5458495c04f250cf7ced379f306a7af [NTOSKRNL] iofunc.c CORE-14003 0.4.8-dev-131-g c3d5a3f2bdff97f03b802fe95dce9d0c9375e53e [NTOSKRNL] iofunc.c CORE-14003 0.4.8-dev-130-g 3b64f7f8fbbc64ada4dfdb6bdd1feff4bac10c1d [NTOSKRNL] ob/obref.c & co CORE-14003 0.4.8-dev-129-g 7eefe702949da68e49c4365d466c5373099c3b1f [NTOSKRNL] io/iomgr.c & co CORE-14003 0.4.8-dev-127-g 5f255827d3282b2dea1bc6d5ba77607550742ced [CDFS_NEW] 0.4.8-dev-126-g 1bef48796e4df655c71ddd92a00417dbe9e530ca [NTOSKRNL] just a comment, superseded later 0.4.8-dev-125-g cbf0430b56b600c29c1f615117574afcce1a9027 [CDFS_NEW] 0.4.8-dev-123-g f88fe43abd6a039f25cc08a8dfd65f9a56ef9da7 [NTOSKRNL] io/iomgr/device.c (forbidden DPRINT) 0.4.8-dev-122-g 6c733856258ebfac4b62ffb7733202dddb74a4be [CDFS_NEW] CORE-13184 0.4.8-dev-97-g 94298313c03c791d1ed472125ebf86f4258d2354 [CDFS_NEW] 0.4.8-dev-95-g e88eeb21af4b778f19b10e2d0e9f1c4361d6838d [CDFS_NEW/NTOSKRNL] CcWaitForCurrentLazyWriterActivity() stub return Success 0.4.8-dev-94-g 03d5be6437a1f2e4376ac117421133ebfdde799e [CDFS_NEW] 0.4.8-dev-93-g fa1c60db50d456fe39e315fbbe18bbee78af4105 [CDFS_NEW] 0.4.8-dev-92-g 8b2fd60829eeeb28fcafc0ef2511f7bed04ffd64 [CDFS_NEW] 0.4.8-dev-91-g e4da7ecc50b59b9f8283d84b3707fa69c595a57d [CDFS_NEW] 0.4.8-dev-90-g 7b19676e2b541983f1062ba1c563099284646010 [CDFS_NEW] 0.4.8-dev-89-g 3d4b8783fd0b9b8231a46e7b914447b86255e35b [CDFS_NEW] 0.4.8-dev-88-g 818025ecc8006c19ce6f6139b21294795f51bafd [CDFS_NEW] 0.4.8-dev-87-g 2639dd673636e4848a4fe33b9a4cd142efcc84f8 [CDFS_NEW] 0.4.8-dev-86-g 755bdb5d0b09e1df374f197c59639c0d78b86d6f [CDFS_NEW] 0.4.8-dev-85-g 3cbcb1badee213fdbadaa2db99086d21a8775fe8 [CDFS_NEW] and mute spam in opcode INSTEAD of picking: 0.4.8-dev-165-g 2284a457a36a9ce7e2b28bf38b6456ff0a6de471 [NTOSKRNL] oplock.c Fixup 0.4.8-dev-163-g d3d585395684b96df9782fe0af253f2c3e9cffc4 [NTOSKRNL] oplock.c Implement oplock-support 0.4.12-dev-232-g f488102c863c46763f36c837265a207dc59dadd5 [CDFS] was also left out for now I am aware, that the backport introduces white-space-glitches within CDFS_NEW. I decided to live with them in favor of better sync to master and newer releases.
2022-01-27 20:10:22 +00:00
#else
#define SafeZeroMemory(IC,AT,BYTE_COUNT) { \
_SEH2_TRY { \
RtlZeroMemory( (AT), (BYTE_COUNT) ); \
} _SEH2_EXCEPT( EXCEPTION_EXECUTE_HANDLER ) { \
CdRaiseStatus( IC, STATUS_INVALID_USER_BUFFER ); \
} _SEH2_END; \
}
#endif
//
// Read ahead amount used for normal data files
//
#define READ_AHEAD_GRANULARITY (0x10000)
#ifdef ALLOC_PRAGMA
#pragma alloc_text(PAGE, CdCommonRead)
#endif
[0.4.7][CDFS_NEW/NTOSKRNL/NDK] Switch from our old CDFS to MS-PL CDFS_NEW The main motivation to switch to that newer driver is, that our old one simply can not read all isos. Especially complex ones made trouble and were only shown as empty in explorer. It is still possible to build and use the old driver when needed, only thing that needs to be done for that is to revert 0.4.8-dev-164-g ec6b3ecbe48ad51c366563196cc93a6ae74e8b69 Porting back the state up to 0.4.8-release-100-g8f947b5 implies: Fixing the following JIRA-IDs (or avoid introducing them): CORE-18029 "Mute noisy DPRINT 'SectionObject has ImageSection'" CORE-17405 "Fix a macro-copy-paste and shrink the binary size" CORE-15659 "Unable to build the gcc Release version in Windows using RosBE 2.1.6 (module cdfs fails)" CORE-14315 "CDFS_NEW assertion during first stage setup due to new CcPerformReadAhead" CORE-14128 "Avast! Free Antivirus 7.0 hangs the system when trying to detect a newly created virus" CORE-14067 "CDFS_NEW assertions and exceptions" CORE-14003 "Shutting down LiveCD asserts since introduction of MS PL CDFS_NEW" CORE-13184 "Restore ability to install from disk-image" by picking the following commits: 0.4.8-release-100-g 8f947b532221069d2f398e25a9c0775c34e21878 [NTOSKRNL] Mute noisy DPRINT 'SectionObject has ImageSection' CORE-18029 0.4.8-release-80-g eb1ea195888e17d026428dc6f406a1834c8702d8 [CDFS_NEW] == 0.4.15-dev-1456-g 889eab7 CORE-17405 0.4.8-release-62-g 8c07aad4a8c6469c7e4ba4c5e92e356a6548189a [CDFS_NEW/XDK] == 0.4.11-dev-39-g a2f9762 + 0.4.11-dev-40-g 6d7ec8c CORE-14067 0.4.8-release-3-g 5d976d04e876aac6990a8f997669711eca83227a [CDFS_NEW] == 0.4.12-dev-431-g bccad87f3ccf266be2179d1322e7a422aeb2f3b7 + 0.4.12-dev-432-g 3463b2db9fc08e5ebe2f5b146d3fe12248f632f3 CORE-15659 0.4.8-RC-3-g 51f9494d484bbe8232e375c2693851316d9d530f [CDFS_NEW] superseded later by the proper fix 0.4.8-release-62-g 8c07aad4a8c6469c7e4ba4c5e92e356a6548189a CORE-14067 0.4.8-dev-1069-g a5e89014dc943b2cbddb16fc4d92e13b7e5068e1 [CDFS_NEW] CORE-14315 0.4.8-dev-475-g a59d4674dec116a951392bb6d136bd11f0e143f2 [NTOSKRNL] io/iomgr/device.c (forgotten assert) CORE-14128 0.4.8-dev-221-g 9d67a24799e29e832933311a8e6ba21787e40f6a [CDFS_NEW] 0.4.8-dev-220-g 67a7e45e351b70356fee442c31cb5de14a0de37e [CDFS_NEW/DOC] 0.4.8-dev-219-g 6a3bbf24e012e4985b97ca4d79604c28fe0133d7 [CDFS_NEW] 0.4.8-dev-218-g ec26cde4a13b3889883d3e1b19f7878179c76df5 [CDFS_NEW] 0.4.8-dev-217-g bc2378a3560a384c47d2a4c83886531ad8f0af90 [CDFS_NEW] 0.4.8-dev-216-g 5429771b9936a6d8aee6ffb3860310673f467e93 [CDFS_NEW] 0.4.8-dev-215-g fd345482634d8ef4c64e5910ce4752ac0c7438cc [CDFS_NEW] Sync with MS-PL driver 0.4.8-dev-164-g ec6b3ecbe48ad51c366563196cc93a6ae74e8b69 [FILESYSTEMS] switch from CDFS to CDFS_NEW in CMakeLists.txt 0.4.8-dev-160-g 2b217e4ecf942126c4672f8d1c0a2fb55530d731 [NTOSKRNL] Mute spam CcSetReadAheadGranularity() 0.4.8-dev-159-g 64cb138a673fa02d76922963c680bfeb05f1d715 [NTOSKRNL] Mute spam CcPurgeCacheSection() 0.4.8-dev-150-g f723d230a0bc4b7b78ca125abecce137bb96bed6 [CDFS_NEW] 0.4.8-dev-133-g faee3753ea79c7e332c7a1b5eb74ca2c6614e23d [CDFS_NEW] CORE-14003 0.4.8-dev-132-g 1d777ffab5458495c04f250cf7ced379f306a7af [NTOSKRNL] iofunc.c CORE-14003 0.4.8-dev-131-g c3d5a3f2bdff97f03b802fe95dce9d0c9375e53e [NTOSKRNL] iofunc.c CORE-14003 0.4.8-dev-130-g 3b64f7f8fbbc64ada4dfdb6bdd1feff4bac10c1d [NTOSKRNL] ob/obref.c & co CORE-14003 0.4.8-dev-129-g 7eefe702949da68e49c4365d466c5373099c3b1f [NTOSKRNL] io/iomgr.c & co CORE-14003 0.4.8-dev-127-g 5f255827d3282b2dea1bc6d5ba77607550742ced [CDFS_NEW] 0.4.8-dev-126-g 1bef48796e4df655c71ddd92a00417dbe9e530ca [NTOSKRNL] just a comment, superseded later 0.4.8-dev-125-g cbf0430b56b600c29c1f615117574afcce1a9027 [CDFS_NEW] 0.4.8-dev-123-g f88fe43abd6a039f25cc08a8dfd65f9a56ef9da7 [NTOSKRNL] io/iomgr/device.c (forbidden DPRINT) 0.4.8-dev-122-g 6c733856258ebfac4b62ffb7733202dddb74a4be [CDFS_NEW] CORE-13184 0.4.8-dev-97-g 94298313c03c791d1ed472125ebf86f4258d2354 [CDFS_NEW] 0.4.8-dev-95-g e88eeb21af4b778f19b10e2d0e9f1c4361d6838d [CDFS_NEW/NTOSKRNL] CcWaitForCurrentLazyWriterActivity() stub return Success 0.4.8-dev-94-g 03d5be6437a1f2e4376ac117421133ebfdde799e [CDFS_NEW] 0.4.8-dev-93-g fa1c60db50d456fe39e315fbbe18bbee78af4105 [CDFS_NEW] 0.4.8-dev-92-g 8b2fd60829eeeb28fcafc0ef2511f7bed04ffd64 [CDFS_NEW] 0.4.8-dev-91-g e4da7ecc50b59b9f8283d84b3707fa69c595a57d [CDFS_NEW] 0.4.8-dev-90-g 7b19676e2b541983f1062ba1c563099284646010 [CDFS_NEW] 0.4.8-dev-89-g 3d4b8783fd0b9b8231a46e7b914447b86255e35b [CDFS_NEW] 0.4.8-dev-88-g 818025ecc8006c19ce6f6139b21294795f51bafd [CDFS_NEW] 0.4.8-dev-87-g 2639dd673636e4848a4fe33b9a4cd142efcc84f8 [CDFS_NEW] 0.4.8-dev-86-g 755bdb5d0b09e1df374f197c59639c0d78b86d6f [CDFS_NEW] 0.4.8-dev-85-g 3cbcb1badee213fdbadaa2db99086d21a8775fe8 [CDFS_NEW] and mute spam in opcode INSTEAD of picking: 0.4.8-dev-165-g 2284a457a36a9ce7e2b28bf38b6456ff0a6de471 [NTOSKRNL] oplock.c Fixup 0.4.8-dev-163-g d3d585395684b96df9782fe0af253f2c3e9cffc4 [NTOSKRNL] oplock.c Implement oplock-support 0.4.12-dev-232-g f488102c863c46763f36c837265a207dc59dadd5 [CDFS] was also left out for now I am aware, that the backport introduces white-space-glitches within CDFS_NEW. I decided to live with them in favor of better sync to master and newer releases.
2022-01-27 20:10:22 +00:00
_Requires_lock_held_(_Global_critical_region_)
NTSTATUS
CdCommonRead (
[0.4.7][CDFS_NEW/NTOSKRNL/NDK] Switch from our old CDFS to MS-PL CDFS_NEW The main motivation to switch to that newer driver is, that our old one simply can not read all isos. Especially complex ones made trouble and were only shown as empty in explorer. It is still possible to build and use the old driver when needed, only thing that needs to be done for that is to revert 0.4.8-dev-164-g ec6b3ecbe48ad51c366563196cc93a6ae74e8b69 Porting back the state up to 0.4.8-release-100-g8f947b5 implies: Fixing the following JIRA-IDs (or avoid introducing them): CORE-18029 "Mute noisy DPRINT 'SectionObject has ImageSection'" CORE-17405 "Fix a macro-copy-paste and shrink the binary size" CORE-15659 "Unable to build the gcc Release version in Windows using RosBE 2.1.6 (module cdfs fails)" CORE-14315 "CDFS_NEW assertion during first stage setup due to new CcPerformReadAhead" CORE-14128 "Avast! Free Antivirus 7.0 hangs the system when trying to detect a newly created virus" CORE-14067 "CDFS_NEW assertions and exceptions" CORE-14003 "Shutting down LiveCD asserts since introduction of MS PL CDFS_NEW" CORE-13184 "Restore ability to install from disk-image" by picking the following commits: 0.4.8-release-100-g 8f947b532221069d2f398e25a9c0775c34e21878 [NTOSKRNL] Mute noisy DPRINT 'SectionObject has ImageSection' CORE-18029 0.4.8-release-80-g eb1ea195888e17d026428dc6f406a1834c8702d8 [CDFS_NEW] == 0.4.15-dev-1456-g 889eab7 CORE-17405 0.4.8-release-62-g 8c07aad4a8c6469c7e4ba4c5e92e356a6548189a [CDFS_NEW/XDK] == 0.4.11-dev-39-g a2f9762 + 0.4.11-dev-40-g 6d7ec8c CORE-14067 0.4.8-release-3-g 5d976d04e876aac6990a8f997669711eca83227a [CDFS_NEW] == 0.4.12-dev-431-g bccad87f3ccf266be2179d1322e7a422aeb2f3b7 + 0.4.12-dev-432-g 3463b2db9fc08e5ebe2f5b146d3fe12248f632f3 CORE-15659 0.4.8-RC-3-g 51f9494d484bbe8232e375c2693851316d9d530f [CDFS_NEW] superseded later by the proper fix 0.4.8-release-62-g 8c07aad4a8c6469c7e4ba4c5e92e356a6548189a CORE-14067 0.4.8-dev-1069-g a5e89014dc943b2cbddb16fc4d92e13b7e5068e1 [CDFS_NEW] CORE-14315 0.4.8-dev-475-g a59d4674dec116a951392bb6d136bd11f0e143f2 [NTOSKRNL] io/iomgr/device.c (forgotten assert) CORE-14128 0.4.8-dev-221-g 9d67a24799e29e832933311a8e6ba21787e40f6a [CDFS_NEW] 0.4.8-dev-220-g 67a7e45e351b70356fee442c31cb5de14a0de37e [CDFS_NEW/DOC] 0.4.8-dev-219-g 6a3bbf24e012e4985b97ca4d79604c28fe0133d7 [CDFS_NEW] 0.4.8-dev-218-g ec26cde4a13b3889883d3e1b19f7878179c76df5 [CDFS_NEW] 0.4.8-dev-217-g bc2378a3560a384c47d2a4c83886531ad8f0af90 [CDFS_NEW] 0.4.8-dev-216-g 5429771b9936a6d8aee6ffb3860310673f467e93 [CDFS_NEW] 0.4.8-dev-215-g fd345482634d8ef4c64e5910ce4752ac0c7438cc [CDFS_NEW] Sync with MS-PL driver 0.4.8-dev-164-g ec6b3ecbe48ad51c366563196cc93a6ae74e8b69 [FILESYSTEMS] switch from CDFS to CDFS_NEW in CMakeLists.txt 0.4.8-dev-160-g 2b217e4ecf942126c4672f8d1c0a2fb55530d731 [NTOSKRNL] Mute spam CcSetReadAheadGranularity() 0.4.8-dev-159-g 64cb138a673fa02d76922963c680bfeb05f1d715 [NTOSKRNL] Mute spam CcPurgeCacheSection() 0.4.8-dev-150-g f723d230a0bc4b7b78ca125abecce137bb96bed6 [CDFS_NEW] 0.4.8-dev-133-g faee3753ea79c7e332c7a1b5eb74ca2c6614e23d [CDFS_NEW] CORE-14003 0.4.8-dev-132-g 1d777ffab5458495c04f250cf7ced379f306a7af [NTOSKRNL] iofunc.c CORE-14003 0.4.8-dev-131-g c3d5a3f2bdff97f03b802fe95dce9d0c9375e53e [NTOSKRNL] iofunc.c CORE-14003 0.4.8-dev-130-g 3b64f7f8fbbc64ada4dfdb6bdd1feff4bac10c1d [NTOSKRNL] ob/obref.c & co CORE-14003 0.4.8-dev-129-g 7eefe702949da68e49c4365d466c5373099c3b1f [NTOSKRNL] io/iomgr.c & co CORE-14003 0.4.8-dev-127-g 5f255827d3282b2dea1bc6d5ba77607550742ced [CDFS_NEW] 0.4.8-dev-126-g 1bef48796e4df655c71ddd92a00417dbe9e530ca [NTOSKRNL] just a comment, superseded later 0.4.8-dev-125-g cbf0430b56b600c29c1f615117574afcce1a9027 [CDFS_NEW] 0.4.8-dev-123-g f88fe43abd6a039f25cc08a8dfd65f9a56ef9da7 [NTOSKRNL] io/iomgr/device.c (forbidden DPRINT) 0.4.8-dev-122-g 6c733856258ebfac4b62ffb7733202dddb74a4be [CDFS_NEW] CORE-13184 0.4.8-dev-97-g 94298313c03c791d1ed472125ebf86f4258d2354 [CDFS_NEW] 0.4.8-dev-95-g e88eeb21af4b778f19b10e2d0e9f1c4361d6838d [CDFS_NEW/NTOSKRNL] CcWaitForCurrentLazyWriterActivity() stub return Success 0.4.8-dev-94-g 03d5be6437a1f2e4376ac117421133ebfdde799e [CDFS_NEW] 0.4.8-dev-93-g fa1c60db50d456fe39e315fbbe18bbee78af4105 [CDFS_NEW] 0.4.8-dev-92-g 8b2fd60829eeeb28fcafc0ef2511f7bed04ffd64 [CDFS_NEW] 0.4.8-dev-91-g e4da7ecc50b59b9f8283d84b3707fa69c595a57d [CDFS_NEW] 0.4.8-dev-90-g 7b19676e2b541983f1062ba1c563099284646010 [CDFS_NEW] 0.4.8-dev-89-g 3d4b8783fd0b9b8231a46e7b914447b86255e35b [CDFS_NEW] 0.4.8-dev-88-g 818025ecc8006c19ce6f6139b21294795f51bafd [CDFS_NEW] 0.4.8-dev-87-g 2639dd673636e4848a4fe33b9a4cd142efcc84f8 [CDFS_NEW] 0.4.8-dev-86-g 755bdb5d0b09e1df374f197c59639c0d78b86d6f [CDFS_NEW] 0.4.8-dev-85-g 3cbcb1badee213fdbadaa2db99086d21a8775fe8 [CDFS_NEW] and mute spam in opcode INSTEAD of picking: 0.4.8-dev-165-g 2284a457a36a9ce7e2b28bf38b6456ff0a6de471 [NTOSKRNL] oplock.c Fixup 0.4.8-dev-163-g d3d585395684b96df9782fe0af253f2c3e9cffc4 [NTOSKRNL] oplock.c Implement oplock-support 0.4.12-dev-232-g f488102c863c46763f36c837265a207dc59dadd5 [CDFS] was also left out for now I am aware, that the backport introduces white-space-glitches within CDFS_NEW. I decided to live with them in favor of better sync to master and newer releases.
2022-01-27 20:10:22 +00:00
_Inout_ PIRP_CONTEXT IrpContext,
_Inout_ PIRP Irp
)
/*++
Routine Description:
This is the common entry point for NtReadFile calls. For synchronous requests,
CommonRead will complete the request in the current thread. If not
synchronous the request will be passed to the Fsp if there is a need to
block.
Arguments:
Irp - Supplies the Irp to process
Return Value:
NTSTATUS - The result of this operation.
--*/
{
[0.4.7][CDFS_NEW/NTOSKRNL/NDK] Switch from our old CDFS to MS-PL CDFS_NEW The main motivation to switch to that newer driver is, that our old one simply can not read all isos. Especially complex ones made trouble and were only shown as empty in explorer. It is still possible to build and use the old driver when needed, only thing that needs to be done for that is to revert 0.4.8-dev-164-g ec6b3ecbe48ad51c366563196cc93a6ae74e8b69 Porting back the state up to 0.4.8-release-100-g8f947b5 implies: Fixing the following JIRA-IDs (or avoid introducing them): CORE-18029 "Mute noisy DPRINT 'SectionObject has ImageSection'" CORE-17405 "Fix a macro-copy-paste and shrink the binary size" CORE-15659 "Unable to build the gcc Release version in Windows using RosBE 2.1.6 (module cdfs fails)" CORE-14315 "CDFS_NEW assertion during first stage setup due to new CcPerformReadAhead" CORE-14128 "Avast! Free Antivirus 7.0 hangs the system when trying to detect a newly created virus" CORE-14067 "CDFS_NEW assertions and exceptions" CORE-14003 "Shutting down LiveCD asserts since introduction of MS PL CDFS_NEW" CORE-13184 "Restore ability to install from disk-image" by picking the following commits: 0.4.8-release-100-g 8f947b532221069d2f398e25a9c0775c34e21878 [NTOSKRNL] Mute noisy DPRINT 'SectionObject has ImageSection' CORE-18029 0.4.8-release-80-g eb1ea195888e17d026428dc6f406a1834c8702d8 [CDFS_NEW] == 0.4.15-dev-1456-g 889eab7 CORE-17405 0.4.8-release-62-g 8c07aad4a8c6469c7e4ba4c5e92e356a6548189a [CDFS_NEW/XDK] == 0.4.11-dev-39-g a2f9762 + 0.4.11-dev-40-g 6d7ec8c CORE-14067 0.4.8-release-3-g 5d976d04e876aac6990a8f997669711eca83227a [CDFS_NEW] == 0.4.12-dev-431-g bccad87f3ccf266be2179d1322e7a422aeb2f3b7 + 0.4.12-dev-432-g 3463b2db9fc08e5ebe2f5b146d3fe12248f632f3 CORE-15659 0.4.8-RC-3-g 51f9494d484bbe8232e375c2693851316d9d530f [CDFS_NEW] superseded later by the proper fix 0.4.8-release-62-g 8c07aad4a8c6469c7e4ba4c5e92e356a6548189a CORE-14067 0.4.8-dev-1069-g a5e89014dc943b2cbddb16fc4d92e13b7e5068e1 [CDFS_NEW] CORE-14315 0.4.8-dev-475-g a59d4674dec116a951392bb6d136bd11f0e143f2 [NTOSKRNL] io/iomgr/device.c (forgotten assert) CORE-14128 0.4.8-dev-221-g 9d67a24799e29e832933311a8e6ba21787e40f6a [CDFS_NEW] 0.4.8-dev-220-g 67a7e45e351b70356fee442c31cb5de14a0de37e [CDFS_NEW/DOC] 0.4.8-dev-219-g 6a3bbf24e012e4985b97ca4d79604c28fe0133d7 [CDFS_NEW] 0.4.8-dev-218-g ec26cde4a13b3889883d3e1b19f7878179c76df5 [CDFS_NEW] 0.4.8-dev-217-g bc2378a3560a384c47d2a4c83886531ad8f0af90 [CDFS_NEW] 0.4.8-dev-216-g 5429771b9936a6d8aee6ffb3860310673f467e93 [CDFS_NEW] 0.4.8-dev-215-g fd345482634d8ef4c64e5910ce4752ac0c7438cc [CDFS_NEW] Sync with MS-PL driver 0.4.8-dev-164-g ec6b3ecbe48ad51c366563196cc93a6ae74e8b69 [FILESYSTEMS] switch from CDFS to CDFS_NEW in CMakeLists.txt 0.4.8-dev-160-g 2b217e4ecf942126c4672f8d1c0a2fb55530d731 [NTOSKRNL] Mute spam CcSetReadAheadGranularity() 0.4.8-dev-159-g 64cb138a673fa02d76922963c680bfeb05f1d715 [NTOSKRNL] Mute spam CcPurgeCacheSection() 0.4.8-dev-150-g f723d230a0bc4b7b78ca125abecce137bb96bed6 [CDFS_NEW] 0.4.8-dev-133-g faee3753ea79c7e332c7a1b5eb74ca2c6614e23d [CDFS_NEW] CORE-14003 0.4.8-dev-132-g 1d777ffab5458495c04f250cf7ced379f306a7af [NTOSKRNL] iofunc.c CORE-14003 0.4.8-dev-131-g c3d5a3f2bdff97f03b802fe95dce9d0c9375e53e [NTOSKRNL] iofunc.c CORE-14003 0.4.8-dev-130-g 3b64f7f8fbbc64ada4dfdb6bdd1feff4bac10c1d [NTOSKRNL] ob/obref.c & co CORE-14003 0.4.8-dev-129-g 7eefe702949da68e49c4365d466c5373099c3b1f [NTOSKRNL] io/iomgr.c & co CORE-14003 0.4.8-dev-127-g 5f255827d3282b2dea1bc6d5ba77607550742ced [CDFS_NEW] 0.4.8-dev-126-g 1bef48796e4df655c71ddd92a00417dbe9e530ca [NTOSKRNL] just a comment, superseded later 0.4.8-dev-125-g cbf0430b56b600c29c1f615117574afcce1a9027 [CDFS_NEW] 0.4.8-dev-123-g f88fe43abd6a039f25cc08a8dfd65f9a56ef9da7 [NTOSKRNL] io/iomgr/device.c (forbidden DPRINT) 0.4.8-dev-122-g 6c733856258ebfac4b62ffb7733202dddb74a4be [CDFS_NEW] CORE-13184 0.4.8-dev-97-g 94298313c03c791d1ed472125ebf86f4258d2354 [CDFS_NEW] 0.4.8-dev-95-g e88eeb21af4b778f19b10e2d0e9f1c4361d6838d [CDFS_NEW/NTOSKRNL] CcWaitForCurrentLazyWriterActivity() stub return Success 0.4.8-dev-94-g 03d5be6437a1f2e4376ac117421133ebfdde799e [CDFS_NEW] 0.4.8-dev-93-g fa1c60db50d456fe39e315fbbe18bbee78af4105 [CDFS_NEW] 0.4.8-dev-92-g 8b2fd60829eeeb28fcafc0ef2511f7bed04ffd64 [CDFS_NEW] 0.4.8-dev-91-g e4da7ecc50b59b9f8283d84b3707fa69c595a57d [CDFS_NEW] 0.4.8-dev-90-g 7b19676e2b541983f1062ba1c563099284646010 [CDFS_NEW] 0.4.8-dev-89-g 3d4b8783fd0b9b8231a46e7b914447b86255e35b [CDFS_NEW] 0.4.8-dev-88-g 818025ecc8006c19ce6f6139b21294795f51bafd [CDFS_NEW] 0.4.8-dev-87-g 2639dd673636e4848a4fe33b9a4cd142efcc84f8 [CDFS_NEW] 0.4.8-dev-86-g 755bdb5d0b09e1df374f197c59639c0d78b86d6f [CDFS_NEW] 0.4.8-dev-85-g 3cbcb1badee213fdbadaa2db99086d21a8775fe8 [CDFS_NEW] and mute spam in opcode INSTEAD of picking: 0.4.8-dev-165-g 2284a457a36a9ce7e2b28bf38b6456ff0a6de471 [NTOSKRNL] oplock.c Fixup 0.4.8-dev-163-g d3d585395684b96df9782fe0af253f2c3e9cffc4 [NTOSKRNL] oplock.c Implement oplock-support 0.4.12-dev-232-g f488102c863c46763f36c837265a207dc59dadd5 [CDFS] was also left out for now I am aware, that the backport introduces white-space-glitches within CDFS_NEW. I decided to live with them in favor of better sync to master and newer releases.
2022-01-27 20:10:22 +00:00
NTSTATUS Status = STATUS_SUCCESS;
PIO_STACK_LOCATION IrpSp = IoGetCurrentIrpStackLocation( Irp );
TYPE_OF_OPEN TypeOfOpen;
PFCB Fcb;
PCCB Ccb;
BOOLEAN Wait;
ULONG PagingIo;
ULONG SynchronousIo;
ULONG NonCachedIo;
PVOID UserBuffer;
LONGLONG StartingOffset;
LONGLONG ByteRange;
ULONG ByteCount;
ULONG ReadByteCount;
ULONG OriginalByteCount;
PVOID SystemBuffer;
BOOLEAN ReleaseFile = TRUE;
CD_IO_CONTEXT LocalIoContext;
[0.4.7][CDFS_NEW/NTOSKRNL/NDK] Switch from our old CDFS to MS-PL CDFS_NEW The main motivation to switch to that newer driver is, that our old one simply can not read all isos. Especially complex ones made trouble and were only shown as empty in explorer. It is still possible to build and use the old driver when needed, only thing that needs to be done for that is to revert 0.4.8-dev-164-g ec6b3ecbe48ad51c366563196cc93a6ae74e8b69 Porting back the state up to 0.4.8-release-100-g8f947b5 implies: Fixing the following JIRA-IDs (or avoid introducing them): CORE-18029 "Mute noisy DPRINT 'SectionObject has ImageSection'" CORE-17405 "Fix a macro-copy-paste and shrink the binary size" CORE-15659 "Unable to build the gcc Release version in Windows using RosBE 2.1.6 (module cdfs fails)" CORE-14315 "CDFS_NEW assertion during first stage setup due to new CcPerformReadAhead" CORE-14128 "Avast! Free Antivirus 7.0 hangs the system when trying to detect a newly created virus" CORE-14067 "CDFS_NEW assertions and exceptions" CORE-14003 "Shutting down LiveCD asserts since introduction of MS PL CDFS_NEW" CORE-13184 "Restore ability to install from disk-image" by picking the following commits: 0.4.8-release-100-g 8f947b532221069d2f398e25a9c0775c34e21878 [NTOSKRNL] Mute noisy DPRINT 'SectionObject has ImageSection' CORE-18029 0.4.8-release-80-g eb1ea195888e17d026428dc6f406a1834c8702d8 [CDFS_NEW] == 0.4.15-dev-1456-g 889eab7 CORE-17405 0.4.8-release-62-g 8c07aad4a8c6469c7e4ba4c5e92e356a6548189a [CDFS_NEW/XDK] == 0.4.11-dev-39-g a2f9762 + 0.4.11-dev-40-g 6d7ec8c CORE-14067 0.4.8-release-3-g 5d976d04e876aac6990a8f997669711eca83227a [CDFS_NEW] == 0.4.12-dev-431-g bccad87f3ccf266be2179d1322e7a422aeb2f3b7 + 0.4.12-dev-432-g 3463b2db9fc08e5ebe2f5b146d3fe12248f632f3 CORE-15659 0.4.8-RC-3-g 51f9494d484bbe8232e375c2693851316d9d530f [CDFS_NEW] superseded later by the proper fix 0.4.8-release-62-g 8c07aad4a8c6469c7e4ba4c5e92e356a6548189a CORE-14067 0.4.8-dev-1069-g a5e89014dc943b2cbddb16fc4d92e13b7e5068e1 [CDFS_NEW] CORE-14315 0.4.8-dev-475-g a59d4674dec116a951392bb6d136bd11f0e143f2 [NTOSKRNL] io/iomgr/device.c (forgotten assert) CORE-14128 0.4.8-dev-221-g 9d67a24799e29e832933311a8e6ba21787e40f6a [CDFS_NEW] 0.4.8-dev-220-g 67a7e45e351b70356fee442c31cb5de14a0de37e [CDFS_NEW/DOC] 0.4.8-dev-219-g 6a3bbf24e012e4985b97ca4d79604c28fe0133d7 [CDFS_NEW] 0.4.8-dev-218-g ec26cde4a13b3889883d3e1b19f7878179c76df5 [CDFS_NEW] 0.4.8-dev-217-g bc2378a3560a384c47d2a4c83886531ad8f0af90 [CDFS_NEW] 0.4.8-dev-216-g 5429771b9936a6d8aee6ffb3860310673f467e93 [CDFS_NEW] 0.4.8-dev-215-g fd345482634d8ef4c64e5910ce4752ac0c7438cc [CDFS_NEW] Sync with MS-PL driver 0.4.8-dev-164-g ec6b3ecbe48ad51c366563196cc93a6ae74e8b69 [FILESYSTEMS] switch from CDFS to CDFS_NEW in CMakeLists.txt 0.4.8-dev-160-g 2b217e4ecf942126c4672f8d1c0a2fb55530d731 [NTOSKRNL] Mute spam CcSetReadAheadGranularity() 0.4.8-dev-159-g 64cb138a673fa02d76922963c680bfeb05f1d715 [NTOSKRNL] Mute spam CcPurgeCacheSection() 0.4.8-dev-150-g f723d230a0bc4b7b78ca125abecce137bb96bed6 [CDFS_NEW] 0.4.8-dev-133-g faee3753ea79c7e332c7a1b5eb74ca2c6614e23d [CDFS_NEW] CORE-14003 0.4.8-dev-132-g 1d777ffab5458495c04f250cf7ced379f306a7af [NTOSKRNL] iofunc.c CORE-14003 0.4.8-dev-131-g c3d5a3f2bdff97f03b802fe95dce9d0c9375e53e [NTOSKRNL] iofunc.c CORE-14003 0.4.8-dev-130-g 3b64f7f8fbbc64ada4dfdb6bdd1feff4bac10c1d [NTOSKRNL] ob/obref.c & co CORE-14003 0.4.8-dev-129-g 7eefe702949da68e49c4365d466c5373099c3b1f [NTOSKRNL] io/iomgr.c & co CORE-14003 0.4.8-dev-127-g 5f255827d3282b2dea1bc6d5ba77607550742ced [CDFS_NEW] 0.4.8-dev-126-g 1bef48796e4df655c71ddd92a00417dbe9e530ca [NTOSKRNL] just a comment, superseded later 0.4.8-dev-125-g cbf0430b56b600c29c1f615117574afcce1a9027 [CDFS_NEW] 0.4.8-dev-123-g f88fe43abd6a039f25cc08a8dfd65f9a56ef9da7 [NTOSKRNL] io/iomgr/device.c (forbidden DPRINT) 0.4.8-dev-122-g 6c733856258ebfac4b62ffb7733202dddb74a4be [CDFS_NEW] CORE-13184 0.4.8-dev-97-g 94298313c03c791d1ed472125ebf86f4258d2354 [CDFS_NEW] 0.4.8-dev-95-g e88eeb21af4b778f19b10e2d0e9f1c4361d6838d [CDFS_NEW/NTOSKRNL] CcWaitForCurrentLazyWriterActivity() stub return Success 0.4.8-dev-94-g 03d5be6437a1f2e4376ac117421133ebfdde799e [CDFS_NEW] 0.4.8-dev-93-g fa1c60db50d456fe39e315fbbe18bbee78af4105 [CDFS_NEW] 0.4.8-dev-92-g 8b2fd60829eeeb28fcafc0ef2511f7bed04ffd64 [CDFS_NEW] 0.4.8-dev-91-g e4da7ecc50b59b9f8283d84b3707fa69c595a57d [CDFS_NEW] 0.4.8-dev-90-g 7b19676e2b541983f1062ba1c563099284646010 [CDFS_NEW] 0.4.8-dev-89-g 3d4b8783fd0b9b8231a46e7b914447b86255e35b [CDFS_NEW] 0.4.8-dev-88-g 818025ecc8006c19ce6f6139b21294795f51bafd [CDFS_NEW] 0.4.8-dev-87-g 2639dd673636e4848a4fe33b9a4cd142efcc84f8 [CDFS_NEW] 0.4.8-dev-86-g 755bdb5d0b09e1df374f197c59639c0d78b86d6f [CDFS_NEW] 0.4.8-dev-85-g 3cbcb1badee213fdbadaa2db99086d21a8775fe8 [CDFS_NEW] and mute spam in opcode INSTEAD of picking: 0.4.8-dev-165-g 2284a457a36a9ce7e2b28bf38b6456ff0a6de471 [NTOSKRNL] oplock.c Fixup 0.4.8-dev-163-g d3d585395684b96df9782fe0af253f2c3e9cffc4 [NTOSKRNL] oplock.c Implement oplock-support 0.4.12-dev-232-g f488102c863c46763f36c837265a207dc59dadd5 [CDFS] was also left out for now I am aware, that the backport introduces white-space-glitches within CDFS_NEW. I decided to live with them in favor of better sync to master and newer releases.
2022-01-27 20:10:22 +00:00
PAGED_CODE();
//
// If this is a zero length read then return SUCCESS immediately.
//
if (IrpSp->Parameters.Read.Length == 0) {
CdCompleteRequest( IrpContext, Irp, STATUS_SUCCESS );
return STATUS_SUCCESS;
}
//
// Decode the file object and verify we support read on this. It
// must be a user file, stream file or volume file (for a data disk).
//
TypeOfOpen = CdDecodeFileObject( IrpContext, IrpSp->FileObject, &Fcb, &Ccb );
[0.4.7][CDFS_NEW/NTOSKRNL/NDK] Switch from our old CDFS to MS-PL CDFS_NEW The main motivation to switch to that newer driver is, that our old one simply can not read all isos. Especially complex ones made trouble and were only shown as empty in explorer. It is still possible to build and use the old driver when needed, only thing that needs to be done for that is to revert 0.4.8-dev-164-g ec6b3ecbe48ad51c366563196cc93a6ae74e8b69 Porting back the state up to 0.4.8-release-100-g8f947b5 implies: Fixing the following JIRA-IDs (or avoid introducing them): CORE-18029 "Mute noisy DPRINT 'SectionObject has ImageSection'" CORE-17405 "Fix a macro-copy-paste and shrink the binary size" CORE-15659 "Unable to build the gcc Release version in Windows using RosBE 2.1.6 (module cdfs fails)" CORE-14315 "CDFS_NEW assertion during first stage setup due to new CcPerformReadAhead" CORE-14128 "Avast! Free Antivirus 7.0 hangs the system when trying to detect a newly created virus" CORE-14067 "CDFS_NEW assertions and exceptions" CORE-14003 "Shutting down LiveCD asserts since introduction of MS PL CDFS_NEW" CORE-13184 "Restore ability to install from disk-image" by picking the following commits: 0.4.8-release-100-g 8f947b532221069d2f398e25a9c0775c34e21878 [NTOSKRNL] Mute noisy DPRINT 'SectionObject has ImageSection' CORE-18029 0.4.8-release-80-g eb1ea195888e17d026428dc6f406a1834c8702d8 [CDFS_NEW] == 0.4.15-dev-1456-g 889eab7 CORE-17405 0.4.8-release-62-g 8c07aad4a8c6469c7e4ba4c5e92e356a6548189a [CDFS_NEW/XDK] == 0.4.11-dev-39-g a2f9762 + 0.4.11-dev-40-g 6d7ec8c CORE-14067 0.4.8-release-3-g 5d976d04e876aac6990a8f997669711eca83227a [CDFS_NEW] == 0.4.12-dev-431-g bccad87f3ccf266be2179d1322e7a422aeb2f3b7 + 0.4.12-dev-432-g 3463b2db9fc08e5ebe2f5b146d3fe12248f632f3 CORE-15659 0.4.8-RC-3-g 51f9494d484bbe8232e375c2693851316d9d530f [CDFS_NEW] superseded later by the proper fix 0.4.8-release-62-g 8c07aad4a8c6469c7e4ba4c5e92e356a6548189a CORE-14067 0.4.8-dev-1069-g a5e89014dc943b2cbddb16fc4d92e13b7e5068e1 [CDFS_NEW] CORE-14315 0.4.8-dev-475-g a59d4674dec116a951392bb6d136bd11f0e143f2 [NTOSKRNL] io/iomgr/device.c (forgotten assert) CORE-14128 0.4.8-dev-221-g 9d67a24799e29e832933311a8e6ba21787e40f6a [CDFS_NEW] 0.4.8-dev-220-g 67a7e45e351b70356fee442c31cb5de14a0de37e [CDFS_NEW/DOC] 0.4.8-dev-219-g 6a3bbf24e012e4985b97ca4d79604c28fe0133d7 [CDFS_NEW] 0.4.8-dev-218-g ec26cde4a13b3889883d3e1b19f7878179c76df5 [CDFS_NEW] 0.4.8-dev-217-g bc2378a3560a384c47d2a4c83886531ad8f0af90 [CDFS_NEW] 0.4.8-dev-216-g 5429771b9936a6d8aee6ffb3860310673f467e93 [CDFS_NEW] 0.4.8-dev-215-g fd345482634d8ef4c64e5910ce4752ac0c7438cc [CDFS_NEW] Sync with MS-PL driver 0.4.8-dev-164-g ec6b3ecbe48ad51c366563196cc93a6ae74e8b69 [FILESYSTEMS] switch from CDFS to CDFS_NEW in CMakeLists.txt 0.4.8-dev-160-g 2b217e4ecf942126c4672f8d1c0a2fb55530d731 [NTOSKRNL] Mute spam CcSetReadAheadGranularity() 0.4.8-dev-159-g 64cb138a673fa02d76922963c680bfeb05f1d715 [NTOSKRNL] Mute spam CcPurgeCacheSection() 0.4.8-dev-150-g f723d230a0bc4b7b78ca125abecce137bb96bed6 [CDFS_NEW] 0.4.8-dev-133-g faee3753ea79c7e332c7a1b5eb74ca2c6614e23d [CDFS_NEW] CORE-14003 0.4.8-dev-132-g 1d777ffab5458495c04f250cf7ced379f306a7af [NTOSKRNL] iofunc.c CORE-14003 0.4.8-dev-131-g c3d5a3f2bdff97f03b802fe95dce9d0c9375e53e [NTOSKRNL] iofunc.c CORE-14003 0.4.8-dev-130-g 3b64f7f8fbbc64ada4dfdb6bdd1feff4bac10c1d [NTOSKRNL] ob/obref.c & co CORE-14003 0.4.8-dev-129-g 7eefe702949da68e49c4365d466c5373099c3b1f [NTOSKRNL] io/iomgr.c & co CORE-14003 0.4.8-dev-127-g 5f255827d3282b2dea1bc6d5ba77607550742ced [CDFS_NEW] 0.4.8-dev-126-g 1bef48796e4df655c71ddd92a00417dbe9e530ca [NTOSKRNL] just a comment, superseded later 0.4.8-dev-125-g cbf0430b56b600c29c1f615117574afcce1a9027 [CDFS_NEW] 0.4.8-dev-123-g f88fe43abd6a039f25cc08a8dfd65f9a56ef9da7 [NTOSKRNL] io/iomgr/device.c (forbidden DPRINT) 0.4.8-dev-122-g 6c733856258ebfac4b62ffb7733202dddb74a4be [CDFS_NEW] CORE-13184 0.4.8-dev-97-g 94298313c03c791d1ed472125ebf86f4258d2354 [CDFS_NEW] 0.4.8-dev-95-g e88eeb21af4b778f19b10e2d0e9f1c4361d6838d [CDFS_NEW/NTOSKRNL] CcWaitForCurrentLazyWriterActivity() stub return Success 0.4.8-dev-94-g 03d5be6437a1f2e4376ac117421133ebfdde799e [CDFS_NEW] 0.4.8-dev-93-g fa1c60db50d456fe39e315fbbe18bbee78af4105 [CDFS_NEW] 0.4.8-dev-92-g 8b2fd60829eeeb28fcafc0ef2511f7bed04ffd64 [CDFS_NEW] 0.4.8-dev-91-g e4da7ecc50b59b9f8283d84b3707fa69c595a57d [CDFS_NEW] 0.4.8-dev-90-g 7b19676e2b541983f1062ba1c563099284646010 [CDFS_NEW] 0.4.8-dev-89-g 3d4b8783fd0b9b8231a46e7b914447b86255e35b [CDFS_NEW] 0.4.8-dev-88-g 818025ecc8006c19ce6f6139b21294795f51bafd [CDFS_NEW] 0.4.8-dev-87-g 2639dd673636e4848a4fe33b9a4cd142efcc84f8 [CDFS_NEW] 0.4.8-dev-86-g 755bdb5d0b09e1df374f197c59639c0d78b86d6f [CDFS_NEW] 0.4.8-dev-85-g 3cbcb1badee213fdbadaa2db99086d21a8775fe8 [CDFS_NEW] and mute spam in opcode INSTEAD of picking: 0.4.8-dev-165-g 2284a457a36a9ce7e2b28bf38b6456ff0a6de471 [NTOSKRNL] oplock.c Fixup 0.4.8-dev-163-g d3d585395684b96df9782fe0af253f2c3e9cffc4 [NTOSKRNL] oplock.c Implement oplock-support 0.4.12-dev-232-g f488102c863c46763f36c837265a207dc59dadd5 [CDFS] was also left out for now I am aware, that the backport introduces white-space-glitches within CDFS_NEW. I decided to live with them in favor of better sync to master and newer releases.
2022-01-27 20:10:22 +00:00
// Internal lock object is acquired if return status is STATUS_PENDING
_Analysis_suppress_lock_checking_(Fcb->Resource);
if ((TypeOfOpen == UnopenedFileObject) ||
(TypeOfOpen == UserDirectoryOpen)) {
CdCompleteRequest( IrpContext, Irp, STATUS_INVALID_DEVICE_REQUEST );
return STATUS_INVALID_DEVICE_REQUEST;
}
//
// Examine our input parameters to determine if this is noncached and/or
// a paging io operation.
//
Wait = BooleanFlagOn( IrpContext->Flags, IRP_CONTEXT_FLAG_WAIT );
PagingIo = FlagOn( Irp->Flags, IRP_PAGING_IO );
NonCachedIo = FlagOn( Irp->Flags, IRP_NOCACHE );
SynchronousIo = FlagOn( IrpSp->FileObject->Flags, FO_SYNCHRONOUS_IO );
//
// Extract the range of the Io.
//
StartingOffset = IrpSp->Parameters.Read.ByteOffset.QuadPart;
OriginalByteCount = ByteCount = IrpSp->Parameters.Read.Length;
ByteRange = StartingOffset + ByteCount;
//
// Make sure that Dasd access is always non-cached.
//
if (TypeOfOpen == UserVolumeOpen) {
NonCachedIo = TRUE;
}
//
// Acquire the file shared to perform the read. If we are doing paging IO,
// it may be the case that we would have a deadlock imminent because we may
// block on shared access, so starve out any exclusive waiters. This requires
// a degree of caution - we believe that any paging IO bursts will recede and
// allow the exclusive waiter in.
//
if (PagingIo) {
CdAcquireFileSharedStarveExclusive( IrpContext, Fcb );
} else {
CdAcquireFileShared( IrpContext, Fcb );
}
//
// Use a try-finally to facilitate cleanup.
//
[0.4.7][CDFS_NEW/NTOSKRNL/NDK] Switch from our old CDFS to MS-PL CDFS_NEW The main motivation to switch to that newer driver is, that our old one simply can not read all isos. Especially complex ones made trouble and were only shown as empty in explorer. It is still possible to build and use the old driver when needed, only thing that needs to be done for that is to revert 0.4.8-dev-164-g ec6b3ecbe48ad51c366563196cc93a6ae74e8b69 Porting back the state up to 0.4.8-release-100-g8f947b5 implies: Fixing the following JIRA-IDs (or avoid introducing them): CORE-18029 "Mute noisy DPRINT 'SectionObject has ImageSection'" CORE-17405 "Fix a macro-copy-paste and shrink the binary size" CORE-15659 "Unable to build the gcc Release version in Windows using RosBE 2.1.6 (module cdfs fails)" CORE-14315 "CDFS_NEW assertion during first stage setup due to new CcPerformReadAhead" CORE-14128 "Avast! Free Antivirus 7.0 hangs the system when trying to detect a newly created virus" CORE-14067 "CDFS_NEW assertions and exceptions" CORE-14003 "Shutting down LiveCD asserts since introduction of MS PL CDFS_NEW" CORE-13184 "Restore ability to install from disk-image" by picking the following commits: 0.4.8-release-100-g 8f947b532221069d2f398e25a9c0775c34e21878 [NTOSKRNL] Mute noisy DPRINT 'SectionObject has ImageSection' CORE-18029 0.4.8-release-80-g eb1ea195888e17d026428dc6f406a1834c8702d8 [CDFS_NEW] == 0.4.15-dev-1456-g 889eab7 CORE-17405 0.4.8-release-62-g 8c07aad4a8c6469c7e4ba4c5e92e356a6548189a [CDFS_NEW/XDK] == 0.4.11-dev-39-g a2f9762 + 0.4.11-dev-40-g 6d7ec8c CORE-14067 0.4.8-release-3-g 5d976d04e876aac6990a8f997669711eca83227a [CDFS_NEW] == 0.4.12-dev-431-g bccad87f3ccf266be2179d1322e7a422aeb2f3b7 + 0.4.12-dev-432-g 3463b2db9fc08e5ebe2f5b146d3fe12248f632f3 CORE-15659 0.4.8-RC-3-g 51f9494d484bbe8232e375c2693851316d9d530f [CDFS_NEW] superseded later by the proper fix 0.4.8-release-62-g 8c07aad4a8c6469c7e4ba4c5e92e356a6548189a CORE-14067 0.4.8-dev-1069-g a5e89014dc943b2cbddb16fc4d92e13b7e5068e1 [CDFS_NEW] CORE-14315 0.4.8-dev-475-g a59d4674dec116a951392bb6d136bd11f0e143f2 [NTOSKRNL] io/iomgr/device.c (forgotten assert) CORE-14128 0.4.8-dev-221-g 9d67a24799e29e832933311a8e6ba21787e40f6a [CDFS_NEW] 0.4.8-dev-220-g 67a7e45e351b70356fee442c31cb5de14a0de37e [CDFS_NEW/DOC] 0.4.8-dev-219-g 6a3bbf24e012e4985b97ca4d79604c28fe0133d7 [CDFS_NEW] 0.4.8-dev-218-g ec26cde4a13b3889883d3e1b19f7878179c76df5 [CDFS_NEW] 0.4.8-dev-217-g bc2378a3560a384c47d2a4c83886531ad8f0af90 [CDFS_NEW] 0.4.8-dev-216-g 5429771b9936a6d8aee6ffb3860310673f467e93 [CDFS_NEW] 0.4.8-dev-215-g fd345482634d8ef4c64e5910ce4752ac0c7438cc [CDFS_NEW] Sync with MS-PL driver 0.4.8-dev-164-g ec6b3ecbe48ad51c366563196cc93a6ae74e8b69 [FILESYSTEMS] switch from CDFS to CDFS_NEW in CMakeLists.txt 0.4.8-dev-160-g 2b217e4ecf942126c4672f8d1c0a2fb55530d731 [NTOSKRNL] Mute spam CcSetReadAheadGranularity() 0.4.8-dev-159-g 64cb138a673fa02d76922963c680bfeb05f1d715 [NTOSKRNL] Mute spam CcPurgeCacheSection() 0.4.8-dev-150-g f723d230a0bc4b7b78ca125abecce137bb96bed6 [CDFS_NEW] 0.4.8-dev-133-g faee3753ea79c7e332c7a1b5eb74ca2c6614e23d [CDFS_NEW] CORE-14003 0.4.8-dev-132-g 1d777ffab5458495c04f250cf7ced379f306a7af [NTOSKRNL] iofunc.c CORE-14003 0.4.8-dev-131-g c3d5a3f2bdff97f03b802fe95dce9d0c9375e53e [NTOSKRNL] iofunc.c CORE-14003 0.4.8-dev-130-g 3b64f7f8fbbc64ada4dfdb6bdd1feff4bac10c1d [NTOSKRNL] ob/obref.c & co CORE-14003 0.4.8-dev-129-g 7eefe702949da68e49c4365d466c5373099c3b1f [NTOSKRNL] io/iomgr.c & co CORE-14003 0.4.8-dev-127-g 5f255827d3282b2dea1bc6d5ba77607550742ced [CDFS_NEW] 0.4.8-dev-126-g 1bef48796e4df655c71ddd92a00417dbe9e530ca [NTOSKRNL] just a comment, superseded later 0.4.8-dev-125-g cbf0430b56b600c29c1f615117574afcce1a9027 [CDFS_NEW] 0.4.8-dev-123-g f88fe43abd6a039f25cc08a8dfd65f9a56ef9da7 [NTOSKRNL] io/iomgr/device.c (forbidden DPRINT) 0.4.8-dev-122-g 6c733856258ebfac4b62ffb7733202dddb74a4be [CDFS_NEW] CORE-13184 0.4.8-dev-97-g 94298313c03c791d1ed472125ebf86f4258d2354 [CDFS_NEW] 0.4.8-dev-95-g e88eeb21af4b778f19b10e2d0e9f1c4361d6838d [CDFS_NEW/NTOSKRNL] CcWaitForCurrentLazyWriterActivity() stub return Success 0.4.8-dev-94-g 03d5be6437a1f2e4376ac117421133ebfdde799e [CDFS_NEW] 0.4.8-dev-93-g fa1c60db50d456fe39e315fbbe18bbee78af4105 [CDFS_NEW] 0.4.8-dev-92-g 8b2fd60829eeeb28fcafc0ef2511f7bed04ffd64 [CDFS_NEW] 0.4.8-dev-91-g e4da7ecc50b59b9f8283d84b3707fa69c595a57d [CDFS_NEW] 0.4.8-dev-90-g 7b19676e2b541983f1062ba1c563099284646010 [CDFS_NEW] 0.4.8-dev-89-g 3d4b8783fd0b9b8231a46e7b914447b86255e35b [CDFS_NEW] 0.4.8-dev-88-g 818025ecc8006c19ce6f6139b21294795f51bafd [CDFS_NEW] 0.4.8-dev-87-g 2639dd673636e4848a4fe33b9a4cd142efcc84f8 [CDFS_NEW] 0.4.8-dev-86-g 755bdb5d0b09e1df374f197c59639c0d78b86d6f [CDFS_NEW] 0.4.8-dev-85-g 3cbcb1badee213fdbadaa2db99086d21a8775fe8 [CDFS_NEW] and mute spam in opcode INSTEAD of picking: 0.4.8-dev-165-g 2284a457a36a9ce7e2b28bf38b6456ff0a6de471 [NTOSKRNL] oplock.c Fixup 0.4.8-dev-163-g d3d585395684b96df9782fe0af253f2c3e9cffc4 [NTOSKRNL] oplock.c Implement oplock-support 0.4.12-dev-232-g f488102c863c46763f36c837265a207dc59dadd5 [CDFS] was also left out for now I am aware, that the backport introduces white-space-glitches within CDFS_NEW. I decided to live with them in favor of better sync to master and newer releases.
2022-01-27 20:10:22 +00:00
_SEH2_TRY {
//
// Verify the Fcb. Allow reads if this is a DASD handle that is
// dismounting the volume.
//
if ((TypeOfOpen != UserVolumeOpen) || (NULL == Ccb) ||
!FlagOn( Ccb->Flags, CCB_FLAG_DISMOUNT_ON_CLOSE)) {
CdVerifyFcbOperation( IrpContext, Fcb );
}
//
// If this is a non-cached then check whether we need to post this
// request if this thread can't block.
//
if (!Wait && NonCachedIo) {
//
// XA requests must always be waitable.
//
if (FlagOn( Fcb->FcbState, FCB_STATE_RAWSECTOR_MASK )) {
SetFlag( IrpContext->Flags, IRP_CONTEXT_FLAG_FORCE_POST );
try_return( Status = STATUS_CANT_WAIT );
}
}
//
// If this is a user request then verify the oplock and filelock state.
//
if (TypeOfOpen == UserFileOpen) {
//
// We check whether we can proceed
// based on the state of the file oplocks.
//
[0.4.7][CDFS_NEW/NTOSKRNL/NDK] Switch from our old CDFS to MS-PL CDFS_NEW The main motivation to switch to that newer driver is, that our old one simply can not read all isos. Especially complex ones made trouble and were only shown as empty in explorer. It is still possible to build and use the old driver when needed, only thing that needs to be done for that is to revert 0.4.8-dev-164-g ec6b3ecbe48ad51c366563196cc93a6ae74e8b69 Porting back the state up to 0.4.8-release-100-g8f947b5 implies: Fixing the following JIRA-IDs (or avoid introducing them): CORE-18029 "Mute noisy DPRINT 'SectionObject has ImageSection'" CORE-17405 "Fix a macro-copy-paste and shrink the binary size" CORE-15659 "Unable to build the gcc Release version in Windows using RosBE 2.1.6 (module cdfs fails)" CORE-14315 "CDFS_NEW assertion during first stage setup due to new CcPerformReadAhead" CORE-14128 "Avast! Free Antivirus 7.0 hangs the system when trying to detect a newly created virus" CORE-14067 "CDFS_NEW assertions and exceptions" CORE-14003 "Shutting down LiveCD asserts since introduction of MS PL CDFS_NEW" CORE-13184 "Restore ability to install from disk-image" by picking the following commits: 0.4.8-release-100-g 8f947b532221069d2f398e25a9c0775c34e21878 [NTOSKRNL] Mute noisy DPRINT 'SectionObject has ImageSection' CORE-18029 0.4.8-release-80-g eb1ea195888e17d026428dc6f406a1834c8702d8 [CDFS_NEW] == 0.4.15-dev-1456-g 889eab7 CORE-17405 0.4.8-release-62-g 8c07aad4a8c6469c7e4ba4c5e92e356a6548189a [CDFS_NEW/XDK] == 0.4.11-dev-39-g a2f9762 + 0.4.11-dev-40-g 6d7ec8c CORE-14067 0.4.8-release-3-g 5d976d04e876aac6990a8f997669711eca83227a [CDFS_NEW] == 0.4.12-dev-431-g bccad87f3ccf266be2179d1322e7a422aeb2f3b7 + 0.4.12-dev-432-g 3463b2db9fc08e5ebe2f5b146d3fe12248f632f3 CORE-15659 0.4.8-RC-3-g 51f9494d484bbe8232e375c2693851316d9d530f [CDFS_NEW] superseded later by the proper fix 0.4.8-release-62-g 8c07aad4a8c6469c7e4ba4c5e92e356a6548189a CORE-14067 0.4.8-dev-1069-g a5e89014dc943b2cbddb16fc4d92e13b7e5068e1 [CDFS_NEW] CORE-14315 0.4.8-dev-475-g a59d4674dec116a951392bb6d136bd11f0e143f2 [NTOSKRNL] io/iomgr/device.c (forgotten assert) CORE-14128 0.4.8-dev-221-g 9d67a24799e29e832933311a8e6ba21787e40f6a [CDFS_NEW] 0.4.8-dev-220-g 67a7e45e351b70356fee442c31cb5de14a0de37e [CDFS_NEW/DOC] 0.4.8-dev-219-g 6a3bbf24e012e4985b97ca4d79604c28fe0133d7 [CDFS_NEW] 0.4.8-dev-218-g ec26cde4a13b3889883d3e1b19f7878179c76df5 [CDFS_NEW] 0.4.8-dev-217-g bc2378a3560a384c47d2a4c83886531ad8f0af90 [CDFS_NEW] 0.4.8-dev-216-g 5429771b9936a6d8aee6ffb3860310673f467e93 [CDFS_NEW] 0.4.8-dev-215-g fd345482634d8ef4c64e5910ce4752ac0c7438cc [CDFS_NEW] Sync with MS-PL driver 0.4.8-dev-164-g ec6b3ecbe48ad51c366563196cc93a6ae74e8b69 [FILESYSTEMS] switch from CDFS to CDFS_NEW in CMakeLists.txt 0.4.8-dev-160-g 2b217e4ecf942126c4672f8d1c0a2fb55530d731 [NTOSKRNL] Mute spam CcSetReadAheadGranularity() 0.4.8-dev-159-g 64cb138a673fa02d76922963c680bfeb05f1d715 [NTOSKRNL] Mute spam CcPurgeCacheSection() 0.4.8-dev-150-g f723d230a0bc4b7b78ca125abecce137bb96bed6 [CDFS_NEW] 0.4.8-dev-133-g faee3753ea79c7e332c7a1b5eb74ca2c6614e23d [CDFS_NEW] CORE-14003 0.4.8-dev-132-g 1d777ffab5458495c04f250cf7ced379f306a7af [NTOSKRNL] iofunc.c CORE-14003 0.4.8-dev-131-g c3d5a3f2bdff97f03b802fe95dce9d0c9375e53e [NTOSKRNL] iofunc.c CORE-14003 0.4.8-dev-130-g 3b64f7f8fbbc64ada4dfdb6bdd1feff4bac10c1d [NTOSKRNL] ob/obref.c & co CORE-14003 0.4.8-dev-129-g 7eefe702949da68e49c4365d466c5373099c3b1f [NTOSKRNL] io/iomgr.c & co CORE-14003 0.4.8-dev-127-g 5f255827d3282b2dea1bc6d5ba77607550742ced [CDFS_NEW] 0.4.8-dev-126-g 1bef48796e4df655c71ddd92a00417dbe9e530ca [NTOSKRNL] just a comment, superseded later 0.4.8-dev-125-g cbf0430b56b600c29c1f615117574afcce1a9027 [CDFS_NEW] 0.4.8-dev-123-g f88fe43abd6a039f25cc08a8dfd65f9a56ef9da7 [NTOSKRNL] io/iomgr/device.c (forbidden DPRINT) 0.4.8-dev-122-g 6c733856258ebfac4b62ffb7733202dddb74a4be [CDFS_NEW] CORE-13184 0.4.8-dev-97-g 94298313c03c791d1ed472125ebf86f4258d2354 [CDFS_NEW] 0.4.8-dev-95-g e88eeb21af4b778f19b10e2d0e9f1c4361d6838d [CDFS_NEW/NTOSKRNL] CcWaitForCurrentLazyWriterActivity() stub return Success 0.4.8-dev-94-g 03d5be6437a1f2e4376ac117421133ebfdde799e [CDFS_NEW] 0.4.8-dev-93-g fa1c60db50d456fe39e315fbbe18bbee78af4105 [CDFS_NEW] 0.4.8-dev-92-g 8b2fd60829eeeb28fcafc0ef2511f7bed04ffd64 [CDFS_NEW] 0.4.8-dev-91-g e4da7ecc50b59b9f8283d84b3707fa69c595a57d [CDFS_NEW] 0.4.8-dev-90-g 7b19676e2b541983f1062ba1c563099284646010 [CDFS_NEW] 0.4.8-dev-89-g 3d4b8783fd0b9b8231a46e7b914447b86255e35b [CDFS_NEW] 0.4.8-dev-88-g 818025ecc8006c19ce6f6139b21294795f51bafd [CDFS_NEW] 0.4.8-dev-87-g 2639dd673636e4848a4fe33b9a4cd142efcc84f8 [CDFS_NEW] 0.4.8-dev-86-g 755bdb5d0b09e1df374f197c59639c0d78b86d6f [CDFS_NEW] 0.4.8-dev-85-g 3cbcb1badee213fdbadaa2db99086d21a8775fe8 [CDFS_NEW] and mute spam in opcode INSTEAD of picking: 0.4.8-dev-165-g 2284a457a36a9ce7e2b28bf38b6456ff0a6de471 [NTOSKRNL] oplock.c Fixup 0.4.8-dev-163-g d3d585395684b96df9782fe0af253f2c3e9cffc4 [NTOSKRNL] oplock.c Implement oplock-support 0.4.12-dev-232-g f488102c863c46763f36c837265a207dc59dadd5 [CDFS] was also left out for now I am aware, that the backport introduces white-space-glitches within CDFS_NEW. I decided to live with them in favor of better sync to master and newer releases.
2022-01-27 20:10:22 +00:00
Status = FsRtlCheckOplock( CdGetFcbOplock(Fcb),
Irp,
IrpContext,
(PVOID)CdOplockComplete,/* ReactOS Change: GCC "assignment from incompatible pointer type" */
(PVOID)CdPrePostIrp );/* ReactOS Change: GCC "assignment from incompatible pointer type" */
//
// If the result is not STATUS_SUCCESS then the Irp was completed
// elsewhere.
//
if (Status != STATUS_SUCCESS) {
Irp = NULL;
IrpContext = NULL;
try_return( NOTHING );
}
if (!PagingIo &&
(Fcb->FileLock != NULL) &&
!FsRtlCheckLockForReadAccess( Fcb->FileLock, Irp )) {
try_return( Status = STATUS_FILE_LOCK_CONFLICT );
}
}
//
[0.4.7][CDFS_NEW/NTOSKRNL/NDK] Switch from our old CDFS to MS-PL CDFS_NEW The main motivation to switch to that newer driver is, that our old one simply can not read all isos. Especially complex ones made trouble and were only shown as empty in explorer. It is still possible to build and use the old driver when needed, only thing that needs to be done for that is to revert 0.4.8-dev-164-g ec6b3ecbe48ad51c366563196cc93a6ae74e8b69 Porting back the state up to 0.4.8-release-100-g8f947b5 implies: Fixing the following JIRA-IDs (or avoid introducing them): CORE-18029 "Mute noisy DPRINT 'SectionObject has ImageSection'" CORE-17405 "Fix a macro-copy-paste and shrink the binary size" CORE-15659 "Unable to build the gcc Release version in Windows using RosBE 2.1.6 (module cdfs fails)" CORE-14315 "CDFS_NEW assertion during first stage setup due to new CcPerformReadAhead" CORE-14128 "Avast! Free Antivirus 7.0 hangs the system when trying to detect a newly created virus" CORE-14067 "CDFS_NEW assertions and exceptions" CORE-14003 "Shutting down LiveCD asserts since introduction of MS PL CDFS_NEW" CORE-13184 "Restore ability to install from disk-image" by picking the following commits: 0.4.8-release-100-g 8f947b532221069d2f398e25a9c0775c34e21878 [NTOSKRNL] Mute noisy DPRINT 'SectionObject has ImageSection' CORE-18029 0.4.8-release-80-g eb1ea195888e17d026428dc6f406a1834c8702d8 [CDFS_NEW] == 0.4.15-dev-1456-g 889eab7 CORE-17405 0.4.8-release-62-g 8c07aad4a8c6469c7e4ba4c5e92e356a6548189a [CDFS_NEW/XDK] == 0.4.11-dev-39-g a2f9762 + 0.4.11-dev-40-g 6d7ec8c CORE-14067 0.4.8-release-3-g 5d976d04e876aac6990a8f997669711eca83227a [CDFS_NEW] == 0.4.12-dev-431-g bccad87f3ccf266be2179d1322e7a422aeb2f3b7 + 0.4.12-dev-432-g 3463b2db9fc08e5ebe2f5b146d3fe12248f632f3 CORE-15659 0.4.8-RC-3-g 51f9494d484bbe8232e375c2693851316d9d530f [CDFS_NEW] superseded later by the proper fix 0.4.8-release-62-g 8c07aad4a8c6469c7e4ba4c5e92e356a6548189a CORE-14067 0.4.8-dev-1069-g a5e89014dc943b2cbddb16fc4d92e13b7e5068e1 [CDFS_NEW] CORE-14315 0.4.8-dev-475-g a59d4674dec116a951392bb6d136bd11f0e143f2 [NTOSKRNL] io/iomgr/device.c (forgotten assert) CORE-14128 0.4.8-dev-221-g 9d67a24799e29e832933311a8e6ba21787e40f6a [CDFS_NEW] 0.4.8-dev-220-g 67a7e45e351b70356fee442c31cb5de14a0de37e [CDFS_NEW/DOC] 0.4.8-dev-219-g 6a3bbf24e012e4985b97ca4d79604c28fe0133d7 [CDFS_NEW] 0.4.8-dev-218-g ec26cde4a13b3889883d3e1b19f7878179c76df5 [CDFS_NEW] 0.4.8-dev-217-g bc2378a3560a384c47d2a4c83886531ad8f0af90 [CDFS_NEW] 0.4.8-dev-216-g 5429771b9936a6d8aee6ffb3860310673f467e93 [CDFS_NEW] 0.4.8-dev-215-g fd345482634d8ef4c64e5910ce4752ac0c7438cc [CDFS_NEW] Sync with MS-PL driver 0.4.8-dev-164-g ec6b3ecbe48ad51c366563196cc93a6ae74e8b69 [FILESYSTEMS] switch from CDFS to CDFS_NEW in CMakeLists.txt 0.4.8-dev-160-g 2b217e4ecf942126c4672f8d1c0a2fb55530d731 [NTOSKRNL] Mute spam CcSetReadAheadGranularity() 0.4.8-dev-159-g 64cb138a673fa02d76922963c680bfeb05f1d715 [NTOSKRNL] Mute spam CcPurgeCacheSection() 0.4.8-dev-150-g f723d230a0bc4b7b78ca125abecce137bb96bed6 [CDFS_NEW] 0.4.8-dev-133-g faee3753ea79c7e332c7a1b5eb74ca2c6614e23d [CDFS_NEW] CORE-14003 0.4.8-dev-132-g 1d777ffab5458495c04f250cf7ced379f306a7af [NTOSKRNL] iofunc.c CORE-14003 0.4.8-dev-131-g c3d5a3f2bdff97f03b802fe95dce9d0c9375e53e [NTOSKRNL] iofunc.c CORE-14003 0.4.8-dev-130-g 3b64f7f8fbbc64ada4dfdb6bdd1feff4bac10c1d [NTOSKRNL] ob/obref.c & co CORE-14003 0.4.8-dev-129-g 7eefe702949da68e49c4365d466c5373099c3b1f [NTOSKRNL] io/iomgr.c & co CORE-14003 0.4.8-dev-127-g 5f255827d3282b2dea1bc6d5ba77607550742ced [CDFS_NEW] 0.4.8-dev-126-g 1bef48796e4df655c71ddd92a00417dbe9e530ca [NTOSKRNL] just a comment, superseded later 0.4.8-dev-125-g cbf0430b56b600c29c1f615117574afcce1a9027 [CDFS_NEW] 0.4.8-dev-123-g f88fe43abd6a039f25cc08a8dfd65f9a56ef9da7 [NTOSKRNL] io/iomgr/device.c (forbidden DPRINT) 0.4.8-dev-122-g 6c733856258ebfac4b62ffb7733202dddb74a4be [CDFS_NEW] CORE-13184 0.4.8-dev-97-g 94298313c03c791d1ed472125ebf86f4258d2354 [CDFS_NEW] 0.4.8-dev-95-g e88eeb21af4b778f19b10e2d0e9f1c4361d6838d [CDFS_NEW/NTOSKRNL] CcWaitForCurrentLazyWriterActivity() stub return Success 0.4.8-dev-94-g 03d5be6437a1f2e4376ac117421133ebfdde799e [CDFS_NEW] 0.4.8-dev-93-g fa1c60db50d456fe39e315fbbe18bbee78af4105 [CDFS_NEW] 0.4.8-dev-92-g 8b2fd60829eeeb28fcafc0ef2511f7bed04ffd64 [CDFS_NEW] 0.4.8-dev-91-g e4da7ecc50b59b9f8283d84b3707fa69c595a57d [CDFS_NEW] 0.4.8-dev-90-g 7b19676e2b541983f1062ba1c563099284646010 [CDFS_NEW] 0.4.8-dev-89-g 3d4b8783fd0b9b8231a46e7b914447b86255e35b [CDFS_NEW] 0.4.8-dev-88-g 818025ecc8006c19ce6f6139b21294795f51bafd [CDFS_NEW] 0.4.8-dev-87-g 2639dd673636e4848a4fe33b9a4cd142efcc84f8 [CDFS_NEW] 0.4.8-dev-86-g 755bdb5d0b09e1df374f197c59639c0d78b86d6f [CDFS_NEW] 0.4.8-dev-85-g 3cbcb1badee213fdbadaa2db99086d21a8775fe8 [CDFS_NEW] and mute spam in opcode INSTEAD of picking: 0.4.8-dev-165-g 2284a457a36a9ce7e2b28bf38b6456ff0a6de471 [NTOSKRNL] oplock.c Fixup 0.4.8-dev-163-g d3d585395684b96df9782fe0af253f2c3e9cffc4 [NTOSKRNL] oplock.c Implement oplock-support 0.4.12-dev-232-g f488102c863c46763f36c837265a207dc59dadd5 [CDFS] was also left out for now I am aware, that the backport introduces white-space-glitches within CDFS_NEW. I decided to live with them in favor of better sync to master and newer releases.
2022-01-27 20:10:22 +00:00
// Check request beyond end of file if this is not a read on a volume
// handle marked for extended DASD IO.
//
[0.4.7][CDFS_NEW/NTOSKRNL/NDK] Switch from our old CDFS to MS-PL CDFS_NEW The main motivation to switch to that newer driver is, that our old one simply can not read all isos. Especially complex ones made trouble and were only shown as empty in explorer. It is still possible to build and use the old driver when needed, only thing that needs to be done for that is to revert 0.4.8-dev-164-g ec6b3ecbe48ad51c366563196cc93a6ae74e8b69 Porting back the state up to 0.4.8-release-100-g8f947b5 implies: Fixing the following JIRA-IDs (or avoid introducing them): CORE-18029 "Mute noisy DPRINT 'SectionObject has ImageSection'" CORE-17405 "Fix a macro-copy-paste and shrink the binary size" CORE-15659 "Unable to build the gcc Release version in Windows using RosBE 2.1.6 (module cdfs fails)" CORE-14315 "CDFS_NEW assertion during first stage setup due to new CcPerformReadAhead" CORE-14128 "Avast! Free Antivirus 7.0 hangs the system when trying to detect a newly created virus" CORE-14067 "CDFS_NEW assertions and exceptions" CORE-14003 "Shutting down LiveCD asserts since introduction of MS PL CDFS_NEW" CORE-13184 "Restore ability to install from disk-image" by picking the following commits: 0.4.8-release-100-g 8f947b532221069d2f398e25a9c0775c34e21878 [NTOSKRNL] Mute noisy DPRINT 'SectionObject has ImageSection' CORE-18029 0.4.8-release-80-g eb1ea195888e17d026428dc6f406a1834c8702d8 [CDFS_NEW] == 0.4.15-dev-1456-g 889eab7 CORE-17405 0.4.8-release-62-g 8c07aad4a8c6469c7e4ba4c5e92e356a6548189a [CDFS_NEW/XDK] == 0.4.11-dev-39-g a2f9762 + 0.4.11-dev-40-g 6d7ec8c CORE-14067 0.4.8-release-3-g 5d976d04e876aac6990a8f997669711eca83227a [CDFS_NEW] == 0.4.12-dev-431-g bccad87f3ccf266be2179d1322e7a422aeb2f3b7 + 0.4.12-dev-432-g 3463b2db9fc08e5ebe2f5b146d3fe12248f632f3 CORE-15659 0.4.8-RC-3-g 51f9494d484bbe8232e375c2693851316d9d530f [CDFS_NEW] superseded later by the proper fix 0.4.8-release-62-g 8c07aad4a8c6469c7e4ba4c5e92e356a6548189a CORE-14067 0.4.8-dev-1069-g a5e89014dc943b2cbddb16fc4d92e13b7e5068e1 [CDFS_NEW] CORE-14315 0.4.8-dev-475-g a59d4674dec116a951392bb6d136bd11f0e143f2 [NTOSKRNL] io/iomgr/device.c (forgotten assert) CORE-14128 0.4.8-dev-221-g 9d67a24799e29e832933311a8e6ba21787e40f6a [CDFS_NEW] 0.4.8-dev-220-g 67a7e45e351b70356fee442c31cb5de14a0de37e [CDFS_NEW/DOC] 0.4.8-dev-219-g 6a3bbf24e012e4985b97ca4d79604c28fe0133d7 [CDFS_NEW] 0.4.8-dev-218-g ec26cde4a13b3889883d3e1b19f7878179c76df5 [CDFS_NEW] 0.4.8-dev-217-g bc2378a3560a384c47d2a4c83886531ad8f0af90 [CDFS_NEW] 0.4.8-dev-216-g 5429771b9936a6d8aee6ffb3860310673f467e93 [CDFS_NEW] 0.4.8-dev-215-g fd345482634d8ef4c64e5910ce4752ac0c7438cc [CDFS_NEW] Sync with MS-PL driver 0.4.8-dev-164-g ec6b3ecbe48ad51c366563196cc93a6ae74e8b69 [FILESYSTEMS] switch from CDFS to CDFS_NEW in CMakeLists.txt 0.4.8-dev-160-g 2b217e4ecf942126c4672f8d1c0a2fb55530d731 [NTOSKRNL] Mute spam CcSetReadAheadGranularity() 0.4.8-dev-159-g 64cb138a673fa02d76922963c680bfeb05f1d715 [NTOSKRNL] Mute spam CcPurgeCacheSection() 0.4.8-dev-150-g f723d230a0bc4b7b78ca125abecce137bb96bed6 [CDFS_NEW] 0.4.8-dev-133-g faee3753ea79c7e332c7a1b5eb74ca2c6614e23d [CDFS_NEW] CORE-14003 0.4.8-dev-132-g 1d777ffab5458495c04f250cf7ced379f306a7af [NTOSKRNL] iofunc.c CORE-14003 0.4.8-dev-131-g c3d5a3f2bdff97f03b802fe95dce9d0c9375e53e [NTOSKRNL] iofunc.c CORE-14003 0.4.8-dev-130-g 3b64f7f8fbbc64ada4dfdb6bdd1feff4bac10c1d [NTOSKRNL] ob/obref.c & co CORE-14003 0.4.8-dev-129-g 7eefe702949da68e49c4365d466c5373099c3b1f [NTOSKRNL] io/iomgr.c & co CORE-14003 0.4.8-dev-127-g 5f255827d3282b2dea1bc6d5ba77607550742ced [CDFS_NEW] 0.4.8-dev-126-g 1bef48796e4df655c71ddd92a00417dbe9e530ca [NTOSKRNL] just a comment, superseded later 0.4.8-dev-125-g cbf0430b56b600c29c1f615117574afcce1a9027 [CDFS_NEW] 0.4.8-dev-123-g f88fe43abd6a039f25cc08a8dfd65f9a56ef9da7 [NTOSKRNL] io/iomgr/device.c (forbidden DPRINT) 0.4.8-dev-122-g 6c733856258ebfac4b62ffb7733202dddb74a4be [CDFS_NEW] CORE-13184 0.4.8-dev-97-g 94298313c03c791d1ed472125ebf86f4258d2354 [CDFS_NEW] 0.4.8-dev-95-g e88eeb21af4b778f19b10e2d0e9f1c4361d6838d [CDFS_NEW/NTOSKRNL] CcWaitForCurrentLazyWriterActivity() stub return Success 0.4.8-dev-94-g 03d5be6437a1f2e4376ac117421133ebfdde799e [CDFS_NEW] 0.4.8-dev-93-g fa1c60db50d456fe39e315fbbe18bbee78af4105 [CDFS_NEW] 0.4.8-dev-92-g 8b2fd60829eeeb28fcafc0ef2511f7bed04ffd64 [CDFS_NEW] 0.4.8-dev-91-g e4da7ecc50b59b9f8283d84b3707fa69c595a57d [CDFS_NEW] 0.4.8-dev-90-g 7b19676e2b541983f1062ba1c563099284646010 [CDFS_NEW] 0.4.8-dev-89-g 3d4b8783fd0b9b8231a46e7b914447b86255e35b [CDFS_NEW] 0.4.8-dev-88-g 818025ecc8006c19ce6f6139b21294795f51bafd [CDFS_NEW] 0.4.8-dev-87-g 2639dd673636e4848a4fe33b9a4cd142efcc84f8 [CDFS_NEW] 0.4.8-dev-86-g 755bdb5d0b09e1df374f197c59639c0d78b86d6f [CDFS_NEW] 0.4.8-dev-85-g 3cbcb1badee213fdbadaa2db99086d21a8775fe8 [CDFS_NEW] and mute spam in opcode INSTEAD of picking: 0.4.8-dev-165-g 2284a457a36a9ce7e2b28bf38b6456ff0a6de471 [NTOSKRNL] oplock.c Fixup 0.4.8-dev-163-g d3d585395684b96df9782fe0af253f2c3e9cffc4 [NTOSKRNL] oplock.c Implement oplock-support 0.4.12-dev-232-g f488102c863c46763f36c837265a207dc59dadd5 [CDFS] was also left out for now I am aware, that the backport introduces white-space-glitches within CDFS_NEW. I decided to live with them in favor of better sync to master and newer releases.
2022-01-27 20:10:22 +00:00
if ((TypeOfOpen != UserVolumeOpen) ||
(!FlagOn( Ccb->Flags, CCB_FLAG_ALLOW_EXTENDED_DASD_IO ))) {
[0.4.7][CDFS_NEW/NTOSKRNL/NDK] Switch from our old CDFS to MS-PL CDFS_NEW The main motivation to switch to that newer driver is, that our old one simply can not read all isos. Especially complex ones made trouble and were only shown as empty in explorer. It is still possible to build and use the old driver when needed, only thing that needs to be done for that is to revert 0.4.8-dev-164-g ec6b3ecbe48ad51c366563196cc93a6ae74e8b69 Porting back the state up to 0.4.8-release-100-g8f947b5 implies: Fixing the following JIRA-IDs (or avoid introducing them): CORE-18029 "Mute noisy DPRINT 'SectionObject has ImageSection'" CORE-17405 "Fix a macro-copy-paste and shrink the binary size" CORE-15659 "Unable to build the gcc Release version in Windows using RosBE 2.1.6 (module cdfs fails)" CORE-14315 "CDFS_NEW assertion during first stage setup due to new CcPerformReadAhead" CORE-14128 "Avast! Free Antivirus 7.0 hangs the system when trying to detect a newly created virus" CORE-14067 "CDFS_NEW assertions and exceptions" CORE-14003 "Shutting down LiveCD asserts since introduction of MS PL CDFS_NEW" CORE-13184 "Restore ability to install from disk-image" by picking the following commits: 0.4.8-release-100-g 8f947b532221069d2f398e25a9c0775c34e21878 [NTOSKRNL] Mute noisy DPRINT 'SectionObject has ImageSection' CORE-18029 0.4.8-release-80-g eb1ea195888e17d026428dc6f406a1834c8702d8 [CDFS_NEW] == 0.4.15-dev-1456-g 889eab7 CORE-17405 0.4.8-release-62-g 8c07aad4a8c6469c7e4ba4c5e92e356a6548189a [CDFS_NEW/XDK] == 0.4.11-dev-39-g a2f9762 + 0.4.11-dev-40-g 6d7ec8c CORE-14067 0.4.8-release-3-g 5d976d04e876aac6990a8f997669711eca83227a [CDFS_NEW] == 0.4.12-dev-431-g bccad87f3ccf266be2179d1322e7a422aeb2f3b7 + 0.4.12-dev-432-g 3463b2db9fc08e5ebe2f5b146d3fe12248f632f3 CORE-15659 0.4.8-RC-3-g 51f9494d484bbe8232e375c2693851316d9d530f [CDFS_NEW] superseded later by the proper fix 0.4.8-release-62-g 8c07aad4a8c6469c7e4ba4c5e92e356a6548189a CORE-14067 0.4.8-dev-1069-g a5e89014dc943b2cbddb16fc4d92e13b7e5068e1 [CDFS_NEW] CORE-14315 0.4.8-dev-475-g a59d4674dec116a951392bb6d136bd11f0e143f2 [NTOSKRNL] io/iomgr/device.c (forgotten assert) CORE-14128 0.4.8-dev-221-g 9d67a24799e29e832933311a8e6ba21787e40f6a [CDFS_NEW] 0.4.8-dev-220-g 67a7e45e351b70356fee442c31cb5de14a0de37e [CDFS_NEW/DOC] 0.4.8-dev-219-g 6a3bbf24e012e4985b97ca4d79604c28fe0133d7 [CDFS_NEW] 0.4.8-dev-218-g ec26cde4a13b3889883d3e1b19f7878179c76df5 [CDFS_NEW] 0.4.8-dev-217-g bc2378a3560a384c47d2a4c83886531ad8f0af90 [CDFS_NEW] 0.4.8-dev-216-g 5429771b9936a6d8aee6ffb3860310673f467e93 [CDFS_NEW] 0.4.8-dev-215-g fd345482634d8ef4c64e5910ce4752ac0c7438cc [CDFS_NEW] Sync with MS-PL driver 0.4.8-dev-164-g ec6b3ecbe48ad51c366563196cc93a6ae74e8b69 [FILESYSTEMS] switch from CDFS to CDFS_NEW in CMakeLists.txt 0.4.8-dev-160-g 2b217e4ecf942126c4672f8d1c0a2fb55530d731 [NTOSKRNL] Mute spam CcSetReadAheadGranularity() 0.4.8-dev-159-g 64cb138a673fa02d76922963c680bfeb05f1d715 [NTOSKRNL] Mute spam CcPurgeCacheSection() 0.4.8-dev-150-g f723d230a0bc4b7b78ca125abecce137bb96bed6 [CDFS_NEW] 0.4.8-dev-133-g faee3753ea79c7e332c7a1b5eb74ca2c6614e23d [CDFS_NEW] CORE-14003 0.4.8-dev-132-g 1d777ffab5458495c04f250cf7ced379f306a7af [NTOSKRNL] iofunc.c CORE-14003 0.4.8-dev-131-g c3d5a3f2bdff97f03b802fe95dce9d0c9375e53e [NTOSKRNL] iofunc.c CORE-14003 0.4.8-dev-130-g 3b64f7f8fbbc64ada4dfdb6bdd1feff4bac10c1d [NTOSKRNL] ob/obref.c & co CORE-14003 0.4.8-dev-129-g 7eefe702949da68e49c4365d466c5373099c3b1f [NTOSKRNL] io/iomgr.c & co CORE-14003 0.4.8-dev-127-g 5f255827d3282b2dea1bc6d5ba77607550742ced [CDFS_NEW] 0.4.8-dev-126-g 1bef48796e4df655c71ddd92a00417dbe9e530ca [NTOSKRNL] just a comment, superseded later 0.4.8-dev-125-g cbf0430b56b600c29c1f615117574afcce1a9027 [CDFS_NEW] 0.4.8-dev-123-g f88fe43abd6a039f25cc08a8dfd65f9a56ef9da7 [NTOSKRNL] io/iomgr/device.c (forbidden DPRINT) 0.4.8-dev-122-g 6c733856258ebfac4b62ffb7733202dddb74a4be [CDFS_NEW] CORE-13184 0.4.8-dev-97-g 94298313c03c791d1ed472125ebf86f4258d2354 [CDFS_NEW] 0.4.8-dev-95-g e88eeb21af4b778f19b10e2d0e9f1c4361d6838d [CDFS_NEW/NTOSKRNL] CcWaitForCurrentLazyWriterActivity() stub return Success 0.4.8-dev-94-g 03d5be6437a1f2e4376ac117421133ebfdde799e [CDFS_NEW] 0.4.8-dev-93-g fa1c60db50d456fe39e315fbbe18bbee78af4105 [CDFS_NEW] 0.4.8-dev-92-g 8b2fd60829eeeb28fcafc0ef2511f7bed04ffd64 [CDFS_NEW] 0.4.8-dev-91-g e4da7ecc50b59b9f8283d84b3707fa69c595a57d [CDFS_NEW] 0.4.8-dev-90-g 7b19676e2b541983f1062ba1c563099284646010 [CDFS_NEW] 0.4.8-dev-89-g 3d4b8783fd0b9b8231a46e7b914447b86255e35b [CDFS_NEW] 0.4.8-dev-88-g 818025ecc8006c19ce6f6139b21294795f51bafd [CDFS_NEW] 0.4.8-dev-87-g 2639dd673636e4848a4fe33b9a4cd142efcc84f8 [CDFS_NEW] 0.4.8-dev-86-g 755bdb5d0b09e1df374f197c59639c0d78b86d6f [CDFS_NEW] 0.4.8-dev-85-g 3cbcb1badee213fdbadaa2db99086d21a8775fe8 [CDFS_NEW] and mute spam in opcode INSTEAD of picking: 0.4.8-dev-165-g 2284a457a36a9ce7e2b28bf38b6456ff0a6de471 [NTOSKRNL] oplock.c Fixup 0.4.8-dev-163-g d3d585395684b96df9782fe0af253f2c3e9cffc4 [NTOSKRNL] oplock.c Implement oplock-support 0.4.12-dev-232-g f488102c863c46763f36c837265a207dc59dadd5 [CDFS] was also left out for now I am aware, that the backport introduces white-space-glitches within CDFS_NEW. I decided to live with them in favor of better sync to master and newer releases.
2022-01-27 20:10:22 +00:00
//
// Complete the request if it begins beyond the end of file.
//
[0.4.7][CDFS_NEW/NTOSKRNL/NDK] Switch from our old CDFS to MS-PL CDFS_NEW The main motivation to switch to that newer driver is, that our old one simply can not read all isos. Especially complex ones made trouble and were only shown as empty in explorer. It is still possible to build and use the old driver when needed, only thing that needs to be done for that is to revert 0.4.8-dev-164-g ec6b3ecbe48ad51c366563196cc93a6ae74e8b69 Porting back the state up to 0.4.8-release-100-g8f947b5 implies: Fixing the following JIRA-IDs (or avoid introducing them): CORE-18029 "Mute noisy DPRINT 'SectionObject has ImageSection'" CORE-17405 "Fix a macro-copy-paste and shrink the binary size" CORE-15659 "Unable to build the gcc Release version in Windows using RosBE 2.1.6 (module cdfs fails)" CORE-14315 "CDFS_NEW assertion during first stage setup due to new CcPerformReadAhead" CORE-14128 "Avast! Free Antivirus 7.0 hangs the system when trying to detect a newly created virus" CORE-14067 "CDFS_NEW assertions and exceptions" CORE-14003 "Shutting down LiveCD asserts since introduction of MS PL CDFS_NEW" CORE-13184 "Restore ability to install from disk-image" by picking the following commits: 0.4.8-release-100-g 8f947b532221069d2f398e25a9c0775c34e21878 [NTOSKRNL] Mute noisy DPRINT 'SectionObject has ImageSection' CORE-18029 0.4.8-release-80-g eb1ea195888e17d026428dc6f406a1834c8702d8 [CDFS_NEW] == 0.4.15-dev-1456-g 889eab7 CORE-17405 0.4.8-release-62-g 8c07aad4a8c6469c7e4ba4c5e92e356a6548189a [CDFS_NEW/XDK] == 0.4.11-dev-39-g a2f9762 + 0.4.11-dev-40-g 6d7ec8c CORE-14067 0.4.8-release-3-g 5d976d04e876aac6990a8f997669711eca83227a [CDFS_NEW] == 0.4.12-dev-431-g bccad87f3ccf266be2179d1322e7a422aeb2f3b7 + 0.4.12-dev-432-g 3463b2db9fc08e5ebe2f5b146d3fe12248f632f3 CORE-15659 0.4.8-RC-3-g 51f9494d484bbe8232e375c2693851316d9d530f [CDFS_NEW] superseded later by the proper fix 0.4.8-release-62-g 8c07aad4a8c6469c7e4ba4c5e92e356a6548189a CORE-14067 0.4.8-dev-1069-g a5e89014dc943b2cbddb16fc4d92e13b7e5068e1 [CDFS_NEW] CORE-14315 0.4.8-dev-475-g a59d4674dec116a951392bb6d136bd11f0e143f2 [NTOSKRNL] io/iomgr/device.c (forgotten assert) CORE-14128 0.4.8-dev-221-g 9d67a24799e29e832933311a8e6ba21787e40f6a [CDFS_NEW] 0.4.8-dev-220-g 67a7e45e351b70356fee442c31cb5de14a0de37e [CDFS_NEW/DOC] 0.4.8-dev-219-g 6a3bbf24e012e4985b97ca4d79604c28fe0133d7 [CDFS_NEW] 0.4.8-dev-218-g ec26cde4a13b3889883d3e1b19f7878179c76df5 [CDFS_NEW] 0.4.8-dev-217-g bc2378a3560a384c47d2a4c83886531ad8f0af90 [CDFS_NEW] 0.4.8-dev-216-g 5429771b9936a6d8aee6ffb3860310673f467e93 [CDFS_NEW] 0.4.8-dev-215-g fd345482634d8ef4c64e5910ce4752ac0c7438cc [CDFS_NEW] Sync with MS-PL driver 0.4.8-dev-164-g ec6b3ecbe48ad51c366563196cc93a6ae74e8b69 [FILESYSTEMS] switch from CDFS to CDFS_NEW in CMakeLists.txt 0.4.8-dev-160-g 2b217e4ecf942126c4672f8d1c0a2fb55530d731 [NTOSKRNL] Mute spam CcSetReadAheadGranularity() 0.4.8-dev-159-g 64cb138a673fa02d76922963c680bfeb05f1d715 [NTOSKRNL] Mute spam CcPurgeCacheSection() 0.4.8-dev-150-g f723d230a0bc4b7b78ca125abecce137bb96bed6 [CDFS_NEW] 0.4.8-dev-133-g faee3753ea79c7e332c7a1b5eb74ca2c6614e23d [CDFS_NEW] CORE-14003 0.4.8-dev-132-g 1d777ffab5458495c04f250cf7ced379f306a7af [NTOSKRNL] iofunc.c CORE-14003 0.4.8-dev-131-g c3d5a3f2bdff97f03b802fe95dce9d0c9375e53e [NTOSKRNL] iofunc.c CORE-14003 0.4.8-dev-130-g 3b64f7f8fbbc64ada4dfdb6bdd1feff4bac10c1d [NTOSKRNL] ob/obref.c & co CORE-14003 0.4.8-dev-129-g 7eefe702949da68e49c4365d466c5373099c3b1f [NTOSKRNL] io/iomgr.c & co CORE-14003 0.4.8-dev-127-g 5f255827d3282b2dea1bc6d5ba77607550742ced [CDFS_NEW] 0.4.8-dev-126-g 1bef48796e4df655c71ddd92a00417dbe9e530ca [NTOSKRNL] just a comment, superseded later 0.4.8-dev-125-g cbf0430b56b600c29c1f615117574afcce1a9027 [CDFS_NEW] 0.4.8-dev-123-g f88fe43abd6a039f25cc08a8dfd65f9a56ef9da7 [NTOSKRNL] io/iomgr/device.c (forbidden DPRINT) 0.4.8-dev-122-g 6c733856258ebfac4b62ffb7733202dddb74a4be [CDFS_NEW] CORE-13184 0.4.8-dev-97-g 94298313c03c791d1ed472125ebf86f4258d2354 [CDFS_NEW] 0.4.8-dev-95-g e88eeb21af4b778f19b10e2d0e9f1c4361d6838d [CDFS_NEW/NTOSKRNL] CcWaitForCurrentLazyWriterActivity() stub return Success 0.4.8-dev-94-g 03d5be6437a1f2e4376ac117421133ebfdde799e [CDFS_NEW] 0.4.8-dev-93-g fa1c60db50d456fe39e315fbbe18bbee78af4105 [CDFS_NEW] 0.4.8-dev-92-g 8b2fd60829eeeb28fcafc0ef2511f7bed04ffd64 [CDFS_NEW] 0.4.8-dev-91-g e4da7ecc50b59b9f8283d84b3707fa69c595a57d [CDFS_NEW] 0.4.8-dev-90-g 7b19676e2b541983f1062ba1c563099284646010 [CDFS_NEW] 0.4.8-dev-89-g 3d4b8783fd0b9b8231a46e7b914447b86255e35b [CDFS_NEW] 0.4.8-dev-88-g 818025ecc8006c19ce6f6139b21294795f51bafd [CDFS_NEW] 0.4.8-dev-87-g 2639dd673636e4848a4fe33b9a4cd142efcc84f8 [CDFS_NEW] 0.4.8-dev-86-g 755bdb5d0b09e1df374f197c59639c0d78b86d6f [CDFS_NEW] 0.4.8-dev-85-g 3cbcb1badee213fdbadaa2db99086d21a8775fe8 [CDFS_NEW] and mute spam in opcode INSTEAD of picking: 0.4.8-dev-165-g 2284a457a36a9ce7e2b28bf38b6456ff0a6de471 [NTOSKRNL] oplock.c Fixup 0.4.8-dev-163-g d3d585395684b96df9782fe0af253f2c3e9cffc4 [NTOSKRNL] oplock.c Implement oplock-support 0.4.12-dev-232-g f488102c863c46763f36c837265a207dc59dadd5 [CDFS] was also left out for now I am aware, that the backport introduces white-space-glitches within CDFS_NEW. I decided to live with them in favor of better sync to master and newer releases.
2022-01-27 20:10:22 +00:00
if (StartingOffset >= Fcb->FileSize.QuadPart) {
[0.4.7][CDFS_NEW/NTOSKRNL/NDK] Switch from our old CDFS to MS-PL CDFS_NEW The main motivation to switch to that newer driver is, that our old one simply can not read all isos. Especially complex ones made trouble and were only shown as empty in explorer. It is still possible to build and use the old driver when needed, only thing that needs to be done for that is to revert 0.4.8-dev-164-g ec6b3ecbe48ad51c366563196cc93a6ae74e8b69 Porting back the state up to 0.4.8-release-100-g8f947b5 implies: Fixing the following JIRA-IDs (or avoid introducing them): CORE-18029 "Mute noisy DPRINT 'SectionObject has ImageSection'" CORE-17405 "Fix a macro-copy-paste and shrink the binary size" CORE-15659 "Unable to build the gcc Release version in Windows using RosBE 2.1.6 (module cdfs fails)" CORE-14315 "CDFS_NEW assertion during first stage setup due to new CcPerformReadAhead" CORE-14128 "Avast! Free Antivirus 7.0 hangs the system when trying to detect a newly created virus" CORE-14067 "CDFS_NEW assertions and exceptions" CORE-14003 "Shutting down LiveCD asserts since introduction of MS PL CDFS_NEW" CORE-13184 "Restore ability to install from disk-image" by picking the following commits: 0.4.8-release-100-g 8f947b532221069d2f398e25a9c0775c34e21878 [NTOSKRNL] Mute noisy DPRINT 'SectionObject has ImageSection' CORE-18029 0.4.8-release-80-g eb1ea195888e17d026428dc6f406a1834c8702d8 [CDFS_NEW] == 0.4.15-dev-1456-g 889eab7 CORE-17405 0.4.8-release-62-g 8c07aad4a8c6469c7e4ba4c5e92e356a6548189a [CDFS_NEW/XDK] == 0.4.11-dev-39-g a2f9762 + 0.4.11-dev-40-g 6d7ec8c CORE-14067 0.4.8-release-3-g 5d976d04e876aac6990a8f997669711eca83227a [CDFS_NEW] == 0.4.12-dev-431-g bccad87f3ccf266be2179d1322e7a422aeb2f3b7 + 0.4.12-dev-432-g 3463b2db9fc08e5ebe2f5b146d3fe12248f632f3 CORE-15659 0.4.8-RC-3-g 51f9494d484bbe8232e375c2693851316d9d530f [CDFS_NEW] superseded later by the proper fix 0.4.8-release-62-g 8c07aad4a8c6469c7e4ba4c5e92e356a6548189a CORE-14067 0.4.8-dev-1069-g a5e89014dc943b2cbddb16fc4d92e13b7e5068e1 [CDFS_NEW] CORE-14315 0.4.8-dev-475-g a59d4674dec116a951392bb6d136bd11f0e143f2 [NTOSKRNL] io/iomgr/device.c (forgotten assert) CORE-14128 0.4.8-dev-221-g 9d67a24799e29e832933311a8e6ba21787e40f6a [CDFS_NEW] 0.4.8-dev-220-g 67a7e45e351b70356fee442c31cb5de14a0de37e [CDFS_NEW/DOC] 0.4.8-dev-219-g 6a3bbf24e012e4985b97ca4d79604c28fe0133d7 [CDFS_NEW] 0.4.8-dev-218-g ec26cde4a13b3889883d3e1b19f7878179c76df5 [CDFS_NEW] 0.4.8-dev-217-g bc2378a3560a384c47d2a4c83886531ad8f0af90 [CDFS_NEW] 0.4.8-dev-216-g 5429771b9936a6d8aee6ffb3860310673f467e93 [CDFS_NEW] 0.4.8-dev-215-g fd345482634d8ef4c64e5910ce4752ac0c7438cc [CDFS_NEW] Sync with MS-PL driver 0.4.8-dev-164-g ec6b3ecbe48ad51c366563196cc93a6ae74e8b69 [FILESYSTEMS] switch from CDFS to CDFS_NEW in CMakeLists.txt 0.4.8-dev-160-g 2b217e4ecf942126c4672f8d1c0a2fb55530d731 [NTOSKRNL] Mute spam CcSetReadAheadGranularity() 0.4.8-dev-159-g 64cb138a673fa02d76922963c680bfeb05f1d715 [NTOSKRNL] Mute spam CcPurgeCacheSection() 0.4.8-dev-150-g f723d230a0bc4b7b78ca125abecce137bb96bed6 [CDFS_NEW] 0.4.8-dev-133-g faee3753ea79c7e332c7a1b5eb74ca2c6614e23d [CDFS_NEW] CORE-14003 0.4.8-dev-132-g 1d777ffab5458495c04f250cf7ced379f306a7af [NTOSKRNL] iofunc.c CORE-14003 0.4.8-dev-131-g c3d5a3f2bdff97f03b802fe95dce9d0c9375e53e [NTOSKRNL] iofunc.c CORE-14003 0.4.8-dev-130-g 3b64f7f8fbbc64ada4dfdb6bdd1feff4bac10c1d [NTOSKRNL] ob/obref.c & co CORE-14003 0.4.8-dev-129-g 7eefe702949da68e49c4365d466c5373099c3b1f [NTOSKRNL] io/iomgr.c & co CORE-14003 0.4.8-dev-127-g 5f255827d3282b2dea1bc6d5ba77607550742ced [CDFS_NEW] 0.4.8-dev-126-g 1bef48796e4df655c71ddd92a00417dbe9e530ca [NTOSKRNL] just a comment, superseded later 0.4.8-dev-125-g cbf0430b56b600c29c1f615117574afcce1a9027 [CDFS_NEW] 0.4.8-dev-123-g f88fe43abd6a039f25cc08a8dfd65f9a56ef9da7 [NTOSKRNL] io/iomgr/device.c (forbidden DPRINT) 0.4.8-dev-122-g 6c733856258ebfac4b62ffb7733202dddb74a4be [CDFS_NEW] CORE-13184 0.4.8-dev-97-g 94298313c03c791d1ed472125ebf86f4258d2354 [CDFS_NEW] 0.4.8-dev-95-g e88eeb21af4b778f19b10e2d0e9f1c4361d6838d [CDFS_NEW/NTOSKRNL] CcWaitForCurrentLazyWriterActivity() stub return Success 0.4.8-dev-94-g 03d5be6437a1f2e4376ac117421133ebfdde799e [CDFS_NEW] 0.4.8-dev-93-g fa1c60db50d456fe39e315fbbe18bbee78af4105 [CDFS_NEW] 0.4.8-dev-92-g 8b2fd60829eeeb28fcafc0ef2511f7bed04ffd64 [CDFS_NEW] 0.4.8-dev-91-g e4da7ecc50b59b9f8283d84b3707fa69c595a57d [CDFS_NEW] 0.4.8-dev-90-g 7b19676e2b541983f1062ba1c563099284646010 [CDFS_NEW] 0.4.8-dev-89-g 3d4b8783fd0b9b8231a46e7b914447b86255e35b [CDFS_NEW] 0.4.8-dev-88-g 818025ecc8006c19ce6f6139b21294795f51bafd [CDFS_NEW] 0.4.8-dev-87-g 2639dd673636e4848a4fe33b9a4cd142efcc84f8 [CDFS_NEW] 0.4.8-dev-86-g 755bdb5d0b09e1df374f197c59639c0d78b86d6f [CDFS_NEW] 0.4.8-dev-85-g 3cbcb1badee213fdbadaa2db99086d21a8775fe8 [CDFS_NEW] and mute spam in opcode INSTEAD of picking: 0.4.8-dev-165-g 2284a457a36a9ce7e2b28bf38b6456ff0a6de471 [NTOSKRNL] oplock.c Fixup 0.4.8-dev-163-g d3d585395684b96df9782fe0af253f2c3e9cffc4 [NTOSKRNL] oplock.c Implement oplock-support 0.4.12-dev-232-g f488102c863c46763f36c837265a207dc59dadd5 [CDFS] was also left out for now I am aware, that the backport introduces white-space-glitches within CDFS_NEW. I decided to live with them in favor of better sync to master and newer releases.
2022-01-27 20:10:22 +00:00
try_return( Status = STATUS_END_OF_FILE );
}
[0.4.7][CDFS_NEW/NTOSKRNL/NDK] Switch from our old CDFS to MS-PL CDFS_NEW The main motivation to switch to that newer driver is, that our old one simply can not read all isos. Especially complex ones made trouble and were only shown as empty in explorer. It is still possible to build and use the old driver when needed, only thing that needs to be done for that is to revert 0.4.8-dev-164-g ec6b3ecbe48ad51c366563196cc93a6ae74e8b69 Porting back the state up to 0.4.8-release-100-g8f947b5 implies: Fixing the following JIRA-IDs (or avoid introducing them): CORE-18029 "Mute noisy DPRINT 'SectionObject has ImageSection'" CORE-17405 "Fix a macro-copy-paste and shrink the binary size" CORE-15659 "Unable to build the gcc Release version in Windows using RosBE 2.1.6 (module cdfs fails)" CORE-14315 "CDFS_NEW assertion during first stage setup due to new CcPerformReadAhead" CORE-14128 "Avast! Free Antivirus 7.0 hangs the system when trying to detect a newly created virus" CORE-14067 "CDFS_NEW assertions and exceptions" CORE-14003 "Shutting down LiveCD asserts since introduction of MS PL CDFS_NEW" CORE-13184 "Restore ability to install from disk-image" by picking the following commits: 0.4.8-release-100-g 8f947b532221069d2f398e25a9c0775c34e21878 [NTOSKRNL] Mute noisy DPRINT 'SectionObject has ImageSection' CORE-18029 0.4.8-release-80-g eb1ea195888e17d026428dc6f406a1834c8702d8 [CDFS_NEW] == 0.4.15-dev-1456-g 889eab7 CORE-17405 0.4.8-release-62-g 8c07aad4a8c6469c7e4ba4c5e92e356a6548189a [CDFS_NEW/XDK] == 0.4.11-dev-39-g a2f9762 + 0.4.11-dev-40-g 6d7ec8c CORE-14067 0.4.8-release-3-g 5d976d04e876aac6990a8f997669711eca83227a [CDFS_NEW] == 0.4.12-dev-431-g bccad87f3ccf266be2179d1322e7a422aeb2f3b7 + 0.4.12-dev-432-g 3463b2db9fc08e5ebe2f5b146d3fe12248f632f3 CORE-15659 0.4.8-RC-3-g 51f9494d484bbe8232e375c2693851316d9d530f [CDFS_NEW] superseded later by the proper fix 0.4.8-release-62-g 8c07aad4a8c6469c7e4ba4c5e92e356a6548189a CORE-14067 0.4.8-dev-1069-g a5e89014dc943b2cbddb16fc4d92e13b7e5068e1 [CDFS_NEW] CORE-14315 0.4.8-dev-475-g a59d4674dec116a951392bb6d136bd11f0e143f2 [NTOSKRNL] io/iomgr/device.c (forgotten assert) CORE-14128 0.4.8-dev-221-g 9d67a24799e29e832933311a8e6ba21787e40f6a [CDFS_NEW] 0.4.8-dev-220-g 67a7e45e351b70356fee442c31cb5de14a0de37e [CDFS_NEW/DOC] 0.4.8-dev-219-g 6a3bbf24e012e4985b97ca4d79604c28fe0133d7 [CDFS_NEW] 0.4.8-dev-218-g ec26cde4a13b3889883d3e1b19f7878179c76df5 [CDFS_NEW] 0.4.8-dev-217-g bc2378a3560a384c47d2a4c83886531ad8f0af90 [CDFS_NEW] 0.4.8-dev-216-g 5429771b9936a6d8aee6ffb3860310673f467e93 [CDFS_NEW] 0.4.8-dev-215-g fd345482634d8ef4c64e5910ce4752ac0c7438cc [CDFS_NEW] Sync with MS-PL driver 0.4.8-dev-164-g ec6b3ecbe48ad51c366563196cc93a6ae74e8b69 [FILESYSTEMS] switch from CDFS to CDFS_NEW in CMakeLists.txt 0.4.8-dev-160-g 2b217e4ecf942126c4672f8d1c0a2fb55530d731 [NTOSKRNL] Mute spam CcSetReadAheadGranularity() 0.4.8-dev-159-g 64cb138a673fa02d76922963c680bfeb05f1d715 [NTOSKRNL] Mute spam CcPurgeCacheSection() 0.4.8-dev-150-g f723d230a0bc4b7b78ca125abecce137bb96bed6 [CDFS_NEW] 0.4.8-dev-133-g faee3753ea79c7e332c7a1b5eb74ca2c6614e23d [CDFS_NEW] CORE-14003 0.4.8-dev-132-g 1d777ffab5458495c04f250cf7ced379f306a7af [NTOSKRNL] iofunc.c CORE-14003 0.4.8-dev-131-g c3d5a3f2bdff97f03b802fe95dce9d0c9375e53e [NTOSKRNL] iofunc.c CORE-14003 0.4.8-dev-130-g 3b64f7f8fbbc64ada4dfdb6bdd1feff4bac10c1d [NTOSKRNL] ob/obref.c & co CORE-14003 0.4.8-dev-129-g 7eefe702949da68e49c4365d466c5373099c3b1f [NTOSKRNL] io/iomgr.c & co CORE-14003 0.4.8-dev-127-g 5f255827d3282b2dea1bc6d5ba77607550742ced [CDFS_NEW] 0.4.8-dev-126-g 1bef48796e4df655c71ddd92a00417dbe9e530ca [NTOSKRNL] just a comment, superseded later 0.4.8-dev-125-g cbf0430b56b600c29c1f615117574afcce1a9027 [CDFS_NEW] 0.4.8-dev-123-g f88fe43abd6a039f25cc08a8dfd65f9a56ef9da7 [NTOSKRNL] io/iomgr/device.c (forbidden DPRINT) 0.4.8-dev-122-g 6c733856258ebfac4b62ffb7733202dddb74a4be [CDFS_NEW] CORE-13184 0.4.8-dev-97-g 94298313c03c791d1ed472125ebf86f4258d2354 [CDFS_NEW] 0.4.8-dev-95-g e88eeb21af4b778f19b10e2d0e9f1c4361d6838d [CDFS_NEW/NTOSKRNL] CcWaitForCurrentLazyWriterActivity() stub return Success 0.4.8-dev-94-g 03d5be6437a1f2e4376ac117421133ebfdde799e [CDFS_NEW] 0.4.8-dev-93-g fa1c60db50d456fe39e315fbbe18bbee78af4105 [CDFS_NEW] 0.4.8-dev-92-g 8b2fd60829eeeb28fcafc0ef2511f7bed04ffd64 [CDFS_NEW] 0.4.8-dev-91-g e4da7ecc50b59b9f8283d84b3707fa69c595a57d [CDFS_NEW] 0.4.8-dev-90-g 7b19676e2b541983f1062ba1c563099284646010 [CDFS_NEW] 0.4.8-dev-89-g 3d4b8783fd0b9b8231a46e7b914447b86255e35b [CDFS_NEW] 0.4.8-dev-88-g 818025ecc8006c19ce6f6139b21294795f51bafd [CDFS_NEW] 0.4.8-dev-87-g 2639dd673636e4848a4fe33b9a4cd142efcc84f8 [CDFS_NEW] 0.4.8-dev-86-g 755bdb5d0b09e1df374f197c59639c0d78b86d6f [CDFS_NEW] 0.4.8-dev-85-g 3cbcb1badee213fdbadaa2db99086d21a8775fe8 [CDFS_NEW] and mute spam in opcode INSTEAD of picking: 0.4.8-dev-165-g 2284a457a36a9ce7e2b28bf38b6456ff0a6de471 [NTOSKRNL] oplock.c Fixup 0.4.8-dev-163-g d3d585395684b96df9782fe0af253f2c3e9cffc4 [NTOSKRNL] oplock.c Implement oplock-support 0.4.12-dev-232-g f488102c863c46763f36c837265a207dc59dadd5 [CDFS] was also left out for now I am aware, that the backport introduces white-space-glitches within CDFS_NEW. I decided to live with them in favor of better sync to master and newer releases.
2022-01-27 20:10:22 +00:00
//
// Truncate the read if it extends beyond the end of the file.
//
if (ByteRange > Fcb->FileSize.QuadPart) {
ByteCount = (ULONG) (Fcb->FileSize.QuadPart - StartingOffset);
ByteRange = Fcb->FileSize.QuadPart;
}
}
//
// Handle the non-cached read first.
//
if (NonCachedIo) {
//
// If we have an unaligned transfer then post this request if
// we can't wait. Unaligned means that the starting offset
// is not on a sector boundary or the read is not integral
// sectors.
//
ReadByteCount = BlockAlign( Fcb->Vcb, ByteCount );
if (SectorOffset( StartingOffset ) ||
SectorOffset( ReadByteCount ) ||
(ReadByteCount > OriginalByteCount)) {
if (!Wait) {
CdRaiseStatus( IrpContext, STATUS_CANT_WAIT );
}
//
// Make sure we don't overwrite the buffer.
//
ReadByteCount = ByteCount;
}
//
// Initialize the IoContext for the read.
// If there is a context pointer, we need to make sure it was
// allocated and not a stale stack pointer.
//
if (IrpContext->IoContext == NULL ||
!FlagOn( IrpContext->Flags, IRP_CONTEXT_FLAG_ALLOC_IO )) {
//
// If we can wait, use the context on the stack. Otherwise
// we need to allocate one.
//
if (Wait) {
IrpContext->IoContext = &LocalIoContext;
ClearFlag( IrpContext->Flags, IRP_CONTEXT_FLAG_ALLOC_IO );
} else {
IrpContext->IoContext = CdAllocateIoContext();
SetFlag( IrpContext->Flags, IRP_CONTEXT_FLAG_ALLOC_IO );
}
}
RtlZeroMemory( IrpContext->IoContext, sizeof( CD_IO_CONTEXT ));
//
// Store whether we allocated this context structure in the structure
// itself.
//
IrpContext->IoContext->AllocatedContext =
BooleanFlagOn( IrpContext->Flags, IRP_CONTEXT_FLAG_ALLOC_IO );
if (Wait) {
KeInitializeEvent( &IrpContext->IoContext->SyncEvent,
NotificationEvent,
FALSE );
} else {
IrpContext->IoContext->ResourceThreadId = ExGetCurrentResourceThread();
IrpContext->IoContext->Resource = Fcb->Resource;
IrpContext->IoContext->RequestedByteCount = ByteCount;
}
Irp->IoStatus.Information = ReadByteCount;
//
// Call one of the NonCacheIo routines to perform the actual
// read.
//
if (FlagOn( Fcb->FcbState, FCB_STATE_RAWSECTOR_MASK )) {
Status = CdNonCachedXARead( IrpContext, Fcb, StartingOffset, ReadByteCount );
} else {
Status = CdNonCachedRead( IrpContext, Fcb, StartingOffset, ReadByteCount );
}
//
// Don't complete this request now if STATUS_PENDING was returned.
//
if (Status == STATUS_PENDING) {
Irp = NULL;
ReleaseFile = FALSE;
//
// Test is we should zero part of the buffer or update the
// synchronous file position.
//
} else {
//
// Convert any unknown error code to IO_ERROR.
//
if (!NT_SUCCESS( Status )) {
//
// Set the information field to zero.
//
Irp->IoStatus.Information = 0;
//
// Raise if this is a user induced error.
//
if (IoIsErrorUserInduced( Status )) {
CdRaiseStatus( IrpContext, Status );
}
Status = FsRtlNormalizeNtstatus( Status, STATUS_UNEXPECTED_IO_ERROR );
//
// Check if there is any portion of the user's buffer to zero.
//
} else if (ReadByteCount != ByteCount) {
CdMapUserBuffer( IrpContext, &UserBuffer);
SafeZeroMemory( IrpContext,
Add2Ptr( UserBuffer,
ByteCount,
PVOID ),
ReadByteCount - ByteCount );
Irp->IoStatus.Information = ByteCount;
}
//
// Update the file position if this is a synchronous request.
//
if (SynchronousIo && !PagingIo && NT_SUCCESS( Status )) {
IrpSp->FileObject->CurrentByteOffset.QuadPart = ByteRange;
}
}
try_return( NOTHING );
}
//
// Handle the cached case. Start by initializing the private
// cache map.
//
if (IrpSp->FileObject->PrivateCacheMap == NULL) {
//
// Now initialize the cache map.
//
CcInitializeCacheMap( IrpSp->FileObject,
(PCC_FILE_SIZES) &Fcb->AllocationSize,
FALSE,
&CdData.CacheManagerCallbacks,
Fcb );
CcSetReadAheadGranularity( IrpSp->FileObject, READ_AHEAD_GRANULARITY );
}
//
// Read from the cache if this is not an Mdl read.
//
if (!FlagOn( IrpContext->MinorFunction, IRP_MN_MDL )) {
//
// If we are in the Fsp now because we had to wait earlier,
// we must map the user buffer, otherwise we can use the
// user's buffer directly.
//
CdMapUserBuffer( IrpContext, &SystemBuffer );
//
// Now try to do the copy.
//
if (!CcCopyRead( IrpSp->FileObject,
(PLARGE_INTEGER) &StartingOffset,
ByteCount,
Wait,
SystemBuffer,
&Irp->IoStatus )) {
try_return( Status = STATUS_CANT_WAIT );
}
//
// If the call didn't succeed, raise the error status
//
if (!NT_SUCCESS( Irp->IoStatus.Status )) {
CdNormalizeAndRaiseStatus( IrpContext, Irp->IoStatus.Status );
}
//
// Otherwise perform the MdlRead operation.
//
} else {
CcMdlRead( IrpSp->FileObject,
(PLARGE_INTEGER) &StartingOffset,
ByteCount,
&Irp->MdlAddress,
&Irp->IoStatus );
Status = Irp->IoStatus.Status;
}
//
// Update the current file position in the user file object.
//
if (SynchronousIo && !PagingIo && NT_SUCCESS( Status )) {
IrpSp->FileObject->CurrentByteOffset.QuadPart = ByteRange;
}
try_exit: NOTHING;
[0.4.7][CDFS_NEW/NTOSKRNL/NDK] Switch from our old CDFS to MS-PL CDFS_NEW The main motivation to switch to that newer driver is, that our old one simply can not read all isos. Especially complex ones made trouble and were only shown as empty in explorer. It is still possible to build and use the old driver when needed, only thing that needs to be done for that is to revert 0.4.8-dev-164-g ec6b3ecbe48ad51c366563196cc93a6ae74e8b69 Porting back the state up to 0.4.8-release-100-g8f947b5 implies: Fixing the following JIRA-IDs (or avoid introducing them): CORE-18029 "Mute noisy DPRINT 'SectionObject has ImageSection'" CORE-17405 "Fix a macro-copy-paste and shrink the binary size" CORE-15659 "Unable to build the gcc Release version in Windows using RosBE 2.1.6 (module cdfs fails)" CORE-14315 "CDFS_NEW assertion during first stage setup due to new CcPerformReadAhead" CORE-14128 "Avast! Free Antivirus 7.0 hangs the system when trying to detect a newly created virus" CORE-14067 "CDFS_NEW assertions and exceptions" CORE-14003 "Shutting down LiveCD asserts since introduction of MS PL CDFS_NEW" CORE-13184 "Restore ability to install from disk-image" by picking the following commits: 0.4.8-release-100-g 8f947b532221069d2f398e25a9c0775c34e21878 [NTOSKRNL] Mute noisy DPRINT 'SectionObject has ImageSection' CORE-18029 0.4.8-release-80-g eb1ea195888e17d026428dc6f406a1834c8702d8 [CDFS_NEW] == 0.4.15-dev-1456-g 889eab7 CORE-17405 0.4.8-release-62-g 8c07aad4a8c6469c7e4ba4c5e92e356a6548189a [CDFS_NEW/XDK] == 0.4.11-dev-39-g a2f9762 + 0.4.11-dev-40-g 6d7ec8c CORE-14067 0.4.8-release-3-g 5d976d04e876aac6990a8f997669711eca83227a [CDFS_NEW] == 0.4.12-dev-431-g bccad87f3ccf266be2179d1322e7a422aeb2f3b7 + 0.4.12-dev-432-g 3463b2db9fc08e5ebe2f5b146d3fe12248f632f3 CORE-15659 0.4.8-RC-3-g 51f9494d484bbe8232e375c2693851316d9d530f [CDFS_NEW] superseded later by the proper fix 0.4.8-release-62-g 8c07aad4a8c6469c7e4ba4c5e92e356a6548189a CORE-14067 0.4.8-dev-1069-g a5e89014dc943b2cbddb16fc4d92e13b7e5068e1 [CDFS_NEW] CORE-14315 0.4.8-dev-475-g a59d4674dec116a951392bb6d136bd11f0e143f2 [NTOSKRNL] io/iomgr/device.c (forgotten assert) CORE-14128 0.4.8-dev-221-g 9d67a24799e29e832933311a8e6ba21787e40f6a [CDFS_NEW] 0.4.8-dev-220-g 67a7e45e351b70356fee442c31cb5de14a0de37e [CDFS_NEW/DOC] 0.4.8-dev-219-g 6a3bbf24e012e4985b97ca4d79604c28fe0133d7 [CDFS_NEW] 0.4.8-dev-218-g ec26cde4a13b3889883d3e1b19f7878179c76df5 [CDFS_NEW] 0.4.8-dev-217-g bc2378a3560a384c47d2a4c83886531ad8f0af90 [CDFS_NEW] 0.4.8-dev-216-g 5429771b9936a6d8aee6ffb3860310673f467e93 [CDFS_NEW] 0.4.8-dev-215-g fd345482634d8ef4c64e5910ce4752ac0c7438cc [CDFS_NEW] Sync with MS-PL driver 0.4.8-dev-164-g ec6b3ecbe48ad51c366563196cc93a6ae74e8b69 [FILESYSTEMS] switch from CDFS to CDFS_NEW in CMakeLists.txt 0.4.8-dev-160-g 2b217e4ecf942126c4672f8d1c0a2fb55530d731 [NTOSKRNL] Mute spam CcSetReadAheadGranularity() 0.4.8-dev-159-g 64cb138a673fa02d76922963c680bfeb05f1d715 [NTOSKRNL] Mute spam CcPurgeCacheSection() 0.4.8-dev-150-g f723d230a0bc4b7b78ca125abecce137bb96bed6 [CDFS_NEW] 0.4.8-dev-133-g faee3753ea79c7e332c7a1b5eb74ca2c6614e23d [CDFS_NEW] CORE-14003 0.4.8-dev-132-g 1d777ffab5458495c04f250cf7ced379f306a7af [NTOSKRNL] iofunc.c CORE-14003 0.4.8-dev-131-g c3d5a3f2bdff97f03b802fe95dce9d0c9375e53e [NTOSKRNL] iofunc.c CORE-14003 0.4.8-dev-130-g 3b64f7f8fbbc64ada4dfdb6bdd1feff4bac10c1d [NTOSKRNL] ob/obref.c & co CORE-14003 0.4.8-dev-129-g 7eefe702949da68e49c4365d466c5373099c3b1f [NTOSKRNL] io/iomgr.c & co CORE-14003 0.4.8-dev-127-g 5f255827d3282b2dea1bc6d5ba77607550742ced [CDFS_NEW] 0.4.8-dev-126-g 1bef48796e4df655c71ddd92a00417dbe9e530ca [NTOSKRNL] just a comment, superseded later 0.4.8-dev-125-g cbf0430b56b600c29c1f615117574afcce1a9027 [CDFS_NEW] 0.4.8-dev-123-g f88fe43abd6a039f25cc08a8dfd65f9a56ef9da7 [NTOSKRNL] io/iomgr/device.c (forbidden DPRINT) 0.4.8-dev-122-g 6c733856258ebfac4b62ffb7733202dddb74a4be [CDFS_NEW] CORE-13184 0.4.8-dev-97-g 94298313c03c791d1ed472125ebf86f4258d2354 [CDFS_NEW] 0.4.8-dev-95-g e88eeb21af4b778f19b10e2d0e9f1c4361d6838d [CDFS_NEW/NTOSKRNL] CcWaitForCurrentLazyWriterActivity() stub return Success 0.4.8-dev-94-g 03d5be6437a1f2e4376ac117421133ebfdde799e [CDFS_NEW] 0.4.8-dev-93-g fa1c60db50d456fe39e315fbbe18bbee78af4105 [CDFS_NEW] 0.4.8-dev-92-g 8b2fd60829eeeb28fcafc0ef2511f7bed04ffd64 [CDFS_NEW] 0.4.8-dev-91-g e4da7ecc50b59b9f8283d84b3707fa69c595a57d [CDFS_NEW] 0.4.8-dev-90-g 7b19676e2b541983f1062ba1c563099284646010 [CDFS_NEW] 0.4.8-dev-89-g 3d4b8783fd0b9b8231a46e7b914447b86255e35b [CDFS_NEW] 0.4.8-dev-88-g 818025ecc8006c19ce6f6139b21294795f51bafd [CDFS_NEW] 0.4.8-dev-87-g 2639dd673636e4848a4fe33b9a4cd142efcc84f8 [CDFS_NEW] 0.4.8-dev-86-g 755bdb5d0b09e1df374f197c59639c0d78b86d6f [CDFS_NEW] 0.4.8-dev-85-g 3cbcb1badee213fdbadaa2db99086d21a8775fe8 [CDFS_NEW] and mute spam in opcode INSTEAD of picking: 0.4.8-dev-165-g 2284a457a36a9ce7e2b28bf38b6456ff0a6de471 [NTOSKRNL] oplock.c Fixup 0.4.8-dev-163-g d3d585395684b96df9782fe0af253f2c3e9cffc4 [NTOSKRNL] oplock.c Implement oplock-support 0.4.12-dev-232-g f488102c863c46763f36c837265a207dc59dadd5 [CDFS] was also left out for now I am aware, that the backport introduces white-space-glitches within CDFS_NEW. I decided to live with them in favor of better sync to master and newer releases.
2022-01-27 20:10:22 +00:00
} _SEH2_FINALLY {
//
// Release the Fcb.
//
if (ReleaseFile) {
CdReleaseFile( IrpContext, Fcb );
}
[0.4.7][CDFS_NEW/NTOSKRNL/NDK] Switch from our old CDFS to MS-PL CDFS_NEW The main motivation to switch to that newer driver is, that our old one simply can not read all isos. Especially complex ones made trouble and were only shown as empty in explorer. It is still possible to build and use the old driver when needed, only thing that needs to be done for that is to revert 0.4.8-dev-164-g ec6b3ecbe48ad51c366563196cc93a6ae74e8b69 Porting back the state up to 0.4.8-release-100-g8f947b5 implies: Fixing the following JIRA-IDs (or avoid introducing them): CORE-18029 "Mute noisy DPRINT 'SectionObject has ImageSection'" CORE-17405 "Fix a macro-copy-paste and shrink the binary size" CORE-15659 "Unable to build the gcc Release version in Windows using RosBE 2.1.6 (module cdfs fails)" CORE-14315 "CDFS_NEW assertion during first stage setup due to new CcPerformReadAhead" CORE-14128 "Avast! Free Antivirus 7.0 hangs the system when trying to detect a newly created virus" CORE-14067 "CDFS_NEW assertions and exceptions" CORE-14003 "Shutting down LiveCD asserts since introduction of MS PL CDFS_NEW" CORE-13184 "Restore ability to install from disk-image" by picking the following commits: 0.4.8-release-100-g 8f947b532221069d2f398e25a9c0775c34e21878 [NTOSKRNL] Mute noisy DPRINT 'SectionObject has ImageSection' CORE-18029 0.4.8-release-80-g eb1ea195888e17d026428dc6f406a1834c8702d8 [CDFS_NEW] == 0.4.15-dev-1456-g 889eab7 CORE-17405 0.4.8-release-62-g 8c07aad4a8c6469c7e4ba4c5e92e356a6548189a [CDFS_NEW/XDK] == 0.4.11-dev-39-g a2f9762 + 0.4.11-dev-40-g 6d7ec8c CORE-14067 0.4.8-release-3-g 5d976d04e876aac6990a8f997669711eca83227a [CDFS_NEW] == 0.4.12-dev-431-g bccad87f3ccf266be2179d1322e7a422aeb2f3b7 + 0.4.12-dev-432-g 3463b2db9fc08e5ebe2f5b146d3fe12248f632f3 CORE-15659 0.4.8-RC-3-g 51f9494d484bbe8232e375c2693851316d9d530f [CDFS_NEW] superseded later by the proper fix 0.4.8-release-62-g 8c07aad4a8c6469c7e4ba4c5e92e356a6548189a CORE-14067 0.4.8-dev-1069-g a5e89014dc943b2cbddb16fc4d92e13b7e5068e1 [CDFS_NEW] CORE-14315 0.4.8-dev-475-g a59d4674dec116a951392bb6d136bd11f0e143f2 [NTOSKRNL] io/iomgr/device.c (forgotten assert) CORE-14128 0.4.8-dev-221-g 9d67a24799e29e832933311a8e6ba21787e40f6a [CDFS_NEW] 0.4.8-dev-220-g 67a7e45e351b70356fee442c31cb5de14a0de37e [CDFS_NEW/DOC] 0.4.8-dev-219-g 6a3bbf24e012e4985b97ca4d79604c28fe0133d7 [CDFS_NEW] 0.4.8-dev-218-g ec26cde4a13b3889883d3e1b19f7878179c76df5 [CDFS_NEW] 0.4.8-dev-217-g bc2378a3560a384c47d2a4c83886531ad8f0af90 [CDFS_NEW] 0.4.8-dev-216-g 5429771b9936a6d8aee6ffb3860310673f467e93 [CDFS_NEW] 0.4.8-dev-215-g fd345482634d8ef4c64e5910ce4752ac0c7438cc [CDFS_NEW] Sync with MS-PL driver 0.4.8-dev-164-g ec6b3ecbe48ad51c366563196cc93a6ae74e8b69 [FILESYSTEMS] switch from CDFS to CDFS_NEW in CMakeLists.txt 0.4.8-dev-160-g 2b217e4ecf942126c4672f8d1c0a2fb55530d731 [NTOSKRNL] Mute spam CcSetReadAheadGranularity() 0.4.8-dev-159-g 64cb138a673fa02d76922963c680bfeb05f1d715 [NTOSKRNL] Mute spam CcPurgeCacheSection() 0.4.8-dev-150-g f723d230a0bc4b7b78ca125abecce137bb96bed6 [CDFS_NEW] 0.4.8-dev-133-g faee3753ea79c7e332c7a1b5eb74ca2c6614e23d [CDFS_NEW] CORE-14003 0.4.8-dev-132-g 1d777ffab5458495c04f250cf7ced379f306a7af [NTOSKRNL] iofunc.c CORE-14003 0.4.8-dev-131-g c3d5a3f2bdff97f03b802fe95dce9d0c9375e53e [NTOSKRNL] iofunc.c CORE-14003 0.4.8-dev-130-g 3b64f7f8fbbc64ada4dfdb6bdd1feff4bac10c1d [NTOSKRNL] ob/obref.c & co CORE-14003 0.4.8-dev-129-g 7eefe702949da68e49c4365d466c5373099c3b1f [NTOSKRNL] io/iomgr.c & co CORE-14003 0.4.8-dev-127-g 5f255827d3282b2dea1bc6d5ba77607550742ced [CDFS_NEW] 0.4.8-dev-126-g 1bef48796e4df655c71ddd92a00417dbe9e530ca [NTOSKRNL] just a comment, superseded later 0.4.8-dev-125-g cbf0430b56b600c29c1f615117574afcce1a9027 [CDFS_NEW] 0.4.8-dev-123-g f88fe43abd6a039f25cc08a8dfd65f9a56ef9da7 [NTOSKRNL] io/iomgr/device.c (forbidden DPRINT) 0.4.8-dev-122-g 6c733856258ebfac4b62ffb7733202dddb74a4be [CDFS_NEW] CORE-13184 0.4.8-dev-97-g 94298313c03c791d1ed472125ebf86f4258d2354 [CDFS_NEW] 0.4.8-dev-95-g e88eeb21af4b778f19b10e2d0e9f1c4361d6838d [CDFS_NEW/NTOSKRNL] CcWaitForCurrentLazyWriterActivity() stub return Success 0.4.8-dev-94-g 03d5be6437a1f2e4376ac117421133ebfdde799e [CDFS_NEW] 0.4.8-dev-93-g fa1c60db50d456fe39e315fbbe18bbee78af4105 [CDFS_NEW] 0.4.8-dev-92-g 8b2fd60829eeeb28fcafc0ef2511f7bed04ffd64 [CDFS_NEW] 0.4.8-dev-91-g e4da7ecc50b59b9f8283d84b3707fa69c595a57d [CDFS_NEW] 0.4.8-dev-90-g 7b19676e2b541983f1062ba1c563099284646010 [CDFS_NEW] 0.4.8-dev-89-g 3d4b8783fd0b9b8231a46e7b914447b86255e35b [CDFS_NEW] 0.4.8-dev-88-g 818025ecc8006c19ce6f6139b21294795f51bafd [CDFS_NEW] 0.4.8-dev-87-g 2639dd673636e4848a4fe33b9a4cd142efcc84f8 [CDFS_NEW] 0.4.8-dev-86-g 755bdb5d0b09e1df374f197c59639c0d78b86d6f [CDFS_NEW] 0.4.8-dev-85-g 3cbcb1badee213fdbadaa2db99086d21a8775fe8 [CDFS_NEW] and mute spam in opcode INSTEAD of picking: 0.4.8-dev-165-g 2284a457a36a9ce7e2b28bf38b6456ff0a6de471 [NTOSKRNL] oplock.c Fixup 0.4.8-dev-163-g d3d585395684b96df9782fe0af253f2c3e9cffc4 [NTOSKRNL] oplock.c Implement oplock-support 0.4.12-dev-232-g f488102c863c46763f36c837265a207dc59dadd5 [CDFS] was also left out for now I am aware, that the backport introduces white-space-glitches within CDFS_NEW. I decided to live with them in favor of better sync to master and newer releases.
2022-01-27 20:10:22 +00:00
} _SEH2_END;
//
// Post the request if we got CANT_WAIT.
//
if (Status == STATUS_CANT_WAIT) {
Status = CdFsdPostRequest( IrpContext, Irp );
//
// Otherwise complete the request.
//
} else {
CdCompleteRequest( IrpContext, Irp, Status );
}
return Status;
}
[0.4.7][CDFS_NEW/NTOSKRNL/NDK] Switch from our old CDFS to MS-PL CDFS_NEW The main motivation to switch to that newer driver is, that our old one simply can not read all isos. Especially complex ones made trouble and were only shown as empty in explorer. It is still possible to build and use the old driver when needed, only thing that needs to be done for that is to revert 0.4.8-dev-164-g ec6b3ecbe48ad51c366563196cc93a6ae74e8b69 Porting back the state up to 0.4.8-release-100-g8f947b5 implies: Fixing the following JIRA-IDs (or avoid introducing them): CORE-18029 "Mute noisy DPRINT 'SectionObject has ImageSection'" CORE-17405 "Fix a macro-copy-paste and shrink the binary size" CORE-15659 "Unable to build the gcc Release version in Windows using RosBE 2.1.6 (module cdfs fails)" CORE-14315 "CDFS_NEW assertion during first stage setup due to new CcPerformReadAhead" CORE-14128 "Avast! Free Antivirus 7.0 hangs the system when trying to detect a newly created virus" CORE-14067 "CDFS_NEW assertions and exceptions" CORE-14003 "Shutting down LiveCD asserts since introduction of MS PL CDFS_NEW" CORE-13184 "Restore ability to install from disk-image" by picking the following commits: 0.4.8-release-100-g 8f947b532221069d2f398e25a9c0775c34e21878 [NTOSKRNL] Mute noisy DPRINT 'SectionObject has ImageSection' CORE-18029 0.4.8-release-80-g eb1ea195888e17d026428dc6f406a1834c8702d8 [CDFS_NEW] == 0.4.15-dev-1456-g 889eab7 CORE-17405 0.4.8-release-62-g 8c07aad4a8c6469c7e4ba4c5e92e356a6548189a [CDFS_NEW/XDK] == 0.4.11-dev-39-g a2f9762 + 0.4.11-dev-40-g 6d7ec8c CORE-14067 0.4.8-release-3-g 5d976d04e876aac6990a8f997669711eca83227a [CDFS_NEW] == 0.4.12-dev-431-g bccad87f3ccf266be2179d1322e7a422aeb2f3b7 + 0.4.12-dev-432-g 3463b2db9fc08e5ebe2f5b146d3fe12248f632f3 CORE-15659 0.4.8-RC-3-g 51f9494d484bbe8232e375c2693851316d9d530f [CDFS_NEW] superseded later by the proper fix 0.4.8-release-62-g 8c07aad4a8c6469c7e4ba4c5e92e356a6548189a CORE-14067 0.4.8-dev-1069-g a5e89014dc943b2cbddb16fc4d92e13b7e5068e1 [CDFS_NEW] CORE-14315 0.4.8-dev-475-g a59d4674dec116a951392bb6d136bd11f0e143f2 [NTOSKRNL] io/iomgr/device.c (forgotten assert) CORE-14128 0.4.8-dev-221-g 9d67a24799e29e832933311a8e6ba21787e40f6a [CDFS_NEW] 0.4.8-dev-220-g 67a7e45e351b70356fee442c31cb5de14a0de37e [CDFS_NEW/DOC] 0.4.8-dev-219-g 6a3bbf24e012e4985b97ca4d79604c28fe0133d7 [CDFS_NEW] 0.4.8-dev-218-g ec26cde4a13b3889883d3e1b19f7878179c76df5 [CDFS_NEW] 0.4.8-dev-217-g bc2378a3560a384c47d2a4c83886531ad8f0af90 [CDFS_NEW] 0.4.8-dev-216-g 5429771b9936a6d8aee6ffb3860310673f467e93 [CDFS_NEW] 0.4.8-dev-215-g fd345482634d8ef4c64e5910ce4752ac0c7438cc [CDFS_NEW] Sync with MS-PL driver 0.4.8-dev-164-g ec6b3ecbe48ad51c366563196cc93a6ae74e8b69 [FILESYSTEMS] switch from CDFS to CDFS_NEW in CMakeLists.txt 0.4.8-dev-160-g 2b217e4ecf942126c4672f8d1c0a2fb55530d731 [NTOSKRNL] Mute spam CcSetReadAheadGranularity() 0.4.8-dev-159-g 64cb138a673fa02d76922963c680bfeb05f1d715 [NTOSKRNL] Mute spam CcPurgeCacheSection() 0.4.8-dev-150-g f723d230a0bc4b7b78ca125abecce137bb96bed6 [CDFS_NEW] 0.4.8-dev-133-g faee3753ea79c7e332c7a1b5eb74ca2c6614e23d [CDFS_NEW] CORE-14003 0.4.8-dev-132-g 1d777ffab5458495c04f250cf7ced379f306a7af [NTOSKRNL] iofunc.c CORE-14003 0.4.8-dev-131-g c3d5a3f2bdff97f03b802fe95dce9d0c9375e53e [NTOSKRNL] iofunc.c CORE-14003 0.4.8-dev-130-g 3b64f7f8fbbc64ada4dfdb6bdd1feff4bac10c1d [NTOSKRNL] ob/obref.c & co CORE-14003 0.4.8-dev-129-g 7eefe702949da68e49c4365d466c5373099c3b1f [NTOSKRNL] io/iomgr.c & co CORE-14003 0.4.8-dev-127-g 5f255827d3282b2dea1bc6d5ba77607550742ced [CDFS_NEW] 0.4.8-dev-126-g 1bef48796e4df655c71ddd92a00417dbe9e530ca [NTOSKRNL] just a comment, superseded later 0.4.8-dev-125-g cbf0430b56b600c29c1f615117574afcce1a9027 [CDFS_NEW] 0.4.8-dev-123-g f88fe43abd6a039f25cc08a8dfd65f9a56ef9da7 [NTOSKRNL] io/iomgr/device.c (forbidden DPRINT) 0.4.8-dev-122-g 6c733856258ebfac4b62ffb7733202dddb74a4be [CDFS_NEW] CORE-13184 0.4.8-dev-97-g 94298313c03c791d1ed472125ebf86f4258d2354 [CDFS_NEW] 0.4.8-dev-95-g e88eeb21af4b778f19b10e2d0e9f1c4361d6838d [CDFS_NEW/NTOSKRNL] CcWaitForCurrentLazyWriterActivity() stub return Success 0.4.8-dev-94-g 03d5be6437a1f2e4376ac117421133ebfdde799e [CDFS_NEW] 0.4.8-dev-93-g fa1c60db50d456fe39e315fbbe18bbee78af4105 [CDFS_NEW] 0.4.8-dev-92-g 8b2fd60829eeeb28fcafc0ef2511f7bed04ffd64 [CDFS_NEW] 0.4.8-dev-91-g e4da7ecc50b59b9f8283d84b3707fa69c595a57d [CDFS_NEW] 0.4.8-dev-90-g 7b19676e2b541983f1062ba1c563099284646010 [CDFS_NEW] 0.4.8-dev-89-g 3d4b8783fd0b9b8231a46e7b914447b86255e35b [CDFS_NEW] 0.4.8-dev-88-g 818025ecc8006c19ce6f6139b21294795f51bafd [CDFS_NEW] 0.4.8-dev-87-g 2639dd673636e4848a4fe33b9a4cd142efcc84f8 [CDFS_NEW] 0.4.8-dev-86-g 755bdb5d0b09e1df374f197c59639c0d78b86d6f [CDFS_NEW] 0.4.8-dev-85-g 3cbcb1badee213fdbadaa2db99086d21a8775fe8 [CDFS_NEW] and mute spam in opcode INSTEAD of picking: 0.4.8-dev-165-g 2284a457a36a9ce7e2b28bf38b6456ff0a6de471 [NTOSKRNL] oplock.c Fixup 0.4.8-dev-163-g d3d585395684b96df9782fe0af253f2c3e9cffc4 [NTOSKRNL] oplock.c Implement oplock-support 0.4.12-dev-232-g f488102c863c46763f36c837265a207dc59dadd5 [CDFS] was also left out for now I am aware, that the backport introduces white-space-glitches within CDFS_NEW. I decided to live with them in favor of better sync to master and newer releases.
2022-01-27 20:10:22 +00:00