Pierre Schweitzer

[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
[BTRFSLIB]

Sync to 1.0

CORE-13763

    • -327
    • +506
    /trunk/reactos/sdk/lib/fslib/btrfslib/btrfslib.c
[SHELLBTRFS]

Fix MSVC build?

CORE-13763

[SHELLBTRFS]

Add missing header

CORE-13763

[SHELLBTRFS]

Sync the btrfs shell extension to 1.0

CORE-13763

    • -0
    • +185
    /trunk/reactos/dll/shellext/shellbtrfs/shellext.h
    • -0
    • +110
    /trunk/reactos/dll/shellext/shellbtrfs/volpropsheet.h
    • -0
    • +46
    /trunk/reactos/dll/shellext/shellbtrfs/scrub.h
    • -24
    • +49
    /trunk/reactos/dll/shellext/shellbtrfs/propsheet.h
    • -0
    • +755
    /trunk/reactos/dll/shellext/shellbtrfs/send.cpp
    • -0
    • +2146
    /trunk/reactos/dll/shellext/shellbtrfs/recv.cpp
    • -0
    • +58
    /trunk/reactos/dll/shellext/shellbtrfs/balance.h
    • -0
    • +207
    /trunk/reactos/dll/shellext/shellbtrfs/reactos.cpp
    • -0
    • +88
    /trunk/reactos/dll/shellext/shellbtrfs/recv.h
    • -2
    • +265
    /trunk/reactos/dll/shellext/shellbtrfs/resource.h
    • -0
    • +1618
    /trunk/reactos/dll/shellext/shellbtrfs/volpropsheet.cpp
  1. … 12 more files in changeset.
[NDK]

- Make FILE_INFORMATION_CLASS definition consistent with XDK

- Add the definition of FILE_ACCESS_INFORMATION

CORE-13763

    • -0
    • +24
    /trunk/reactos/sdk/include/ndk/iotypes.h
[NDK]

Add a missing typedef

    • -1
    • +1
    /trunk/reactos/sdk/include/ndk/rtltypes.h
[PSDK]

Define FSCTL_GET_INTEGRITY_INFORMATION, FSCTL_SET_INTEGRITY_INFORMATION, FSCTL_DUPLICATE_EXTENTS_TO_FILE and their associated structures

CORE-13763

[XDK]

Add a Win8.1 FSCTL

CORE-13763

    • -0
    • +6
    /trunk/reactos/sdk/include/xdk/iotypes.h
[BTRFS]

Fix build

CORE-13763

[BTRFS]

Sync btrfs to 1.0.

CORE-13763

    • -221
    • +442
    /trunk/reactos/drivers/filesystems/btrfs/registry.c
    • -305
    • +374
    /trunk/reactos/drivers/filesystems/btrfs/dirctrl.c
    • -2475
    • +1991
    /trunk/reactos/drivers/filesystems/btrfs/fileinfo.c
    • -2067
    • +2861
    /trunk/reactos/drivers/filesystems/btrfs/btrfs.c
    • -0
    • +3453
    /trunk/reactos/drivers/filesystems/btrfs/scrub.c
    • -151
    • +179
    /trunk/reactos/drivers/filesystems/btrfs/reparse.c
    • -198
    • +231
    /trunk/reactos/drivers/filesystems/btrfs/compress.c
    • -466
    • +400
    /trunk/reactos/drivers/filesystems/btrfs/security.c
  1. … 20 more files in changeset.
[DDK]

Define IDE_COMMAND_FLUSH_CACHE

CORE-13763