Skip to content
Snippets Groups Projects
Commit 84f60008 authored by knan's avatar knan
Browse files

scsi: don't trust the data we receive from the drive too

  much. It very well might have errors (like zero response length).
  Seen on Megaraid logical drive, and verified in the driver source.


git-svn-id: https://smartmontools.svn.sourceforge.net/svnroot/smartmontools/trunk@297 4ea69e1a-61f1-4043-bf83-b5c94c648137
parent c1bf041f
Branches
No related tags found
No related merge requests found
CHANGELOG for smartmontools CHANGELOG for smartmontools
$Id: CHANGELOG,v 1.51 2002/11/21 14:11:18 ballen4705 Exp $ $Id: CHANGELOG,v 1.52 2002/11/21 16:49:43 knan Exp $
Copyright (C) 2002 Bruce Allen <smartmontools-support@lists.sourceforge.net> Copyright (C) 2002 Bruce Allen <smartmontools-support@lists.sourceforge.net>
...@@ -25,6 +25,10 @@ NOTES FOR FUTURE RELEASES: see TODO file. ...@@ -25,6 +25,10 @@ NOTES FOR FUTURE RELEASES: see TODO file.
CURRENT RELEASE (see VERSION file in this directory): CURRENT RELEASE (see VERSION file in this directory):
Bolsø: scsi: don't trust the data we receive from the drive too
much. It very well might have errors (like zero response length).
Seen on Megaraid logical drive, and verified in the driver source.
Allen: smartd: added Directive -m for sending test email and Allen: smartd: added Directive -m for sending test email and
for modifying email reminder behavior. Updated manual, and sample for modifying email reminder behavior. Updated manual, and sample
configuration file to illustrate & explain this. configuration file to illustrate & explain this.
......
...@@ -33,7 +33,7 @@ ...@@ -33,7 +33,7 @@
#include <scsi/scsi.h> #include <scsi/scsi.h>
#include "scsicmds.h" #include "scsicmds.h"
const char *CVSid3="$Id: scsicmds.c,v 1.14 2002/11/21 16:34:04 knan Exp $" CVSID4; const char *CVSid3="$Id: scsicmds.c,v 1.15 2002/11/21 16:49:44 knan Exp $" CVSID4;
UINT8 logsense (int device, UINT8 pagenum, UINT8 *pBuf) UINT8 logsense (int device, UINT8 pagenum, UINT8 *pBuf)
...@@ -135,7 +135,7 @@ UINT8 modeselect (int device, UINT8 pagenum, UINT8 *pBuf) ...@@ -135,7 +135,7 @@ UINT8 modeselect (int device, UINT8 pagenum, UINT8 *pBuf)
memcpy ( &tBuf[ CDB_6_HDR_SIZE + MODE_DATA_HDR_SIZE], memcpy ( &tBuf[ CDB_6_HDR_SIZE + MODE_DATA_HDR_SIZE],
pBuf + MODE_DATA_HDR_SIZE, pBuf + MODE_DATA_HDR_SIZE,
pBuf[0] - MODE_DATA_HDR_SIZE + 1); CDB_6_MAX_DATA_SIZE - MODE_DATA_HDR_SIZE);
tBuf[26] &= 0x3f; tBuf[26] &= 0x3f;
......
...@@ -33,7 +33,7 @@ ...@@ -33,7 +33,7 @@
#include <scsi/scsi.h> #include <scsi/scsi.h>
#include "scsicmds.h" #include "scsicmds.h"
const char *CVSid3="$Id: scsicmds.cpp,v 1.14 2002/11/21 16:34:04 knan Exp $" CVSID4; const char *CVSid3="$Id: scsicmds.cpp,v 1.15 2002/11/21 16:49:44 knan Exp $" CVSID4;
UINT8 logsense (int device, UINT8 pagenum, UINT8 *pBuf) UINT8 logsense (int device, UINT8 pagenum, UINT8 *pBuf)
...@@ -135,7 +135,7 @@ UINT8 modeselect (int device, UINT8 pagenum, UINT8 *pBuf) ...@@ -135,7 +135,7 @@ UINT8 modeselect (int device, UINT8 pagenum, UINT8 *pBuf)
memcpy ( &tBuf[ CDB_6_HDR_SIZE + MODE_DATA_HDR_SIZE], memcpy ( &tBuf[ CDB_6_HDR_SIZE + MODE_DATA_HDR_SIZE],
pBuf + MODE_DATA_HDR_SIZE, pBuf + MODE_DATA_HDR_SIZE,
pBuf[0] - MODE_DATA_HDR_SIZE + 1); CDB_6_MAX_DATA_SIZE - MODE_DATA_HDR_SIZE);
tBuf[26] &= 0x3f; tBuf[26] &= 0x3f;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment