about ll_rw_blk.c of void generic_make_request(struct bio *bio)

From: erich
Date: Wed Mar 29 2006 - 02:23:32 EST


Dear Jens Axboe,

I am an engineer of Areca (SATA RAID controller producer).
I have coding linux driver for kernel.org "arcmsr".
I have got dump message %s: rw=%ld, want=%Lu, limit=%Lu message from ext2 file system.
But I am do well at Ext3 and all linux files system.
This issue only occur at read command.
Could you give me some info how to fix this bug in my linux scsi raid driver?

About the code ll_rw_blk.c mention that "it may well happen - the kernel calls bread() without checking the size of the device, e.g., when mounting a device."

I hope that you have more experience with it and knew what's wrong I am doing in my driver.


generic_make_request(struct bio *bio)

if (maxsector)
{
sector_t sector = bio->bi_sector;

if (maxsector < nr_sectors || maxsector - nr_sectors < sector)
{
/*
* This may well happen - the kernel calls bread()
* without checking the size of the device, e.g., when
* mounting a device.
*/
handle_bad_sector(bio);
goto end_io;
}
}
Best Regards
Erich Chen

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/