On Thursday 02 August 2007, Alan Cox wrote: > > If you fix the printk, add patch description (can use the one from my patch) > > and add "Signed-off-by:" I would happily apply it and dump mine version. > > Sorry but the patch is wrong - plain and simple. It works over the bug > but its not the real problem. ide-disk needs to spot a 1K request for the > last 512 bytes, issue a 512 byte request and complete the 512 bytes only. block/ll_rw_blk.c: static inline void __generic_make_request(struct bio *bio) { ... int ret, nr_sectors = bio_sectors(bio); ... /* Test device or partition size, when known. */ maxsector = bio->bi_bdev->bd_inode->i_size >> 9; 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; so low-level-driver should never see such requests. Additionally fs/partitions/check.c:rescan_partitions() should warn if the partition exceeds device size and we are not seeing any such warning. Mikko, could you please revert any patches that you have applied, uncomment #define DEBUG in ide-disk.c, recompile and note the sectors count in the "hdd: reading: block=78165360 sectors=..." debug message? Thanks, Bart - To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html