>> - rq->__data_len = sdp->sector_size; >> + rq->__data_len = sdp->sector_size; >> + ret = scsi_init_io(cmd, GFP_ATOMIC); >> + rq->__data_len = nr_bytes; >> return ret; >> } >> > Hmm? __data_len is the amount of data written _on the target_. > Do we actually care about it? > And if so, why didn't it break with the original version? > In either case a short description in the patch would be nice.
The drivers care about it, and scsi_init_io uses it as transfer size, thus we have to set it to the tranfer length before the scsi_init_io call, and to the full number of bytes to be written after it. We already do this before the patch, I just moved the first assginment next to the call to scsi_init_io so that it's more obvious. -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html