Fix many typos.
Patch provided by Harry Mallon. git-svn-id: http://svn.code.sf.net/p/smartmontools/code/trunk@4842 4ea69e1a-61f1-4043-bf83-b5c94c648137pull/23/head
parent
613b1f96b0
commit
c17163f257
|
@ -2,6 +2,8 @@ $Id$
|
|||
|
||||
2018-12-02 Harry Mallon <hjmallon@gmail.com>
|
||||
|
||||
Fix many typos.
|
||||
|
||||
ataprint.cpp: Fix Form Factor string with bits set in reserved area
|
||||
- Happens with APPLE SSD SD0256F
|
||||
|
||||
|
|
|
@ -209,7 +209,7 @@ Table of contents:
|
|||
CXXFLAGS='your options' to ./configure command.
|
||||
|
||||
The first output line of smartctl and smartd provides information
|
||||
about release number, last SVN checkin date and revison, platform,
|
||||
about release number, last SVN checkin date and revision, platform,
|
||||
and package. The latter defaults to "(local build)" and can be
|
||||
changed by the variable BUILD_INFO, for example:
|
||||
make BUILD_INFO='"(Debian 5.39-2)"'
|
||||
|
|
|
@ -42,7 +42,7 @@ bool dont_print_serial_number = false;
|
|||
|
||||
// SMART RETURN STATUS yields SMART_CYL_HI,SMART_CYL_LOW to indicate drive
|
||||
// is healthy and SRET_STATUS_HI_EXCEEDED,SRET_STATUS_MID_EXCEEDED to
|
||||
// indicate that a threshhold exceeded condition has been detected.
|
||||
// indicate that a threshold exceeded condition has been detected.
|
||||
// Those values (byte pairs) are placed in ATA register "LBA 23:8".
|
||||
#define SRET_STATUS_HI_EXCEEDED 0x2C
|
||||
#define SRET_STATUS_MID_EXCEEDED 0xF4
|
||||
|
@ -257,7 +257,7 @@ bool parse_attribute_def(const char * opt, ata_vendor_attr_defs & defs,
|
|||
|
||||
|
||||
// Return a multiline string containing a list of valid arguments for
|
||||
// parse_attribute_def(). The strings are preceeded by tabs and followed
|
||||
// parse_attribute_def(). The strings are preceded by tabs and followed
|
||||
// (except for the last) by newlines.
|
||||
std::string create_vendor_attribute_arg_list()
|
||||
{
|
||||
|
@ -1247,7 +1247,7 @@ int ataWriteSelectiveSelfTestLog(ata_device * device, ata_selective_selftest_arg
|
|||
int mode = args.span[i].mode;
|
||||
uint64_t start = args.span[i].start;
|
||||
uint64_t end = args.span[i].end;
|
||||
if (mode == SEL_CONT) {// redo or next dependig on last test status
|
||||
if (mode == SEL_CONT) {// redo or next depending on last test status
|
||||
switch (sv->self_test_exec_status >> 4) {
|
||||
case 1: case 2: // Aborted/Interrupted by host
|
||||
pout("Continue Selective Self-Test: Redo last span\n");
|
||||
|
@ -1263,7 +1263,7 @@ int ataWriteSelectiveSelfTestLog(ata_device * device, ata_selective_selftest_arg
|
|||
if ( (mode == SEL_REDO || mode == SEL_NEXT)
|
||||
&& prev_args && i < prev_args->num_spans
|
||||
&& !data->span[i].start && !data->span[i].end) {
|
||||
// Some drives do not preserve the selective self-test log accross
|
||||
// Some drives do not preserve the selective self-test log across
|
||||
// power-cyles. If old span on drive is cleared use span provided
|
||||
// by caller. This is used by smartd (first span only).
|
||||
data->span[i].start = prev_args->span[i].start;
|
||||
|
|
|
@ -208,7 +208,7 @@ struct ata_smart_values {
|
|||
unsigned char offline_data_collection_status;
|
||||
unsigned char self_test_exec_status; //IBM # segments for offline collection
|
||||
unsigned short int total_time_to_complete_off_line; // IBM different
|
||||
unsigned char vendor_specific_366; // Maxtor & IBM curent segment pointer
|
||||
unsigned char vendor_specific_366; // Maxtor & IBM current segment pointer
|
||||
unsigned char offline_data_collection_capability;
|
||||
unsigned short int smart_capability;
|
||||
unsigned char errorlog_capability;
|
||||
|
@ -843,7 +843,7 @@ int ataSmartSupport(const ata_identify_device * drive);
|
|||
int ataGetSetSCTWriteCacheReordering(ata_device * device, bool enable, bool persistent, bool set);
|
||||
|
||||
// Return values:
|
||||
// 1: Write cache controled by ATA Set Features command
|
||||
// 1: Write cache controlled by ATA Set Features command
|
||||
// 2: Force enable write cache
|
||||
// 3: Force disable write cache
|
||||
int ataGetSetSCTWriteCache(ata_device * device, unsigned short state, bool persistent, bool set);
|
||||
|
|
|
@ -2797,7 +2797,7 @@ static void ataPrintSelectiveSelfTestLog(const ata_selective_self_test_log * log
|
|||
maxr=end;
|
||||
}
|
||||
|
||||
// we need at least 7 characters wide fields to accomodate the
|
||||
// we need at least 7 characters wide fields to accommodate the
|
||||
// labels
|
||||
int field1,field2;
|
||||
char tmp[64];
|
||||
|
|
|
@ -80,7 +80,7 @@ AM_CONDITIONAL(IS_SVN_BUILD, [test "$is_svn_build" = "yes"])
|
|||
AC_MSG_RESULT([$is_svn_build])
|
||||
|
||||
# Note: On Linux, clock_gettime() requires -lrt which implies -lpthreads
|
||||
# Check ommitted for now, gettimeofday() provides reasonable precision
|
||||
# Check omitted for now, gettimeofday() provides reasonable precision
|
||||
# AC_SEARCH_LIBS(clock_gettime, rt)
|
||||
|
||||
# Checks for header files.
|
||||
|
|
|
@ -245,7 +245,7 @@ private:
|
|||
// Number of objects.
|
||||
static int s_num_objects;
|
||||
|
||||
// Prevent copy/assigment
|
||||
// Prevent copy/assignment
|
||||
smart_device(const smart_device &);
|
||||
void operator=(const smart_device &);
|
||||
};
|
||||
|
@ -853,7 +853,7 @@ public:
|
|||
private:
|
||||
std::vector<smart_device *> m_list;
|
||||
|
||||
// Prevent copy/assigment
|
||||
// Prevent copy/assignment
|
||||
smart_device_list(const smart_device_list &);
|
||||
void operator=(const smart_device_list &);
|
||||
};
|
||||
|
@ -1032,7 +1032,7 @@ private:
|
|||
friend smart_interface * smi(); // below
|
||||
static smart_interface * s_instance; ///< Pointer to the interface object.
|
||||
|
||||
// Prevent copy/assigment
|
||||
// Prevent copy/assignment
|
||||
smart_interface(const smart_interface &);
|
||||
void operator=(const smart_interface &);
|
||||
};
|
||||
|
|
|
@ -1389,7 +1389,7 @@ const drive_settings builtin_knowndrives[] = {
|
|||
"Kingston SSDNow V Series [0-9]*GB|" // tested with Kingston SSDNow V Series 64GB/B090522a
|
||||
"TS(2|4|8|16|32|64|128|192)GSSD(18|25)[MS]?-[MS]", // Transcend IDE and SATA, tested with
|
||||
// TS32GSSD25-M/V090331, TS32GSSD18M-M/v090331
|
||||
"[BVv].*", // other Transcend SSD versions will be catched by subsequent entry
|
||||
"[BVv].*", // other Transcend SSD versions will be caught by subsequent entry
|
||||
"",
|
||||
//"-v 9,raw24(raw8),Power_On_Hours " // raw value always 0?
|
||||
//"-v 12,raw48,Power_Cycle_Count "
|
||||
|
|
|
@ -716,7 +716,7 @@ static parse_ptr get_token(parse_ptr src, token_info & token, const char * path,
|
|||
}
|
||||
token.value += c;
|
||||
}
|
||||
// Lookahead to detect string constant concatentation
|
||||
// Lookahead to detect string constant concatenation
|
||||
src = skip_white(++src, path, line);
|
||||
} while (*src == '"');
|
||||
break;
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
|
||||
#include <stdint.h>
|
||||
|
||||
// The code below was orginally imported from <linux/nvme.h> include file from
|
||||
// The code below was originally imported from <linux/nvme.h> include file from
|
||||
// Linux kernel sources. Types from <linux/types.h> were replaced.
|
||||
// Symbol names are unchanged but placed in a namespace to allow inclusion
|
||||
// of the original <linux/nvme.h>.
|
||||
|
|
|
@ -1075,7 +1075,7 @@ bool freebsd_scsi_device::scsi_pass_through(scsi_cmnd_io * iop)
|
|||
/* datalen */ iop->dxfer_len,
|
||||
/* senselen */ iop->max_sense_len,
|
||||
/* cdblen */ iop->cmnd_len,
|
||||
/* timout (converted to seconds) */ iop->timeout*1000);
|
||||
/* timeout (converted to seconds) */ iop->timeout*1000);
|
||||
memcpy(ccb->csio.cdb_io.cdb_bytes,iop->cmnd,iop->cmnd_len);
|
||||
|
||||
if (cam_send_ccb(m_camdev,ccb) < 0) {
|
||||
|
|
|
@ -168,7 +168,7 @@ scsi_device * generic_smart_interface::get_scsi_device(const char * name, const
|
|||
smart_device * generic_smart_interface::autodetect_smart_device(const char * name)
|
||||
{
|
||||
ARGUSED(name);
|
||||
// for the given name return the apropriate device type
|
||||
// for the given name return the appropriate device type
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
*
|
||||
* Copyright (C) 1999-2003 3ware Inc.
|
||||
*
|
||||
* Kernel compatablity By: Andre Hedrick <andre@suse.com>
|
||||
* Kernel compatibility By: Andre Hedrick <andre@suse.com>
|
||||
* Non-Copyright (C) 2000 Andre Hedrick <andre@suse.com>
|
||||
*
|
||||
* Other ars of this file are derived from code that was
|
||||
|
@ -897,7 +897,7 @@ static int do_normal_scsi_cmnd_io(int dev_fd, struct scsi_cmnd_io * iop,
|
|||
sg_io_state = SG_IO_UNSUPP;
|
||||
/* FALLTHRU */
|
||||
case SG_IO_UNSUPP:
|
||||
/* depricated SCSI_IOCTL_SEND_COMMAND ioctl */
|
||||
/* deprecated SCSI_IOCTL_SEND_COMMAND ioctl */
|
||||
return sisc_cmnd_io(dev_fd, iop, report);
|
||||
case SG_IO_USE_V3:
|
||||
case SG_IO_USE_V4:
|
||||
|
@ -1294,7 +1294,7 @@ bool linux_megaraid_device::open()
|
|||
int err = errno;
|
||||
linux_smart_device::close();
|
||||
return set_err(err, "can't get bus number");
|
||||
} // we dont need this device anymore
|
||||
} // we don't need this device anymore
|
||||
linux_smart_device::close();
|
||||
}
|
||||
/* Perform mknod of device ioctl node */
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
*
|
||||
* Copyright (C) 1999-2003 3ware Inc.
|
||||
*
|
||||
* Kernel compatablity By: Andre Hedrick <andre@suse.com>
|
||||
* Kernel compatibility By: Andre Hedrick <andre@suse.com>
|
||||
* Non-Copyright (C) 2000 Andre Hedrick <andre@suse.com>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
|
|
@ -33,7 +33,7 @@ printwarning(int msgNo, const char *extra)
|
|||
static int printed[] = {0, 0};
|
||||
static const char *message[] = {
|
||||
"Error: SMART Status command failed.\nPlease get assistance from \n" PACKAGE_HOMEPAGE "\nRegister values returned from SMART Status command are:\n",
|
||||
PACKAGE_STRING " does not currentlly support twe(4) devices (3ware Escalade)\n",
|
||||
PACKAGE_STRING " does not currently support twe(4) devices (3ware Escalade)\n",
|
||||
};
|
||||
|
||||
if (msgNo >= 0 && msgNo <= MAX_MSG) {
|
||||
|
|
|
@ -374,7 +374,7 @@ static int dani_ioctl( int device, void* arg)
|
|||
return 0;
|
||||
}
|
||||
|
||||
// Interface to ATA devices. See os_linux.cpp for the cannonical example.
|
||||
// Interface to ATA devices. See os_linux.cpp for the canonical example.
|
||||
// DETAILED DESCRIPTION OF ARGUMENTS
|
||||
// device: is the integer handle provided by deviceopen()
|
||||
// command: defines the different operations, see atacmds.h
|
||||
|
|
|
@ -113,7 +113,7 @@ int deviceclose(int fd)
|
|||
return(close(fd));
|
||||
}
|
||||
//----------------------------------------------------------------------------------------------
|
||||
// Interface to ATA devices. See os_linux.cpp for the cannonical example.
|
||||
// Interface to ATA devices. See os_linux.cpp for the canonical example.
|
||||
// DETAILED DESCRIPTION OF ARGUMENTS
|
||||
// device: is the integer handle provided by deviceopen()
|
||||
// command: defines the different operations, see atacmds.h
|
||||
|
|
|
@ -548,7 +548,7 @@ static int smart_get_version(HANDLE hdevice, GETVERSIONINPARAMS_EX * ata_version
|
|||
assert(num_out == sizeof(GETVERSIONINPARAMS));
|
||||
|
||||
if (ata_debugmode > 1) {
|
||||
pout(" SMART_GET_VERSION suceeded, bytes returned: %u\n"
|
||||
pout(" SMART_GET_VERSION succeeded, bytes returned: %u\n"
|
||||
" Vers = %d.%d, Caps = 0x%x, DeviceMap = 0x%02x\n",
|
||||
(unsigned)num_out, vers.bVersion, vers.bRevision,
|
||||
(unsigned)vers.fCapabilities, vers.bIDEDeviceMap);
|
||||
|
@ -642,7 +642,7 @@ static int smart_ioctl(HANDLE hdevice, IDEREGS * regs, char * data, unsigned dat
|
|||
}
|
||||
|
||||
if (ata_debugmode > 1) {
|
||||
pout(" %s suceeded, bytes returned: %u (buffer %u)\n", name,
|
||||
pout(" %s succeeded, bytes returned: %u (buffer %u)\n", name,
|
||||
(unsigned)num_out, (unsigned)outpar->cBufferSize);
|
||||
print_ide_regs_io(regs, (regs->bFeaturesReg == ATA_SMART_STATUS ?
|
||||
(const IDEREGS *)(outpar->bBuffer) : NULL));
|
||||
|
@ -731,7 +731,7 @@ static int ide_pass_through_ioctl(HANDLE hdevice, IDEREGS * regs, char * data, u
|
|||
}
|
||||
|
||||
if (ata_debugmode > 1) {
|
||||
pout(" IOCTL_IDE_PASS_THROUGH suceeded, bytes returned: %u (buffer %u)\n",
|
||||
pout(" IOCTL_IDE_PASS_THROUGH succeeded, bytes returned: %u (buffer %u)\n",
|
||||
(unsigned)num_out, (unsigned)buf->DataBufferSize);
|
||||
print_ide_regs_io(regs, &buf->IdeReg);
|
||||
}
|
||||
|
@ -848,7 +848,7 @@ static int ata_pass_through_ioctl(HANDLE hdevice, IDEREGS * regs, IDEREGS * prev
|
|||
}
|
||||
|
||||
if (ata_debugmode > 1) {
|
||||
pout(" IOCTL_ATA_PASS_THROUGH suceeded, bytes returned: %u\n", (unsigned)num_out);
|
||||
pout(" IOCTL_ATA_PASS_THROUGH succeeded, bytes returned: %u\n", (unsigned)num_out);
|
||||
print_ide_regs_io(regs, ctfregs);
|
||||
}
|
||||
*regs = *ctfregs;
|
||||
|
@ -979,7 +979,7 @@ static int ata_via_scsi_miniport_smart_ioctl(HANDLE hdevice, IDEREGS * regs, cha
|
|||
}
|
||||
|
||||
if (ata_debugmode > 1) {
|
||||
pout(" IOCTL_SCSI_MINIPORT_%s suceeded, bytes returned: %u (buffer %u)\n", name,
|
||||
pout(" IOCTL_SCSI_MINIPORT_%s succeeded, bytes returned: %u (buffer %u)\n", name,
|
||||
(unsigned)num_out, (unsigned)sb.params.out.cBufferSize);
|
||||
print_ide_regs_io(regs, (code == IOCTL_SCSI_MINIPORT_RETURN_STATUS ?
|
||||
(const IDEREGS *)(sb.params.out.bBuffer) : 0));
|
||||
|
@ -1046,7 +1046,7 @@ static int ata_via_3ware_miniport_ioctl(HANDLE hdevice, IDEREGS * regs, char * d
|
|||
memcpy(data, sb.buffer, datasize);
|
||||
|
||||
if (ata_debugmode > 1) {
|
||||
pout(" ATA via IOCTL_SCSI_MINIPORT suceeded, bytes returned: %u\n", (unsigned)num_out);
|
||||
pout(" ATA via IOCTL_SCSI_MINIPORT succeeded, bytes returned: %u\n", (unsigned)num_out);
|
||||
print_ide_regs_io(regs, &sb.regs);
|
||||
}
|
||||
*regs = sb.regs;
|
||||
|
@ -1087,7 +1087,7 @@ static int update_3ware_devicemap_ioctl(HANDLE hdevice)
|
|||
return -1;
|
||||
}
|
||||
if (ata_debugmode > 1)
|
||||
pout(" UPDATE DEVICEMAP via IOCTL_SCSI_MINIPORT suceeded\n");
|
||||
pout(" UPDATE DEVICEMAP via IOCTL_SCSI_MINIPORT succeeded\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -1138,7 +1138,7 @@ static int storage_query_property_ioctl(HANDLE hdevice, STORAGE_DEVICE_DESCRIPTO
|
|||
// IOCTL_STORAGE_PREDICT_FAILURE
|
||||
|
||||
// Call IOCTL_STORAGE_PREDICT_FAILURE, return PredictFailure value
|
||||
// or -1 on error, opionally return VendorSpecific data.
|
||||
// or -1 on error, optionally return VendorSpecific data.
|
||||
// (This works without admin rights)
|
||||
|
||||
static int storage_predict_failure_ioctl(HANDLE hdevice, char * data = 0)
|
||||
|
@ -3846,7 +3846,7 @@ bool win10_nvme_device::nvme_pass_through(const nvme_cmd_in & in, nvme_cmd_out &
|
|||
STORAGE_PROTOCOL_SPECIFIC_QUERY_WITH_BUFFER * spsq =
|
||||
reinterpret_cast<STORAGE_PROTOCOL_SPECIFIC_QUERY_WITH_BUFFER *>(spsq_raw_buf.data());
|
||||
|
||||
// Set NVMe specifc STORAGE_PROPERTY_QUERY
|
||||
// Set NVMe specific STORAGE_PROPERTY_QUERY
|
||||
spsq->PropertyQuery.QueryType = PropertyStandardQuery;
|
||||
spsq->ProtocolSpecific.ProtocolType = win10::ProtocolTypeNvme;
|
||||
|
||||
|
|
|
@ -864,7 +864,7 @@ static int svcadm_main(const char * ident, const daemon_winsvc_options * svc_opt
|
|||
SERVICE_WIN32_OWN_PROCESS,
|
||||
SERVICE_AUTO_START, SERVICE_ERROR_NORMAL, path,
|
||||
NULL/*no load ordering*/, NULL/*no tag id*/,
|
||||
""/*no depedencies*/, NULL/*local system account*/, NULL/*no pw*/))) {
|
||||
""/*no dependencies*/, NULL/*local system account*/, NULL/*no pw*/))) {
|
||||
if ((err = GetLastError()) == ERROR_SERVICE_EXISTS)
|
||||
puts(" the service is already installed");
|
||||
else if (err == ERROR_SERVICE_MARKED_FOR_DELETE)
|
||||
|
|
|
@ -547,7 +547,7 @@ smart_device * sat_device::autodetect_open()
|
|||
static bool has_sat_pass_through(ata_device * dev, bool packet_interface = false)
|
||||
{
|
||||
/* Note: malloc() ensures the read buffer lands on a single
|
||||
page. This avoids some bugs seen on LSI controlers under
|
||||
page. This avoids some bugs seen on LSI controllers under
|
||||
FreeBSD */
|
||||
char *data = (char *)malloc(512);
|
||||
ata_cmd_in in;
|
||||
|
@ -849,7 +849,7 @@ int usbcypress_device::ata_command_interface(smart_command_set command, int sele
|
|||
cdb[2] = (1<<0); /* ask read taskfile */
|
||||
memset(sense, 0, sizeof(sense));
|
||||
|
||||
/* transfert 8 bytes */
|
||||
/* transfer 8 bytes */
|
||||
memset(&io_hdr, 0, sizeof(io_hdr));
|
||||
io_hdr.dxfer_dir = DXFER_FROM_DEVICE;
|
||||
io_hdr.dxfer_len = ard_len;
|
||||
|
|
|
@ -146,7 +146,7 @@ dStrHex(const uint8_t * up, int len, int no_ascii)
|
|||
* structures that are sent across the wire. The FIS register structure is
|
||||
* used to move a command from a SATA host to device, but the ATA 'command'
|
||||
* is not the first byte. So it is harder to say what will happen if a
|
||||
* FIS structure is presented as a SCSI command, hopfully there is a low
|
||||
* FIS structure is presented as a SCSI command, hopefully there is a low
|
||||
* probability this function will yield true in that case. */
|
||||
bool
|
||||
is_scsi_cdb(const uint8_t * cdbp, int clen)
|
||||
|
@ -963,7 +963,7 @@ scsiRequestSense(scsi_device * device, struct scsi_sense_disect * sense_info)
|
|||
sense_info->ascq = buff[13];
|
||||
}
|
||||
}
|
||||
// fill progrss indicator, if available
|
||||
// fill progress indicator, if available
|
||||
sense_info->progress = -1;
|
||||
switch (resp_code) {
|
||||
const unsigned char * ucp;
|
||||
|
@ -2445,7 +2445,7 @@ scsiSelfTestInProgress(scsi_device * fd, int * inProgress)
|
|||
return 0;
|
||||
}
|
||||
|
||||
/* Returns a negative value if failed to fetch Contol mode page or it was
|
||||
/* Returns a negative value if failed to fetch Control mode page or it was
|
||||
malformed. Returns 0 if GLTSD bit is zero and returns 1 if the GLTSD
|
||||
bit is set. Examines default mode page when current==0 else examines
|
||||
current mode page. */
|
||||
|
@ -2584,14 +2584,14 @@ scsiGetSetCache(scsi_device * device, int modese_len, short int * wcep,
|
|||
MPAGE_CONTROL_CHANGEABLE,
|
||||
ch_buff, sizeof(ch_buff));
|
||||
if (err) {
|
||||
device->set_err(EINVAL, "WCE/RCD bits not changable");
|
||||
device->set_err(EINVAL, "WCE/RCD bits not changeable");
|
||||
return err;
|
||||
}
|
||||
|
||||
// set WCE bit
|
||||
if(set_wce >= 0 && *wcep != set_wce) {
|
||||
if (0 == (ch_buff[offset + 2] & 0x04)) {
|
||||
device->set_err(EINVAL, "WCE bit not changable");
|
||||
device->set_err(EINVAL, "WCE bit not changeable");
|
||||
return 1;
|
||||
}
|
||||
if(set_wce)
|
||||
|
@ -2602,7 +2602,7 @@ scsiGetSetCache(scsi_device * device, int modese_len, short int * wcep,
|
|||
// set RCD bit
|
||||
if(set_rcd >= 0 && *rcdp != set_rcd) {
|
||||
if (0 == (ch_buff[offset + 2] & 0x01)) {
|
||||
device->set_err(EINVAL, "RCD bit not changable");
|
||||
device->set_err(EINVAL, "RCD bit not changeable");
|
||||
return 1;
|
||||
}
|
||||
if(set_rcd)
|
||||
|
|
|
@ -236,7 +236,7 @@ struct scsi_readcap_resp {
|
|||
/* Log page response lengths */
|
||||
#define LOG_RESP_SELF_TEST_LEN 0x194
|
||||
|
||||
/* See the SSC-2 document at www.t10.org . Earler note: From IBM
|
||||
/* See the SSC-2 document at www.t10.org . Earlier note: From IBM
|
||||
Documentation, see http://www.storage.ibm.com/techsup/hddtech/prodspecs.htm */
|
||||
#define TAPE_ALERTS_LPAGE 0x2e
|
||||
|
||||
|
@ -382,7 +382,7 @@ extern supported_vpd_pages * supported_vpd_pages_p;
|
|||
* structures that are sent across the wire. The FIS register structure is
|
||||
* used to move a command from a SATA host to device, but the ATA 'command'
|
||||
* is not the first byte. So it is harder to say what will happen if a
|
||||
* FIS structure is presented as a SCSI command, hopfully there is a low
|
||||
* FIS structure is presented as a SCSI command, hopefully there is a low
|
||||
* probability this function will yield true in that case. */
|
||||
bool is_scsi_cdb(const uint8_t * cdbp, int clen);
|
||||
|
||||
|
|
|
@ -1462,7 +1462,7 @@ show_sas_phy_event_info(int peis, unsigned int val, unsigned thresh_val)
|
|||
pout(" Received retry-class OPEN_REJECT count: %u\n", val);
|
||||
break;
|
||||
case 0x25:
|
||||
pout(" Received AIP (WATING ON PARTIAL) count: %u\n", val);
|
||||
pout(" Received AIP (WAITING ON PARTIAL) count: %u\n", val);
|
||||
break;
|
||||
case 0x26:
|
||||
pout(" Received AIP (WAITING ON CONNECTION) count: %u\n", val);
|
||||
|
@ -2102,7 +2102,7 @@ scsiGetDriveInfo(scsi_device * device, uint8_t * peripheral_type, bool all)
|
|||
jglb["local_time"]["time_t"] = now;
|
||||
jglb["local_time"]["asctime"] = timedatetz;
|
||||
|
||||
// See if unit accepts SCSI commmands from us
|
||||
// See if unit accepts SCSI commands from us
|
||||
if ((err = scsiTestUnitReady(device))) {
|
||||
if (SIMPLE_ERR_NOT_READY == err) {
|
||||
print_on();
|
||||
|
|
|
@ -1207,7 +1207,7 @@ Information log.
|
|||
This is the default unless the \*(Aq\-x\*(Aq option is specified.
|
||||
.Sp
|
||||
.I brief
|
||||
\- New format which fits into 80 colums (except in some rare cases).
|
||||
\- New format which fits into 80 columns (except in some rare cases).
|
||||
This format also decodes four additional attribute flags.
|
||||
This is the default if the \*(Aq'\-x\*(Aq option is specified.
|
||||
.Sp
|
||||
|
@ -1771,7 +1771,7 @@ accordingly.
|
|||
.I xerrorlba
|
||||
\- Fixes LBA byte ordering in Extended Comprehensive SMART error log.
|
||||
Some disks use little endian byte ordering instead of ATA register
|
||||
ordering to specifiy the LBA addresses in the log entries.
|
||||
ordering to specify the LBA addresses in the log entries.
|
||||
.Sp
|
||||
.I swapid
|
||||
\- Fixes byte swapped ATA identify strings (device name, serial number,
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
|
||||
// Return codes (bitmask)
|
||||
|
||||
// command line did not parse, or internal error occured in smartctl
|
||||
// command line did not parse, or internal error occurred in smartctl
|
||||
#define FAILCMD (0x01<<0)
|
||||
|
||||
// device open failed
|
||||
|
|
|
@ -998,7 +998,7 @@ static void sighandler(int sig)
|
|||
} // extern "C"
|
||||
|
||||
#ifdef HAVE_LIBCAP_NG
|
||||
// capabilites(7) support
|
||||
// capabilities(7) support
|
||||
|
||||
static bool capabilities_enabled = false;
|
||||
|
||||
|
@ -1027,7 +1027,7 @@ static void capabilities_check_config(dev_config_vector & configs)
|
|||
}
|
||||
|
||||
#else // HAVE_LIBCAP_NG
|
||||
// No capabilites(7) support
|
||||
// No capabilities(7) support
|
||||
|
||||
static inline void capabilities_drop_now() { }
|
||||
static inline void capabilities_check_config(dev_config_vector &) { }
|
||||
|
@ -1213,7 +1213,7 @@ static void MailWarning(const dev_config & cfg, dev_state & state, int which, co
|
|||
PrintOut(LOG_CRIT,"%s %s to %s: failed (fork or pipe failed, or no memory) %s\n",
|
||||
newwarn, executable, newadd, errno?strerror(errno):"");
|
||||
else {
|
||||
// pipe suceeded!
|
||||
// pipe succeeded!
|
||||
int len, status;
|
||||
char buffer[EBUFLEN];
|
||||
|
||||
|
@ -1678,7 +1678,7 @@ static int CloseDevice(smart_device * device, const char * name)
|
|||
PrintOut(LOG_INFO,"Device: %s, %s, close() failed\n", name, device->get_errmsg());
|
||||
return 1;
|
||||
}
|
||||
// device sucessfully closed
|
||||
// device successfully closed
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -4680,7 +4680,7 @@ static int ParseConfigLine(dev_config_vector & conf_entries, dev_config & defaul
|
|||
// -3: config file exists but cannot be read
|
||||
//
|
||||
// In the case where the return value is 0, there are three
|
||||
// possiblities:
|
||||
// possibilities:
|
||||
// Empty configuration file ==> conf_entries.empty()
|
||||
// No configuration file ==> conf_entries[0].lineno == 0
|
||||
// SCANDIRECTIVE found ==> conf_entries.back().lineno != 0 (size >= 1)
|
||||
|
@ -5406,7 +5406,7 @@ static bool register_devices(const dev_config_vector & conf_entries, smart_devic
|
|||
// If scanning, pass dev_idinfo of previous devices for duplicate check
|
||||
dev_state state;
|
||||
if (!register_device(cfg, state, dev, (scanning ? &configs : 0))) {
|
||||
// if device is explictly listed and we can't register it, then
|
||||
// if device is explicitly listed and we can't register it, then
|
||||
// exit unless the user has specified that the device is removable
|
||||
if (!scanning) {
|
||||
if (!(cfg.removable || quit == QUIT_NEVER)) {
|
||||
|
@ -5561,7 +5561,7 @@ static int main_worker(int argc, char **argv)
|
|||
|
||||
// user has asked us to exit after first check
|
||||
if (quit == QUIT_ONECHECK) {
|
||||
PrintOut(LOG_INFO,"Started with '-q onecheck' option. All devices sucessfully checked once.\n"
|
||||
PrintOut(LOG_INFO,"Started with '-q onecheck' option. All devices successfully checked once.\n"
|
||||
"smartd is exiting (exit status 0)\n");
|
||||
// assert(firstpass);
|
||||
return 0;
|
||||
|
|
|
@ -169,7 +169,7 @@ static char *ReadSiteDefaultTimezone(){
|
|||
#endif
|
||||
|
||||
// Make sure that this executable is aware if the user has changed the
|
||||
// time-zone since the last time we polled devices. The cannonical
|
||||
// time-zone since the last time we polled devices. The canonical
|
||||
// example is a user who starts smartd on a laptop, then flies across
|
||||
// time-zones with a laptop, and then changes the timezone, WITHOUT
|
||||
// restarting smartd. This is a work-around for a bug in
|
||||
|
|
|
@ -43,7 +43,7 @@
|
|||
// Make version information string
|
||||
std::string format_version_info(const char * prog_name, bool full = false);
|
||||
|
||||
// return (v)sprintf() formated std::string
|
||||
// return (v)sprintf() formatted std::string
|
||||
std::string strprintf(const char * fmt, ...)
|
||||
__attribute_format_printf(1, 2);
|
||||
std::string vstrprintf(const char * fmt, va_list ap);
|
||||
|
@ -322,4 +322,3 @@ std::string get_exe_dir();
|
|||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
|
|
Loading…
Reference in New Issue