tanky
驱动牛犊
驱动牛犊
  • 注册日期2002-03-04
  • 最后登录2007-06-08
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
阅读:4428回复:32

这是我移植的windows下的iSCSI目标器

楼主#
更多 发布于:2004-06-18 14:58
这是我移植的一个window下的iSCSI目标器(Target),支持微软的启动器和linux下的iSCSI启动器,提供文件IO和内存IO两种模式.
加上微软的启动器就可以迅速搭建自己的iSCSI平台了。
附件名称/大小 下载次数 最后更新
2004-06-18_Win iSCSI Target.rar (167KB)  198

最新喜欢:

hongsinghongsi...
simba
驱动牛犊
驱动牛犊
  • 注册日期2002-01-28
  • 最后登录2009-02-19
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-02-27 00:06
我的意思是你在初始化的时候用IOCTL_SCSI_GET_ADDRESS取得你创建的disk的BUS TARGET LUN,记录下来,在miniport里面就可以根据SRB的Path Target Lun来确定是不是发给你创建的disk的。


可以取,不过所有盘的全是0,因为用这种方法创建的盘是没有BUS TARGET LUN的,和miniport INQUIRY出来的SCSI Disk不一样,IOCTL_STORAGE_QUERY_PROPERTY...StorageDeviceProperty时返回的BusType也是BusTypeUnknown,不能靠这个判断的。

不过我想我大致知道怎么弄了,在写入pdoExtension->HardwareId时那个键值好像要改...
tanky
驱动牛犊
驱动牛犊
  • 注册日期2002-03-04
  • 最后登录2007-06-08
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2005-02-26 22:08
我的意思是你在初始化的时候用IOCTL_SCSI_GET_ADDRESS取得你创建的disk的BUS TARGET LUN,记录下来,在miniport里面就可以根据SRB的Path Target Lun来确定是不是发给你创建的disk的。
simba
驱动牛犊
驱动牛犊
  • 注册日期2002-01-28
  • 最后登录2009-02-19
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
地板#
发布于:2005-02-26 21:46
不过话说回来,要是能在创建Disk Pdo时完全模仿一个SCSI Disk倒也不必这么麻烦了,呵呵
simba
驱动牛犊
驱动牛犊
  • 注册日期2002-01-28
  • 最后登录2009-02-19
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2005-02-26 21:40
那是个port + miniport完整的WDM驱动,在处理StartDevice时直接创建Disk Pdo,并没有处理INQUIRY,由于没有创建成SCSI Disk所以没有<PathId,TargetId,Lun>,于是在驱动中(IRP_MJ_SCSI...SRB_FUNCTION_EXECUTE_SCSI)就算打开SRB或者看IO_STACK_LOCATION都不好判断发请求来的Disk Device了,其实只要能在这里找到Pdo指针就OK...

DS 3.1里面生成的那个虚拟SCSI适配器框架我没试过,我还没看太明白,你是那一层的驱动啊,miniport?还是一般的驱动然后自己创建一个disk pdo?那你怎么截获请求呢?是filter的话应该还可以看到PDO指针,如果是miniport,可以通过IOCTL_SCSI_GET_ADDRESS查出来你创建的磁盘的LUN等信息。
tanky
驱动牛犊
驱动牛犊
  • 注册日期2002-03-04
  • 最后登录2007-06-08
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2005-02-26 13:37
DS 3.1里面生成的那个虚拟SCSI适配器框架我没试过,我还没看太明白,你是那一层的驱动啊,miniport?还是一般的驱动然后自己创建一个disk pdo?那你怎么截获请求呢?是filter的话应该还可以看到PDO指针,如果是miniport,可以通过IOCTL_SCSI_GET_ADDRESS查出来你创建的磁盘的LUN等信息。
simba
驱动牛犊
驱动牛犊
  • 注册日期2002-01-28
  • 最后登录2009-02-19
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2005-02-26 12:20
对了,正好有个小问题讨教,不知道你试没试过DS 3.1里面生成的那个虚拟SCSI适配器框架?生成的代码里面暂时就一个RAM disk,还有点BUG,在处理start device时手工创建了Disk PDO,用DeviceId区别并且挂在适配器device extension的list里面,可是等到回头要处理上面发下来的IRP时却不好再判断来源于哪个DeviceId了,因为手工创建的时候仅仅是用的Generic Disk形式,没有SCSI Disk的<PathId, TargetId, Lun>,也就是SRB里面、PIO_STACK_LOCATION  irpStack里面都看不出来源了。要是就保持一个PDO也无所谓,多个就麻烦了,你觉得怎么办比较好?呵呵 :)
simba
驱动牛犊
驱动牛犊
  • 注册日期2002-01-28
  • 最后登录2009-02-19
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2005-02-26 12:08
我在你们旁边冯姐那里,呵呵,你们做iSCSI的那年我们在搞软阵列里面的东西,碰巧也在看miniport/port/disk class,byhh里面好像还留着几片那时的贴子,我是apocalypse ;)
tanky
驱动牛犊
驱动牛犊
  • 注册日期2002-03-04
  • 最后登录2007-06-08
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2005-02-24 20:20
tanky是老谢实验室的么?我注意你很久了,hohoho


是啊,你是那里,说得我后背直冒凉气呀。 +_+!!

新的版本V0.8出来了,加入了多用户管理和数据保护和还原功能。欢迎使用。
下载地址:
http://iscsi.nease.net


simba
驱动牛犊
驱动牛犊
  • 注册日期2002-01-28
  • 最后登录2009-02-19
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2005-01-22 01:18
tanky是老谢实验室的么?我注意你很久了,hohoho

这是我移植的一个window下的iSCSI目标器(Target),支持微软的启动器和linux下的iSCSI启动器,提供文件IO和内存IO两种模式.
加上微软的启动器就可以迅速搭建自己的iSCSI平台了。
ac97eric
驱动牛犊
驱动牛犊
  • 注册日期2004-11-30
  • 最后登录2006-03-30
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2004-12-03 11:04
而且我已登陆白云黄鹤,账号Rubbish(不太好听,没办法,不让用数字),昵称是陈灼,请多指教!
ac97eric
驱动牛犊
驱动牛犊
  • 注册日期2004-11-30
  • 最后登录2006-03-30
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2004-12-03 11:00
楼主好,我也在做iSCSI的东西,您是华中理工大学的吧!
想请教您一些问题,不知道您的联系方式,如QQ,MSN。
我的QQ是19503915,MSN是ac97cdh@hotmail.com
多谢!
longbrow
驱动牛犊
驱动牛犊
  • 注册日期2004-04-06
  • 最后登录2011-03-22
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望72点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2004-11-09 12:58
还有这个错误
longbrow
驱动牛犊
驱动牛犊
  • 注册日期2004-04-06
  • 最后登录2011-03-22
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望72点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2004-11-09 12:53
我在win2000 SP4 和winxp sp2 上安装都报这个错误。x86fre-1.05a和ia64fre-1.05a 这两个版本都报这个错误。到底是怎么回事?
tanky
驱动牛犊
驱动牛犊
  • 注册日期2002-03-04
  • 最后登录2007-06-08
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2004-11-08 19:35
以前也写过,不过没有微软的性能高,而且开发也不是很方便,很多接口微软都没公布。一般微软的启动器工作得还蛮好得,你的报什么错。
longbrow
驱动牛犊
驱动牛犊
  • 注册日期2004-04-06
  • 最后登录2011-03-22
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望72点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
15楼#
发布于:2004-11-08 18:56
为什么不写个启动器呢? 微软的那个安装老报错误
dedhql
驱动牛犊
驱动牛犊
  • 注册日期2004-08-14
  • 最后登录2004-08-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
16楼#
发布于:2004-08-24 14:11
谢谢你的回复,我所需的就是这个功能,断开之后数据就不要了,当然,还得保证我自己有办法写入数据才。
tanky
有方法可以联系你吗?

[编辑 -  8/26/04 by  dedhql]
Sundsea
驱动老牛
驱动老牛
  • 注册日期2003-05-06
  • 最后登录2012-06-05
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望35点
  • 贡献值0点
  • 好评度15点
  • 原创分0分
  • 专家分0分
17楼#
发布于:2004-08-24 12:58
这个东东是干嘛用的?
tanky
驱动牛犊
驱动牛犊
  • 注册日期2002-03-04
  • 最后登录2007-06-08
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
18楼#
发布于:2004-08-24 12:58
我还是不太清楚你的需求,你所写的数据最终是否要放到iSCSI盘上去,还是断开连接后就不要了.通过加cache肯定可以实现延迟写功能.你准备把这个iSCSI盘给一个用户使用还是多个用户共享.
Win iSCSI Target 0.5版已经发布了,添加了后端存储开发接口,这样你就可以按照你需要控制数据的读写了.
我上载一个,你也可以到http://www.freewebs.com/iscsi下载
附件名称/大小 下载次数 最后更新
2004-08-24_WiniSCSITargetV0.5.rar (559KB)  148
dedhql
驱动牛犊
驱动牛犊
  • 注册日期2004-08-14
  • 最后登录2004-08-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
19楼#
发布于:2004-08-24 12:42
你好,请问有没有办法实现保护iSCSI盘中的内容呢?即写入的东西只放入缓冲区,实际内容不被改写。
  
上一页
游客

返回顶部