Skip to content

fastpath: Restrict IO to ext4 (data=ordered) or xfs unless HIPFILE_UNSUPPORTED_FILESYSTEMS=true#238

Draft
kurtmcmillan wants to merge 4 commits intodevelopfrom
kumcmill/add-ext4-xfs-check-to-fastpath-scoring
Draft

fastpath: Restrict IO to ext4 (data=ordered) or xfs unless HIPFILE_UNSUPPORTED_FILESYSTEMS=true#238
kurtmcmillan wants to merge 4 commits intodevelopfrom
kumcmill/add-ext4-xfs-check-to-fastpath-scoring

Conversation

@kurtmcmillan
Copy link
Collaborator

@kurtmcmillan kurtmcmillan commented Mar 25, 2026

Motivation

hipFile is currently only tested on ext4 (data=ordered) and xfs file systems.

Technical Details

Fastpath::score() has been updated to inspect the mount information of the file. If the file is not a regular file backed by an ext4 (data=ordered) or xfs file system then the IO is rejected.

If HIPFILE_UNSUPPORTED_FILESYSTEMS=true is set in the environment, then Fastpath::score will allow IO to regular files on unsupported filesystems.

AIHIPFILE-114

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the fastpath backend’s eligibility logic to only select fastpath I/O for regular files on ext4 (data=ordered) or xfs by default, with an environment-variable override to permit other filesystems.

Changes:

  • Add HIPFILE_UNSUPPORTED_FILESYSTEMS environment plumbing via Environment and Configuration.
  • Update Fastpath::score() to require a regular file and a supported filesystem (unless overridden).
  • Extend unit tests to cover the new configuration flag and fastpath filesystem/type gating behavior.

Reviewed changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
src/amd_detail/backend/fastpath.cpp Enforces regular-file + supported-filesystem constraints in fastpath scoring.
src/amd_detail/environment.h Adds the new env var constant and accessor declaration.
src/amd_detail/environment.cpp Implements Environment::unsupported_filesystems() via existing bool parser.
src/amd_detail/configuration.h Adds Configuration::unsupportedFilesystems() API.
src/amd_detail/configuration.cpp Reads/caches HIPFILE_UNSUPPORTED_FILESYSTEMS into configuration.
test/amd_detail/mconfiguration.h Extends configuration mock with unsupportedFilesystems().
test/amd_detail/configuration.cpp Adds tests verifying env var parsing/default behavior for unsupported filesystems flag.
test/amd_detail/fastpath.cpp Updates/extends fastpath tests for mount info + regular file checks and override behavior.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@kurtmcmillan kurtmcmillan force-pushed the kumcmill/add-ext4-xfs-check-to-fastpath-scoring branch from b889b35 to e927ed3 Compare March 26, 2026 15:59
This will be used by the to determine if IO to unsupported file systems should
be permitted to use the fastpath backend.
…ile system

IO to file systems other than ext4 (data=ordered) can be enabled by adding
HIPFILE_UNSUPPORTED_FILESYSTEMS=true to the process' environment.
IO to file systems other than ext4(ordered) and xfs can be enabled by adding
HIPFILE_UNUSPPORTED_FILESYSTEMS=true to the process' environment.
@kurtmcmillan kurtmcmillan force-pushed the kumcmill/add-ext4-xfs-check-to-fastpath-scoring branch from e927ed3 to abbeeb1 Compare March 26, 2026 16:12
@kurtmcmillan kurtmcmillan requested a review from Copilot March 26, 2026 16:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants