Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[release/6.0] Enforce scatter/gather file I/O Windows API requirements et. al. #58423

Merged
merged 13 commits into from
Oct 19, 2021

Commits on Aug 31, 2021

  1. Move checking and pinning Windows vectored I/O buffers to a dedicated…

    … method.
    teo-tsirpanis authored and github-actions committed Aug 31, 2021
    Configuration menu
    Copy the full SHA
    a3b0d18 View commit details
    Browse the repository at this point in the history
  2. Refactor the scatter/gather APIs to use the common checking method.

    And use pinned GCHandles and IntPtrs instead of MemoryHandles when passing the segment array to the bottom-most method.
    teo-tsirpanis authored and github-actions committed Aug 31, 2021
    Configuration menu
    Copy the full SHA
    82bd893 View commit details
    Browse the repository at this point in the history
  3. Shorten the name of the buffer-checking method.

    teo-tsirpanis authored and github-actions committed Aug 31, 2021
    Configuration menu
    Copy the full SHA
    81973cb View commit details
    Browse the repository at this point in the history
  4. Directly get the pinned array's address instead of calling GCHandle.A…

    …ddrOfPinnedObject.
    teo-tsirpanis authored and github-actions committed Aug 31, 2021
    Configuration menu
    Copy the full SHA
    c6153f1 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    203fd52 View commit details
    Browse the repository at this point in the history
  6. Allocate the segment array from native memory and at TryPrepareScatte…

    …rGatherBuffers.
    teo-tsirpanis authored and github-actions committed Aug 31, 2021
    Configuration menu
    Copy the full SHA
    322293d View commit details
    Browse the repository at this point in the history
  7. Cache the page size on a static readonly field and add a couple of TO…

    …DOs.
    teo-tsirpanis authored and github-actions committed Aug 31, 2021
    Configuration menu
    Copy the full SHA
    c5cc76f View commit details
    Browse the repository at this point in the history
  8. Make the memory handlers readonly structs.

    teo-tsirpanis authored and github-actions committed Aug 31, 2021
    Configuration menu
    Copy the full SHA
    8621c02 View commit details
    Browse the repository at this point in the history
  9. Add a test.

    teo-tsirpanis authored and github-actions committed Aug 31, 2021
    Configuration menu
    Copy the full SHA
    bd8c2f8 View commit details
    Browse the repository at this point in the history
  10. Reorder some methods with PR feedback taken into consideration.

    teo-tsirpanis authored and github-actions committed Aug 31, 2021
    Configuration menu
    Copy the full SHA
    ea35f8b View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    e755e0f View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    0b1aaf0 View commit details
    Browse the repository at this point in the history

Commits on Oct 18, 2021

  1. Follow up on Scatter/Gather API changes (#58447)

    * Allocate an array of memory handles only if needed.
    
    * Remove an unnecessary variable in the multiple-syscall write gather.
    
    * Actually verify the content read by the read scatter operation.
    
    * Delay allocating native memory.
    
    * Verify that the whole file was read in the scatter/gather test.
    
    * Test the case when the scatter/gather buffers are acceptable by the Windows API.
    
    * Avoid null pointer dereferences when passing an empty segment array.
    
    * Test performing scatter/gather I/O with an empty segment array.
    
    Co-authored-by: Stephen Toub <[email protected]>
    2 people authored and adamsitnik committed Oct 18, 2021
    Configuration menu
    Copy the full SHA
    77e8f0d View commit details
    Browse the repository at this point in the history