srv.sys如何根据底层文件系统决定原始模式还是核心模式?

我们正在使用IFS Kit开发Windows文件系统。 我们开始调查一个性能问题,这个问题导致我们的文件系统I / O在networking上共享时要慢得多。 在用Sysinternals的 FileMon和TCPView查看之后,我们发现如果共享一个NTFS / FAT,SMB客户端和服务器正在传输60K数据块的I / O,而共享我们的文件系统则使用4K数据块。

这两个块大小对应于SMB的“核心”和“原始”模式 – 这在 Microsoft 这里解释。

问题是,我们无法弄清楚在我们的文件系统中导致Windows共享服务器(srv.sys)为我们的文件系统select核心模式(4K),为NTFS和FATselect原始模式(60K)。

甚至暗示要检查什么是受欢迎的。

KIV

通过在文件系统对象中设置FO_CACHE_SUPPORTED标志解决了该问题。

从支持页面:

当您使用Windows NT资源管理器将文件从客户端复制到远程计算机时,数据通常以4 KB块的核心模式进行传输。

你有没有尝试过从命令行?