mirror of
https://github.com/reactos/reactos.git
synced 2025-08-05 16:02:56 +00:00
[NTOSKRNL] Misc fixes:
- Rename page file struct to MMPAGING_FILE - Increment page files count after current page file was put in the list
This commit is contained in:
parent
f106c297de
commit
02b0ca08e4
1 changed files with 10 additions and 8 deletions
|
@ -21,6 +21,7 @@
|
||||||
* FILE: ntoskrnl/mm/pagefile.c
|
* FILE: ntoskrnl/mm/pagefile.c
|
||||||
* PURPOSE: Paging file functions
|
* PURPOSE: Paging file functions
|
||||||
* PROGRAMMER: David Welch (welch@mcmail.com)
|
* PROGRAMMER: David Welch (welch@mcmail.com)
|
||||||
|
* Pierre Schweitzer
|
||||||
* UPDATE HISTORY:
|
* UPDATE HISTORY:
|
||||||
* Created 22/05/98
|
* Created 22/05/98
|
||||||
*/
|
*/
|
||||||
|
@ -38,7 +39,7 @@
|
||||||
|
|
||||||
/* TYPES *********************************************************************/
|
/* TYPES *********************************************************************/
|
||||||
|
|
||||||
typedef struct _PAGINGFILE
|
typedef struct _MMPAGING_FILE
|
||||||
{
|
{
|
||||||
PFILE_OBJECT FileObject;
|
PFILE_OBJECT FileObject;
|
||||||
HANDLE FileHandle;
|
HANDLE FileHandle;
|
||||||
|
@ -49,7 +50,7 @@ typedef struct _PAGINGFILE
|
||||||
PRTL_BITMAP AllocMap;
|
PRTL_BITMAP AllocMap;
|
||||||
KSPIN_LOCK AllocMapLock;
|
KSPIN_LOCK AllocMapLock;
|
||||||
}
|
}
|
||||||
PAGINGFILE, *PPAGINGFILE;
|
MMPAGING_FILE, *PMMPAGING_FILE;
|
||||||
|
|
||||||
/* GLOBALS *******************************************************************/
|
/* GLOBALS *******************************************************************/
|
||||||
|
|
||||||
|
@ -58,7 +59,7 @@ PAGINGFILE, *PPAGINGFILE;
|
||||||
#define MAX_PAGING_FILES (16)
|
#define MAX_PAGING_FILES (16)
|
||||||
|
|
||||||
/* List of paging files, both used and free */
|
/* List of paging files, both used and free */
|
||||||
static PPAGINGFILE MmPagingFile[MAX_PAGING_FILES];
|
static PMMPAGING_FILE MmPagingFile[MAX_PAGING_FILES];
|
||||||
|
|
||||||
/* Lock for examining the list of paging files */
|
/* Lock for examining the list of paging files */
|
||||||
static KSPIN_LOCK PagingFileListLock;
|
static KSPIN_LOCK PagingFileListLock;
|
||||||
|
@ -224,7 +225,7 @@ MiReadPageFile(
|
||||||
KEVENT Event;
|
KEVENT Event;
|
||||||
UCHAR MdlBase[sizeof(MDL) + sizeof(ULONG)];
|
UCHAR MdlBase[sizeof(MDL) + sizeof(ULONG)];
|
||||||
PMDL Mdl = (PMDL)MdlBase;
|
PMDL Mdl = (PMDL)MdlBase;
|
||||||
PPAGINGFILE PagingFile;
|
PMMPAGING_FILE PagingFile;
|
||||||
|
|
||||||
DPRINT("MiReadSwapFile\n");
|
DPRINT("MiReadSwapFile\n");
|
||||||
|
|
||||||
|
@ -289,7 +290,7 @@ MmInitPagingFile(VOID)
|
||||||
}
|
}
|
||||||
|
|
||||||
static ULONG
|
static ULONG
|
||||||
MiAllocPageFromPagingFile(PPAGINGFILE PagingFile)
|
MiAllocPageFromPagingFile(PMMPAGING_FILE PagingFile)
|
||||||
{
|
{
|
||||||
KIRQL oldIrql;
|
KIRQL oldIrql;
|
||||||
ULONG off;
|
ULONG off;
|
||||||
|
@ -308,7 +309,7 @@ MmFreeSwapPage(SWAPENTRY Entry)
|
||||||
ULONG i;
|
ULONG i;
|
||||||
ULONG_PTR off;
|
ULONG_PTR off;
|
||||||
KIRQL oldIrql;
|
KIRQL oldIrql;
|
||||||
PPAGINGFILE PagingFile;
|
PMMPAGING_FILE PagingFile;
|
||||||
|
|
||||||
i = FILE_FROM_ENTRY(Entry);
|
i = FILE_FROM_ENTRY(Entry);
|
||||||
off = OFFSET_FROM_ENTRY(Entry) - 1;
|
off = OFFSET_FROM_ENTRY(Entry) - 1;
|
||||||
|
@ -388,7 +389,7 @@ NtCreatePagingFile(IN PUNICODE_STRING FileName,
|
||||||
HANDLE FileHandle;
|
HANDLE FileHandle;
|
||||||
IO_STATUS_BLOCK IoStatus;
|
IO_STATUS_BLOCK IoStatus;
|
||||||
PFILE_OBJECT FileObject;
|
PFILE_OBJECT FileObject;
|
||||||
PPAGINGFILE PagingFile;
|
PMMPAGING_FILE PagingFile;
|
||||||
KIRQL oldIrql;
|
KIRQL oldIrql;
|
||||||
ULONG AllocMapSize;
|
ULONG AllocMapSize;
|
||||||
ULONG Count;
|
ULONG Count;
|
||||||
|
@ -662,8 +663,9 @@ NtCreatePagingFile(IN PUNICODE_STRING FileName,
|
||||||
RtlClearAllBits(PagingFile->AllocMap);
|
RtlClearAllBits(PagingFile->AllocMap);
|
||||||
|
|
||||||
KeAcquireSpinLock(&PagingFileListLock, &oldIrql);
|
KeAcquireSpinLock(&PagingFileListLock, &oldIrql);
|
||||||
MmNumberOfPagingFiles++;
|
ASSERT(MmPagingFile[MmNumberOfPagingFiles] == NULL);
|
||||||
MmPagingFile[MmNumberOfPagingFiles] = PagingFile;
|
MmPagingFile[MmNumberOfPagingFiles] = PagingFile;
|
||||||
|
MmNumberOfPagingFiles++;
|
||||||
MiFreeSwapPages = MiFreeSwapPages + PagingFile->FreePages;
|
MiFreeSwapPages = MiFreeSwapPages + PagingFile->FreePages;
|
||||||
KeReleaseSpinLock(&PagingFileListLock, oldIrql);
|
KeReleaseSpinLock(&PagingFileListLock, oldIrql);
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue