On Wed, 17 Oct 2007 20:21:15 +0200 Boaz Harrosh <bharrosh@xxxxxxxxxxx> wrote: > > In preparation for bidi we abstract all IO members of scsi_cmnd, > that will need to duplicate, into a substructure. > > - Group all IO members of scsi_cmnd into a scsi_data_buffer > structure. > - Adjust accessors to new members. > - scsi_{alloc,free}_sgtable receive a scsi_data_buffer instead of > scsi_cmnd. And work on it. > - Adjust scsi_init_io() and scsi_release_buffers() for above > change. > - Fix other parts of scsi_lib/scsi.c to members migration. Use > accessors where appropriate. > > - Old I/O members are kept for backward compatibility, since > not all of scsi-ml/ul is converted yet. Once done they will > be removed in a closing patch. (Other wise the patchset will > not be bisectable) (snip) > @@ -114,6 +112,22 @@ struct scsi_cmnd { > int result; /* Status code from lower level driver */ > > unsigned char tag; /* SCSI-II queued command tag */ > + > + union { > + struct scsi_data_buffer sdb; > + /* > + * FIXME: Here for compatibility with unconverted drivers. > + * Must be kept in sync with exact type and order > + * of struct scsi_data_buffer members. > + */ > + struct { > + unsigned __deprecated request_bufflen; > + int __deprecated resid; > + unsigned short __deprecated use_sg; > + unsigned short __deprecated place_holder_sg_alloc; > + void __deprecated *request_buffer; > + }; > + }; > }; If we add something like this, why couldn't we merge the scsi_data_buffer patchset when I submitted last month? I thought that I wait you to fix all the old LLDs, then will send a clean scsi_data_buffer patchset. - 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