- 论坛徽章:
- 0
|
为何sbull_transfer传输的不是buffer的长度 ,而是sector整数倍的长度?- static void sbull_transfer(struct sbull_dev *dev, unsigned long sector,
- unsigned long nsect, char *buffer, int write)
- {
- unsigned long offset = sector*KERNEL_SECTOR_SIZE;
- unsigned long nbytes = nsect*KERNEL_SECTOR_SIZE;
- if ((offset + nbytes) > dev->size) {
- printk (KERN_NOTICE "Beyond-end write (%ld %ld)\n", offset, nbytes);
- return;
- }
- if (write)
- memcpy(dev->data + offset, buffer, nbytes);
- else
- memcpy(buffer, dev->data + offset, nbytes);
- }
复制代码 谢谢~ |
|