On Thu, 18 Oct 2007 10:27:34 +0200 Boaz Harrosh <bharrosh@xxxxxxxxxxx> wrote: > On Thu, Oct 18 2007 at 9:57 +0200, FUJITA Tomonori <fujita.tomonori@xxxxxxxxxxxxx> wrote: > > On Thu, 18 Oct 2007 09:51:10 +0200 > > Boaz Harrosh <bharrosh@xxxxxxxxxxx> wrote: > > > >> On Thu, Oct 18 2007 at 1:40 +0200, FUJITA Tomonori <fujita.tomonori@xxxxxxxxxxxxx> wrote: > >>> 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. > >> We do have all the old LLDs fixed. After this patchset the entire tree > >> is clean. I have just forgot to send the last [33/33] patch that removes > >> this. I have just sent it now, sorry. > >> (The change log above explains exactly why this is done here) > > > > As I said, I can't see why we need this compatibility hack in the > > first place. > > > > We need to wait patches 1-26 to be merged. After that, we can merge > > clean scsi_data_buffer patchset (without the compatibility hack). > > > No. > It is here so we can separate the patches 27 to 32 and still be > bisect-able and running at each patch. Other wise all 27-32 patches > must be a single patch. So why can they be a single patch? - 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