You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Windows includes the CcSetReadAheadGranularityEx DDI and the older CcSetReadAheadGranularity DDI, which can be used to influence the operating system read-ahead policy for a particular file. This functionality should be exposed to user mode file systems in some form.
This may be implemented on a per-file basis (CcSetReadAheadGranularity* works on a FILE_OBJECT) or on a per-filesystem basis (e.g. via FSP_FSCTL_VOLUME_PARAMS).
Maximum flexibility might be provided by a mix of the two. Consider a ReadAhead field in FSP_FSCTL_VOLUME_PARAMS which defines a file system default (with 0 meaning the operating system default policy, i.e. the current behavior). In addition a file system may choose to provide a different read-ahead for a particular file (-- perhaps encoded as a power of 2 in the bitfields of FSP_FSCTL_TRANSACT_RSP::Rsp.Create.Opened, since read-ahead should be a power of 2 in general).
FUSE read-ahead support should be added via a command-line option.
Enhancement Request
Windows includes the
CcSetReadAheadGranularityEx
DDI and the olderCcSetReadAheadGranularity
DDI, which can be used to influence the operating system read-ahead policy for a particular file. This functionality should be exposed to user mode file systems in some form.This may be implemented on a per-file basis (
CcSetReadAheadGranularity*
works on aFILE_OBJECT
) or on a per-filesystem basis (e.g. viaFSP_FSCTL_VOLUME_PARAMS
).ReadAhead
field inFSP_FSCTL_VOLUME_PARAMS
which defines a file system default (with0
meaning the operating system default policy, i.e. the current behavior). In addition a file system may choose to provide a different read-ahead for a particular file (-- perhaps encoded as a power of 2 in the bitfields ofFSP_FSCTL_TRANSACT_RSP::Rsp.Create.Opened
, since read-ahead should be a power of 2 in general).FUSE read-ahead support should be added via a command-line option.
.NET support should be added as well.
See issue Support for streaming large files with lookahead sshfs-win#104, which requested such support for SSHFS-Win.
The text was updated successfully, but these errors were encountered: