Pierre Schweitzer

[FASTFAT]

Implement statistics counting for non cached read/write operations.

[FASTFAT]

Implement statistics counting for create operations.

[FASTFAT]

Start implementing statistics support. So far, everything is just nulled.

These 0 can be properly queried with fsutil fsinfo statistics.

[FSUTIL]

Use saved last error, don't get it again

[FSUTIL]

Implement fsutil fsinfo statistics

Note that compared to w2k3 one, ours really supports FAT volumes (even though our FAT doesn't support it!).

[PSDK]

Define FSCTL_FILESYSTEM_GET_STATISTICS and its associated structures

[FASTFAT]

Don't allow temporary attribute to be set on a directory.

Even though our FastFAT totally ignores such attribute, this is illegal on Windows and makes SetFileAttribute fail, so do the same.

CORE-13495

[FASTFAT]

Notify in case of attributes/dates changes

[FASTFAT]

Misc fixes:

- Only set file attributes if they changed

- Fail to set attributes if directory attribute is asked for a file

- Perform file attributes setting before dates to allow safe fail

[KMTESTS:KERNEL32]

Magic values--;

[KERNEL32]

Rewrite GetFileAttributesW() to make it simpler and more accurate.

Make GetFileAttributesA() call GetFileAttributesW()

This fixes the last failing tests from r75236.

CORE-13495

[KERNEL32]

Rewrite SetFileAttributesW() to make it W2K3 compliant.

Notable improvements:

- Supports reparse points

- Doesn't query attributes to set them (speedup!)

This fixes a few failures in tests committed in r75236.

CORE-13495

[FSUTIL]

Implement fsutil volume diskfree

[VFATLIB]

Fix a really bad bug in VfatChkdsk(), the routine used to check a volume:

In case readwrite is enabled (ie, volume fixing is allowed), when the volume is opened, it is also locked.

If the volume has the clean shutdown bit and is to be checked only if that one is not set, then the volume lock is leaked.

This makes the volume then totally unusable later on (any later open will fail).

Because r75772 fixed volume locking on non-system partition, this totally broke (access denied) any secondary FAT volume in ROS.

Now, we just properly release the lock when required, also made a comment more explicit to avoid later bugs like that.

CORE-13805

[FSUTIL]

Implement fsutil volume dismount

CORE-13805

    • -0
    • +96
    /trunk/reactos/base/applications/cmdutils/fsutil/volume.c
[FSUTIL]

Define handlers type

[FASTFAT]

Only perform dismount check on close/cleanup for volume opening.

This prevents random dismounts and fixes 1st stage when ENABLE_SWAPOUT is enabled in FastFAT (disabled by default).

CORE-13805

[NTOSKRNL]

Don't set the read paging IO on write.

Fixes tests from r75845.

[KMTESTS:CC]

[KMTESTS:MM]

Also test the paging IO flag of the MDL

[NTOSKRNL]

Fix the way the paging IO MDLs are issued by Cc on read.

Similar to r75834.

Fixes tests from r75842.

[KMTESTS:CC]

That wasn't meant to be committed

[KMTESTS:CC]

Tests for paging IO MDL for read operations. Equivalent to r75833 (and r75840).

They fail in ROS.

[KMTESTS:MM]

Revert r75840.

It's no use that way

[KMTESTS:MM]

Tests for paging IO MDL for read operations. Equivalent to r75833.

[RAPPS]

Update French translation

[BTRFS]

Disable the MountMgr thread; given the current storage stack state, it's useless and can even cause troubles

CORE-13769

[KMTESTS:MM]

Few tests for MmBuildMdlForNonPagedPool() I wrote earlier.

They all pass fine on ROS.

    • -0
    • +49
    /trunk/rostests/kmtests/ntos_mm/MmMdl.c
[NTOSKRNL]

Don't call MmBuildMdlForNonPagedPool in CcWriteVirtualAddress():

- BaseAddress comes from PagedPood

- Windows returns a locked MDL from paged pool

- See tests from r75833 that are getting fixed with that revision

This fixes assertions failures on BtrFS write.

CORE-13763

CORE-13769

[KMTESTS:MM]

Add a test that shows that MDLs issued by Cc for paging IOs are not in the correct state (nor correctly allocated)

CORE-13769

[FSUTIL]

Implement fsutil hardlink create

    • -0
    • +71
    /trunk/reactos/base/applications/cmdutils/fsutil/hardlink.c