Re: [PATCH] libata: initialize qc->dma_dir to DMA_NONE

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 2007-01-18 at 00:49 +0900, Tejun Heo wrote:
> James Bottomley wrote:
> > This looks perfectly fine as a possible solution.  Is there any reason
> > not to initialise qc->dma_dir unconditionally from the SCSI command?
> 
> That should work too.  I did what I did because it was more in line with
> what the current code assumed and initializing the field on qc alloc
> seemed like a good idea with or without unconditional qc->dma_dir =
> scmd->sc_data_direction because not all commands are translated from
> scsi command.

Sure, I agree with the initialisation (although it should perhaps be
initialised to an error value we can detect just in case there are other
paths where it would leak through uninitialised ... we'll still get
cockups if a command with data ever goes through as DMA_NONE.

> > The only potential problem is DMA_BIDIRECTIONAL, which we don't use
> > (yet) ... but if it ever did come down libata will do the wrong thing
> > anyway.
> 
> If that ever happens, libata probably should emulate it using multiple
> commands, I guess.

This really depends on where SATA is going.  Current SCSI bidirectional
commands are the preserve of the complex command sets I don't believe
even a SATA device would ever emulate.  On the other hand, we're
planning to use bidirectional in SGv4 for frame in/frame out type
packets that are used to control expanders.

So the interesting question is whether SATA would ever want to drive
expanders?  For the low end, given the lack of success of the port
multipliers which are effectively a poor man's expander, I guess not ...
but, since most SAS/SATA cages seem to be coming with built in
expanders, I can see that changing.

James


-
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Filesystems]     [Linux SCSI]     [Linux RAID]     [Git]     [Kernel Newbies]     [Linux Newbie]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Samba]     [Device Mapper]

  Powered by Linux