mirror of
https://github.com/winfsp/winfsp.git
synced 2025-04-26 02:12:45 -05:00
dll: fuse: disable GetDirInfoByName when file system is case-insensitive
This commit is contained in:
parent
55eee2efdd
commit
4b7684122b
@ -305,6 +305,14 @@ static NTSTATUS fsp_fuse_svcstart(FSP_SERVICE *Service, ULONG argc, PWSTR *argv)
|
|||||||
context->private_data = f->data = f->ops.init(&conn);
|
context->private_data = f->data = f->ops.init(&conn);
|
||||||
f->VolumeParams.ReadOnlyVolume = 0 != (conn.want & FSP_FUSE_CAP_READ_ONLY);
|
f->VolumeParams.ReadOnlyVolume = 0 != (conn.want & FSP_FUSE_CAP_READ_ONLY);
|
||||||
f->VolumeParams.CaseSensitiveSearch = 0 == (conn.want & FSP_FUSE_CAP_CASE_INSENSITIVE);
|
f->VolumeParams.CaseSensitiveSearch = 0 == (conn.want & FSP_FUSE_CAP_CASE_INSENSITIVE);
|
||||||
|
if (!f->VolumeParams.CaseSensitiveSearch)
|
||||||
|
/*
|
||||||
|
* Disable GetDirInfoByName when file system is case-insensitive.
|
||||||
|
* The reason is that Windows always sends us queries with uppercase
|
||||||
|
* file names in GetDirInfoByName and we have no way in FUSE to normalize
|
||||||
|
* those file names when embedding them in FSP_FSCTL_DIR_INFO.
|
||||||
|
*/
|
||||||
|
f->VolumeParams.PassQueryDirectoryFileName = FALSE;
|
||||||
f->conn_want = conn.want;
|
f->conn_want = conn.want;
|
||||||
}
|
}
|
||||||
f->fsinit = TRUE;
|
f->fsinit = TRUE;
|
||||||
|
@ -806,10 +806,9 @@ static NTSTATUS fsp_fuse_intf_Create(FSP_FILE_SYSTEM *FileSystem,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Ignore fuse_file_info::direct_io, fuse_file_info::keep_cache
|
* Ignore fuse_file_info::direct_io, fuse_file_info::keep_cache.
|
||||||
* WinFsp does not currently support disabling the cache manager
|
* NOTE: Originally WinFsp dit not support disabling the cache manager
|
||||||
* for an individual file although it should not be hard to add
|
* for an individual file. This is now possible and we should revisit.
|
||||||
* if required.
|
|
||||||
*
|
*
|
||||||
* Ignore fuse_file_info::nonseekable.
|
* Ignore fuse_file_info::nonseekable.
|
||||||
*/
|
*/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user