阅读:1283回复:9
请教scsi提供的功能跟具体命令序列的对应关系
请问哪里有格式化磁盘,读,写,创建一个文件这些上层功能跟下层scsi命令的对应关系?
|
|
最新喜欢:wdy992... |
沙发#
发布于:2004-09-04 23:20
SCSI 标准中有的。
|
|
|
板凳#
发布于:2004-09-04 23:38
谢谢。
曾经下了一个scsi2,但是貌似没看到,也可能是有,不过里面内容太多。 哪里有简明的,看起来一目了然的。。 |
|
地板#
发布于:2004-09-06 17:50
读写,就是write5,read5,write10,read10什么的阿,格式化没有研究过
|
|
地下室#
发布于:2004-09-06 18:06
读写,就是write10,read10,没有接收过write6和read6。
|
|
|
5楼#
发布于:2004-09-06 20:45
其实我关注这个的原因是我想为用户分配盘的一部分,不想让用户耗去整个盘,那么当用户写文件的时候我想不出办法判断用户是不是超出他该使用的范围,因为在scsi miniport看来只是一些SRB跟文件对应不起来,如果实际硬件没有这么大的话,写出错会返回失败,而现在写磁盘的时候如果还在整个盘的大小范围之内,则不会出现写错误
还有一个问题就是如果我在服务器端不是以一个文件映射成客户端的一个盘,而是用一个目录映射成用户的一个盘,那么当往这个虚拟盘中写文件时怎么对应到写实际目录中的文件? 求教大侠了,会另外开贴给分。 |
|
6楼#
发布于:2004-09-07 05:14
这个问题......
如果这样的话....我想scsi miniport并不是你需要的解决方案.. 首先你要明白scsi miniport都是干什么用的...他运行在什么样子的环境里面...他操作的是什么对象...他面对的输入跟输出是什么.. scsi driver他是一个storage的驱动..在这个层面上...已经没有文件..文件夹这种概念的存在了..也没有所谓的分区这种概念存在...你所面对的只是一个纯粹的存储空间....究竟这个空间里面是什么..并不是你该去关心的....这是其一.... 其二...你所已经关心的是..怎么去标记这个空间..怎么去寻地这个空间...怎么去读..怎么去写这个空间....至于怎么去解释这个空间里面的内容..那是file system的driver的工作...并不是storage driver的工作.... file system的driver需要你完成读取某个制定位置,写入某个指定位置的这种基本功能就ok了(当然不是这样的简单..还有其他的要求) storage driver能作的事情只有这些.... 如果你想把别的电脑上的文件夹映射成你的电脑上的一个驱动器.. windows的网络共享就可以作道.....呵呵.... 你应该知道他并不是一个storage driver 以上.......... |
|
7楼#
发布于:2004-09-07 10:26
谢谢tiamo
问题是服务器端在linux下,windows那套协议在linux下没有实现.更重要的通讯协议已经指定了是ISCSI,你说scsi miniport做不到文件级控制这个也没有疑义,关键是不知道windows里面读写文件的机制,如果是必须等到实际写磁盘错误才返回写文件错误,那么不能满足我的要求,如果是写之前先read capacity得到可用空间再跟文件大小比较后,如果小的话就不写,那么file system driver我根本不需要去关心.此其一,如果必须要关注file system driver ,那么不知道file filter driver能不能办到,我知道filter driver 只关注IRP_READ,IRP_WRITE这些,不知道能不能从文件这个上层角度来控制? 其二:怎么通过底层的读写在上层体现成某个指定目录下的文件不太清楚,因为我在服务器端接受的是下层disk级别的写包,读包,不清楚上面的文件系统 谢谢 |
|
8楼#
发布于:2004-09-07 13:12
呃......
我实在是看不明白你上面的那段话.... 我的理解 你是不是有这么两个问题... 1.不知道windows会不会写超过你想要的大小范围的内容? 这个问题对你的driver来讲并没有什么关系..你知道你的空间的大小....你也应该知道所谓的那些read6,read10的op 会告诉你他要读什么地方,读多少..这样的数据足够你判断读写是否越界了.... 2.你想把一个文件夹影射成一个磁盘....这个.linux下面一样能共享的...查一查google吧.... 我对这个问题实在是无能为力..... 以上 |
|
9楼#
发布于:2004-09-07 23:17
谢谢,我的问题实际是这样的,我觉得跟windows,linux应该没有多少关系
我要往硬盘上面某个目录里面写内容,现在已经有的是目录的句柄,在处理write10时怎么利用这个句柄加上一定的偏移在底层往硬盘写SRB后,使得在上层看起来的效果是window,linux里面在该目录下出现一个新的文件 谢谢 |
|