On 7/10/21 15:33, Konstantin Komarov wrote: > This is optimized way of this algorithm ( from comment to ntfs_cmp_names ): > * Straight way to compare names: > * - Case insensitive > * - If name equals and 'upcase' then > * - Case sensitive You have your first and third bullet points the wrong way round there. Am I right then that the current case-insensitivity stuff is purely to determine where the name goes in the $I30 B-tree? > I think, that ntfs3 need to be case sensitive. > And listed things, that I think support my opinion. > That's why I've mentioned that ntfs.sys is case sensitive. > That's why I've mentioned FILE_FLAG_POSIX_SEMANTICS and > FileCaseSensitiveInformation. > I don't think, that copying win32 api behavior is good, > when Microsoft makes steps to make ntfs work in posix way. I'm surprised that what I wrote is controversial... NTFS is a case-insensitive filesystem, that allows specific directories to override this with a flag. You might wish it were otherwise, but the NTFS specification is defined by what Microsoft's driver does. Your driver lets me create a file called foo.txt and one called FOO.TXT in a normal directory, and when I double-click on one in Windows the wrong file gets opened. That's 100% a bug. It's worth pointing out that the Linux vfat driver handles case-sensitivity on Microsoft's other filesystem correctly.