On Sun, Jan 04, 2009 at 03:04:34AM -0500, Martin K. Petersen wrote: > @@ -374,7 +374,10 @@ void sd_dif_op(struct scsi_cmnd *scmd, u > else > csum_convert = 0; > > + BUG_ON(dif && (scmd->cmnd[0] == READ_6 || scmd->cmnd[0] == WRITE_6)); This BUG_ON gave me a 'Huh?' moment. I immediately wondered if it was user-triggerable. The answer is "no, this is kosher". sd_dif_op() is only called from sd.c where it has chosen which READ_*/WRITE_* opcode to set up, and it would indeed be an internal bug for this combination of conditions to exist. Reviewed-by: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> > + > switch (scmd->cmnd[0]) { > + case READ_6: > case READ_10: > case READ_12: > case READ_16: > @@ -390,6 +393,7 @@ void sd_dif_op(struct scsi_cmnd *scmd, u > > break; > > + case WRITE_6: > case WRITE_10: > case WRITE_12: > case WRITE_16: > > > -- > 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 -- Matthew Wilcox Intel Open Source Technology Centre "Bill, look, we understand that you're interested in selling us this operating system, but compare it to ours. We can't possibly take such a retrograde step." -- 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