Mike Anderson wrote: > Douglas Gilbert [dougg@torque.net] wrote: > >>While testing persistent reservations it is quite common >>to get a status of "reservation conflict". When using >>the SG_IO ioctl this status is returned via the >>sg_io_hdr::status field and is simple to process. >> >>However this lk 2.6.7-rc3 code fragment in >>scsi_decide_disposition() [scsi_error.c] makes it very >>noisy (on the console and in the log): >> >> case RESERVATION_CONFLICT: >> printk("scsi%d (%d,%d,%d) : reservation conflict\n", >> scmd->device->host->host_no, >> scmd->device->channel, >> scmd->device->id, scmd->device->lun); >> return SUCCESS; /* causes immediate i/o error */ >> > > > If we think it is important enough to leave we should wrap it with > either a SCSI_LOG_MLCOMPLETE or SCSI_LOG_ERROR_RECOVERY to stay > consistent with the scsi_decide_disposition function. Though I think the > use of SCSI_LOG_ERROR_RECOVERY maybe should be replaced with > SCSI_LOG_MLCOMPLETE in scsi_decide_disposition. > > The upper level drivers could also report similar info if this was > removed as sd has SCSI_LOG_HLCOMPLETE that should cover sg_io ios > through sd and sg_cmd_done has SCSI_LOG_TIMEOUT (correct?). Mike, Yes the sg driver uses SCSI_LOG_TIMEOUT to avoid other usages and a logging loop. Just so this thread isn't forgotten, attached is a patch to wrap the printk in question in a SCSI_LOG_ERROR_RECOVERY macro. Doug Gilbert