展示商品的网站怎么做,高校网站建设规范,做网站的开发心得,网站页面设计怎么分析我写了一个块驱动程序,它创建了一个虚拟块设备(sbd0).我为该块设备注册了所有设备操作:(请参阅2.6.32内核源代码中的include /linux / blkdev.h)static struct block_device_operations sbd_ops {.owner THIS_MODULE,.open sbd_open,.release sbd_close,.ioctl sbd_ioctl,…我写了一个块驱动程序,它创建了一个虚拟块设备(sbd0).我为该块设备注册了所有设备操作:(请参阅2.6.32内核源代码中的include /linux / blkdev.h)static struct block_device_operations sbd_ops {.owner THIS_MODULE,.open sbd_open,.release sbd_close,.ioctl sbd_ioctl,.getgeo sbd_getgeo,.locked_ioctl sbd_locked_ioctl,.compat_ioctl sbd_compat_ioctl,.direct_access sbd_direct_access,.media_changed sbd_media_changed,.revalidate_disk sbd_revalidate_disk};我编译了驱动程序.我插入了模块并创建了/ dev / sbd0.现在我想测试我的驱动程序代码.所以我写了一个如下的应用程序.fd open(/dev/sbd0,O_RDONLY);retval ioctl(fd,BLKBSZGET,blksz); //trying to get logical block size输出为4096我想知道我没有为BLKBSZGET实现ioctl.它没有调用我的sbd_ioctl,而是使用了默认驱动程序并给了我结果.对于open,close调用,它执行了sbd_open和sbd_close(我实现了).然后我尝试了retval ioctl(fd,Hdio_GETGEO,geoinfo);它调用了sbd_getgeo,但我认为它会调用sbd_ioctl.这是我的问题我实现了一个驱动程序并创建了一个设备.如果我在该设备上执行任何操作,则必须调用我的驱动程序应用程序.但它如何使用我的一些驱动程序功能和几个默认的驱动程序功能 ioctl(fd,..)没有调用.ioctl调用,但它调用了.getgeo.这怎么可能