全部博文(127)
发布时间:2013-08-04 20:18:36
调用df -h命令首先会执行execve,读取/bin/df文件,整个流程如下,其中涉及到了预读,页缓存及block层。vfs read流程:#0 submit_bio (rw=0, bio=0xf45c8880) at block/blk-core.c:1694#1 0xc051605a in mpage_bio_submit (.........【阅读全文】
发布时间:2013-08-04 20:16:15
在内核编程和调试的过程中,对于被调试程序运行状态的观察和查看是必不可少的,kernel为此也提供了很多机制,就我曾经使用而言,包括以下3种:1.printk:内核调试中最常用的就是printk,但是过多printk会产生刷屏的效果,如果不留意的话会将真正的错误掩盖掉。2.kgdb: kgdb在2.6.26版本中进入了内核,它是一个互动的.........【阅读全文】
发布时间:2013-08-04 20:11:11
从代码中可以看出,函数会对传入的scsi command中的prot_sdb包含的scatterlist中每个page中的数据块调用kmap_atomic映射到线性地址,然后生成校验码,生成校验码的具体算法由scsi_debug_guard指定,如果设置为1,则直接调用了lib下的ip_compute_csum生成校验,否则调用SBC标准中规定的CRC计算方法,具体可见SBC标.........【阅读全文】
发布时间:2013-08-04 20:09:05
3.3.1 INQUIRY命令参照SPC-3 revision23(以下简称SPC-3)标准的第5.2.3小节,INQUIRY指令是客户应用获取LUN信息的指令,scsi设备可以返回包括设备类型、版本号等信息,也可以包含厂商ID、产品型号等其他信息。该命令的定义格式如图9所示:图9 INQUIRY命令格式针对INQUIRY命.........【阅读全文】
发布时间:2013-08-04 20:08:13
3.3 对于SCSI命令的模拟和处理在3.2小节中讲到scsi_debug中最主要的工作函数是scsi_debug_queuecommand_lck,该函数篇幅较长,以下对该函数的内容分部分进行解析。staticint scsi_debug_queuecommand_lck(struct scsi_cmnd *SCpnt, done_funct_t done){.........【阅读全文】