This gets a little offtopic for the original issue, so let's cut the Cc list and change the subject. On Tue, Dec 12, 2006 at 04:21:23PM +0200, Boaz Harrosh wrote: > I'm afraid this might not be enough because of code in drivers/ide/ide-cd.c. It does IO off of request->data. Only for FS requests, but we do BLOCK_PC requests here. > [background] > pkt_generic_packet and ton of other places mainly cd(s), floppy(s), and > other ide code paths, are using what I call BLACK requests. They put some > data on request->buffer or request->data stick it in the Q and than advance > on them later down the ladder. Remove of "buffer" and "data" from > struct request will reveal all these places. At one time I had plans to do > just that. But 1/2 way through I gave up, it is too risky, too much > Hardware that I don't have, that needs checking. Removing this old code would definitly be worthwile, but I understand that you don't want to get too deeply into the mess of floppy.c and the old ide code :) > below patch combined with your patch might get a bit closer for this code > path. At struct request I have changed the name of "data" member to > "user_data". than changed the code paths that used "data" as IO to use > request->buffer instead. This is just as bad but is a more common practice. > > I suspect there is a problem with what I did in scsi_lib.c Christoph please > check me out with the new BUG_ON. They look good to me. > Mainly what you need from below is only the code in ide-cd.c. > (And there are 3-4 places that do exactly like pkt_generic_packet, though > I'm not sure they end up through SCSI. Do you have a list of those places at hand? We should try to fix them up, especially if it's as trivial as the pkt code. - To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html