关于Direct IO的改进请求 Topic is solved

交流 Primo Ramdisk 软件使用过程中遇到的问题以及心得等
这里提供官方的技术支持
回复
qweytr_1
帖子: 8
注册时间: 周一 10月 28, 2019 1:32 pm

关于Direct IO的改进请求

帖子 qweytr_1 »

看上去,windows的canonicalize函数可以获得文件的绝对路径
在SCSI模式中,函数是有效的
但在Direct IO模式,使用函数会直接报错
——我遇到的问题是,Rust语言使用canonicalize函数获得文件的绝对路径,当canonicalize失败的时候,`cargo build`命令会直接失败
一个简单的例子,如果B盘是SCSI而Z盘是DirectIO

代码: 全选

cd/d Z:\
cargo build hello
cd/d B:\
cargo build hello
cd hello
rem rust函数开始
echo fn main() { > src/main.rs
echo println!("{:?}",std::fs::canonicalize(r"B:\hello\src")); >> src/main.rs
echo println!("{:?}",std::fs::canonicalize(r"Z:\hello\src")); >> src/main.rs
echo } >> src/main.rs
rem rust函数结束
cargo run
在安装rust并将rust的cargo放在环境变量%path%中之后,执行这段命令会得到

代码: 全选

   Compiling hello v0.1.0 (B:\hello)
    Finished dev [unoptimized + debuginfo] target(s) in 1.20s
     Running `target\debug\hello.exe`
Ok("\\\\?\\B:\\hello\\src")
Err(Os { code: 1, kind: Other, message: "函数不正确。" })
很显然canonicalize函数并没有将DirectIO盘中的文件转化成\\?\Z:\hello\src的能力。

希望在Primo Ramdisk的Direct IO功能能在下一个版本中加入对Rust语言的支持
(类似的东西似乎在.net 4.8版本也出现了(https://docs.microsoft.com/en-us/dotnet ... mework-4.8),虽然标记了过时,虽然我没测试这东西是否支持directIO盘,但我仍然有点害怕那天把unity游戏拷到directIO盘之后报BUG)
(现在只好SCSI保平安了)

头像
support
帖子: 2005
注册时间: 周日 12月 21, 2008 10:42 am
联系:

Re: 关于Direct IO的改进请求

帖子 support »

谢谢您的反馈!
DirectIO盘由于底层建立模式和SCSI模拟真实盘的模式不一样,导致有些应用程序或函数无法支持。我们会检查您反馈的这个问题,看看能否在无需改变模式的情况下解决这个问题。
Primo Ramdisk | PrimoCache
Romex Software Support

qweytr_1
帖子: 8
注册时间: 周一 10月 28, 2019 1:32 pm

Re: 关于Direct IO的改进请求

帖子 qweytr_1 »

support 写了:
周五 11月 01, 2019 10:44 am
谢谢您的反馈!
DirectIO盘由于底层建立模式和SCSI模拟真实盘的模式不一样,导致有些应用程序或函数无法支持。我们会检查您反馈的这个问题,看看能否在无需改变模式的情况下解决这个问题。
感谢回复
顺便问一下,大约什么时候能解决这个问题呢?

另外,想问一下,能否给出一个关于页面文件的教程。
网上有人说页面文件是必须的,有人说可以禁用页面文件。在我尝试将页面文件放入内存盘中的时候,遇到了这样的错误
捕获.PNG
(exFat格式,SCSI,盘符为A:)
到底是否应该开启页面文件,能否将页面文件放入内存?
----------------------------------------------------
找到解决方法了应该用Direct IO,盘符用Z:,或许需要调成NTFS格式(至少这样设置之后,不报错了)
开启页面文件的好处是,页面文件可以压缩不活跃的内存(如果必要的话)
然而官网上并没有教我们任何把页面文件放进内存盘的教程。
您没有权限查看这个主题的附件。

头像
support
帖子: 2005
注册时间: 周日 12月 21, 2008 10:42 am
联系:

Re: 关于Direct IO的改进请求

帖子 support »

qweytr_1 写了:
周六 11月 02, 2019 8:04 pm
大约什么时候能解决这个问题呢?
这个问题还有待开发人员进一步检查,也不确定是否一定有解决方案。很抱歉目前无法给出具体的解决时间。

关于页面文件,由于现在装机的内存一般都比较大,因此不需要按Windows默认的大小设置。可以放在内存盘,设置一个可以变动的范围,初始值可以小一点。
Primo Ramdisk | PrimoCache
Romex Software Support

qweytr_1
帖子: 8
注册时间: 周一 10月 28, 2019 1:32 pm

Re: 关于Direct IO的改进请求

帖子 qweytr_1 »

期待你们的好消息~

回复