diff options
author | Pawel Pekala <pawel@FreeBSD.org> | 2012-07-03 14:31:11 +0000 |
---|---|---|
committer | Pawel Pekala <pawel@FreeBSD.org> | 2012-07-03 14:31:11 +0000 |
commit | a24a7d72f66562e9b7ba8d3ef75d3b4ade9b285e (patch) | |
tree | 9e7e6d38b71a489a12990f9c251048c8bdce003d /sysutils/smartmontools | |
parent | b213b224f3c1c8a99736ae228f64c82dda7e79ef (diff) |
Notes
Diffstat (limited to 'sysutils/smartmontools')
-rw-r--r-- | sysutils/smartmontools/Makefile | 3 | ||||
-rw-r--r-- | sysutils/smartmontools/distinfo | 4 | ||||
-rw-r--r-- | sysutils/smartmontools/files/patch-atacam | 24 | ||||
-rw-r--r-- | sysutils/smartmontools/files/patch-freebsd9 | 13 | ||||
-rw-r--r-- | sysutils/smartmontools/files/patch-lsibugs | 44 |
5 files changed, 10 insertions, 78 deletions
diff --git a/sysutils/smartmontools/Makefile b/sysutils/smartmontools/Makefile index edf6fb268724..fdb23f756d8d 100644 --- a/sysutils/smartmontools/Makefile +++ b/sysutils/smartmontools/Makefile @@ -6,8 +6,7 @@ # PORTNAME= smartmontools -PORTVERSION= 5.42 -PORTREVISION= 4 +PORTVERSION= 5.43 CATEGORIES= sysutils MASTER_SITES= SF diff --git a/sysutils/smartmontools/distinfo b/sysutils/smartmontools/distinfo index 860f51d2ba9e..9dfe00764360 100644 --- a/sysutils/smartmontools/distinfo +++ b/sysutils/smartmontools/distinfo @@ -1,2 +1,2 @@ -SHA256 (smartmontools-5.42.tar.gz) = b664d11e814e114ce3a32a4fa918c9e649c684e2897c007b2a8b92574decc374 -SIZE (smartmontools-5.42.tar.gz) = 742138 +SHA256 (smartmontools-5.43.tar.gz) = d845187d1500b87ef8d2c43772bd0218a59114fe58474a903c56777c9175351e +SIZE (smartmontools-5.43.tar.gz) = 767978 diff --git a/sysutils/smartmontools/files/patch-atacam b/sysutils/smartmontools/files/patch-atacam index 54a106803fdf..51c63bd40063 100644 --- a/sysutils/smartmontools/files/patch-atacam +++ b/sysutils/smartmontools/files/patch-atacam @@ -1,25 +1,15 @@ ---- os_freebsd.cpp 2012-05-31 17:43:19.000000000 +0400 -+++ os_freebsd.cpp 2012-05-31 17:45:44.000000000 +0400 -@@ -1749,8 +1769,7 @@ - if (ccb.cdm.matches[i].type == DEV_MATCH_BUS) { - bus_result = &ccb.cdm.matches[i].result.bus_result; - -- if (strcmp(bus_result->dev_name,"ata") == 0 /* ATAPICAM devices will be probed as ATA devices, skip'em there */ -- || strcmp(bus_result->dev_name,"xpt") == 0) /* skip XPT bus at all */ -+ if (strcmp(bus_result->dev_name,"xpt") == 0) /* skip XPT bus at all */ - skip_bus = 1; - else - skip_bus = 0; -@@ -1773,8 +1792,10 @@ +--- os_freebsd.cpp 2012-06-19 13:37:05.000000000 -0700 ++++ os_freebsd.cpp 2012-07-02 01:51:10.998181000 -0700 +@@ -1795,8 +1795,10 @@ * We are searching for latest name */ periph_result = &ccb.cdm.matches[i].result.periph_result; - devname = strprintf("%s%s%d", _PATH_DEV, periph_result->periph_name, periph_result->unit_number); - changed = 0; -+ if (strcmp(periph_result->periph_name, "pass")) { -+ devname = strprintf("%s%s%d", _PATH_DEV, periph_result->periph_name, periph_result->unit_number); -+ changed = 0; -+ } ++ if (strcmp(periph_result->periph_name, "pass")) { ++ devname = strprintf("%s%s%d", _PATH_DEV, periph_result->periph_name, periph_result->unit_number); ++ changed = 0; ++ } }; if ((changed == 1 || show_all) && !devname.empty()) { names.push_back(devname); diff --git a/sysutils/smartmontools/files/patch-freebsd9 b/sysutils/smartmontools/files/patch-freebsd9 deleted file mode 100644 index c34f077cd6cd..000000000000 --- a/sysutils/smartmontools/files/patch-freebsd9 +++ /dev/null @@ -1,13 +0,0 @@ ---- os_freebsd.cpp 2011/11/03 17:50:35 3466 -+++ os_freebsd.cpp 2011/11/03 20:06:19 3468 -@@ -1058,8 +1058,8 @@ - } - - if (iop->sensep) { -- memcpy(iop->sensep,&(ccb->csio.sense_data),sizeof(struct scsi_sense_data)); -- iop->resp_sense_len = sizeof(struct scsi_sense_data); -+ iop->resp_sense_len = ccb->csio.sense_len - ccb->csio.sense_resid; -+ memcpy(iop->sensep,&(ccb->csio.sense_data),iop->resp_sense_len); - } - - iop->scsi_status = ccb->csio.scsi_status; diff --git a/sysutils/smartmontools/files/patch-lsibugs b/sysutils/smartmontools/files/patch-lsibugs deleted file mode 100644 index 60f7988291e3..000000000000 --- a/sysutils/smartmontools/files/patch-lsibugs +++ /dev/null @@ -1,44 +0,0 @@ ---- os_freebsd.cpp 2011/10/06 16:43:44 3423 -+++ os_freebsd.cpp 2011/11/03 17:50:35 3466 -@@ -1013,6 +1013,20 @@ - warnx("error allocating ccb"); - return -ENOMEM; - } -+ // mfi SAT layer is known to be buggy -+ if(!strcmp("mfi",m_camdev->sim_name)) { -+ if (iop->cmnd[0] == SAT_ATA_PASSTHROUGH_12 || iop->cmnd[0] == SAT_ATA_PASSTHROUGH_16) { -+ // Controller does not return ATA output registers in SAT sense data -+ if (iop->cmnd[2] & (1 << 5)) // chk_cond -+ return set_err(ENOSYS, "ATA return descriptor not supported by controller firmware"); -+ } -+ // SMART WRITE LOG SECTOR causing media errors -+ if ((iop->cmnd[0] == SAT_ATA_PASSTHROUGH_16 && iop->cmnd[14] == ATA_SMART_CMD -+ && iop->cmnd[3]==0 && iop->cmnd[4] == ATA_SMART_WRITE_LOG_SECTOR) || -+ (iop->cmnd[0] == SAT_ATA_PASSTHROUGH_12 && iop->cmnd[9] == ATA_SMART_CMD && -+ iop->cmnd[3] == ATA_SMART_WRITE_LOG_SECTOR)) -+ return set_err(ENOSYS, "SMART WRITE LOG SECTOR command is not supported by controller firmware"); -+ } - - // clear out structure, except for header that was filled in for us - bzero(&(&ccb->ccb_h)[1], -@@ -1590,12 +1604,18 @@ - return this; - } - -- // SAT or USB ? -+ // SAT or USB, skip MFI controllers because of bugs - { - smart_device * newdev = smi()->autodetect_sat_device(this, req_buff, len); -- if (newdev) -+ if (newdev) { - // NOTE: 'this' is now owned by '*newdev' -+ if(!strcmp("mfi",m_camdev->sim_name)) { -+ newdev->close(); -+ newdev->set_err(ENOSYS, "SATA device detected,\n" -+ "MegaRAID SAT layer is reportedly buggy, use '-d sat' to try anyhow"); -+ } - return newdev; -+ } - } - - // Nothing special found
\ No newline at end of file |