Re: [PATCH 0/3] libata: scsi error handling, encore

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

 



Douglas Gilbert wrote:
This is a series of patches that are equivalent to
one sent on 2005/09/19:
"[PATCH] libata: scsi error handling, lk 2.6.14-rc1"
http://marc.theaimsgroup.com/?l=linux-scsi&m=112711945709949&w=2

The aim is to build more general sense buffers for SCSI
errors detected in the SCSI ATA translation layer in libata.
These patches are against Jeff's libata-dev git repository,
upstream branch.
Patch 1:  adds ata_scsi_set_sense() extern declaration and
          definition
Patch 2:  switch error processing in libata-scsi.c to use
          ata_scsi_set_sense()
Patch 3:  remove static inline definitions in libata.h that
          are no longer used after patch 2

Signed-off-by: Douglas Gilbert <dougg@xxxxxxxxxx>

First and foremost, applied all three patches. Thanks for your patience. 'upstream' branch will reflect your changes as soon as master.kernel.org propagates to the public mirrors.

The patches had to be hand-applied, for a few reasons, so I have some follow-up notes.


1) It would be nice if you could avoid using MIME attachments for patches, but rather, include them inline.


2) Your email subject should be descriptive and unique, since it is copied verbatim into the Linux Kernel changelog by Linus's patch merging tool, git-applymbox. e.g.

      [patch 1/3] libata scsi EH: add ata_scsi_set_sense()
      [patch 2/3] libata scsi EH: upgrade EH using ata_scsi_set_sense()
      [patch 3/3] libata scsi EH: remove now-unused helpers

See http://linux.yyz.us/patch-format.html for more info.


3) The following change should have been in a separate patch, since it was largely unrelated to use of ata_scsi_set_sense() -- it changes behavior, and its easy for a reviewer to miss this behavior change, if it is buried deep inside a pile of unrelated changes:

  - yield an error for mode sense requests for saved
    values [sat-r06]

But that's just a note for the future. As I stated, I applied your patches as-is... The optimal, reviewer-friendly transformation IMO would have been:

      [patch 1/3] libata scsi EH: add ata_scsi_set_sense()
      [patch 2/3] libata scsi EH: upgrade EH using ata_scsi_set_sense()
      [patch 3/3] libata scsi EH: return err for MODE SENSE saved vals
	[and obviously, patch #3 depends on patch #2]


4) I excised the following chunk from patch #2, before applying:

@@ -1572,7 +1628,7 @@
 		 * time).  We need to issue REQUEST SENSE some other
 		 * way, to avoid completing the command twice.
 		 */
-		cmd->result = SAM_STAT_CHECK_CONDITION;
+		cmd->result = (DRIVER_SENSE << 24) | SAM_STAT_CHECK_CONDITION;
qc->scsidone(cmd);

We don't yet have sense at this point; the code above largely serves as a trigger to a SCSI EH kthread, which will wake up and issue REQUEST SENSE for us. Its a bit of a weird setup, and I'm also working in this area, so I simply removed the above quoted change from your patch, which was applied otherwise unaltered.

Thanks,

	Jeff



-
: 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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux