diff options
author | Dmitry Marakasov <amdmi3@FreeBSD.org> | 2009-12-08 01:27:32 +0000 |
---|---|---|
committer | Dmitry Marakasov <amdmi3@FreeBSD.org> | 2009-12-08 01:27:32 +0000 |
commit | e6f2e41f36b03d49d524327a2b8a60f0ce2a93e9 (patch) | |
tree | 7417ca0b7879f4b2543754b7ed6c9d60b9a20408 /sysutils/smartmontools-devel/files/patch-os__freebsd.cpp | |
parent | - Update to 3.1.20090729 (diff) |
- Update to 5.38.2874
PR: 138108
Submitted by: Marcin Wisnicki <mwisnicki+freebsd@gmail.com>
No objection from: marck (sysutils/smartmontools maintainer)
Notes
Notes:
svn path=/head/; revision=245369
Diffstat (limited to 'sysutils/smartmontools-devel/files/patch-os__freebsd.cpp')
-rw-r--r-- | sysutils/smartmontools-devel/files/patch-os__freebsd.cpp | 55 |
1 files changed, 4 insertions, 51 deletions
diff --git a/sysutils/smartmontools-devel/files/patch-os__freebsd.cpp b/sysutils/smartmontools-devel/files/patch-os__freebsd.cpp index c752a93a8547..f4b184a6205c 100644 --- a/sysutils/smartmontools-devel/files/patch-os__freebsd.cpp +++ b/sysutils/smartmontools-devel/files/patch-os__freebsd.cpp @@ -1,58 +1,11 @@ - -$FreeBSD$ - ---- os_freebsd.cpp.orig -+++ os_freebsd.cpp -@@ -272,7 +272,6 @@ - } - - int highpoint_command_interface(__unused int fd, __unused smart_command_set command, __unused int select, __unused char *data) { --{ - return -1; - } - -@@ -341,6 +340,15 @@ - request.count=512; - copydata=1; - break; -+ case WRITE_LOG: -+ memcpy(buff, data, 512); -+ request.u.ata.feature=ATA_SMART_WRITE_LOG_SECTOR; -+ request.u.ata.lba=select|(0xc24f<<8); -+ request.u.ata.count=1; -+ request.flags=ATA_CMD_WRITE; -+ request.data=(char *)buff; -+ request.count=512; -+ break; - case IDENTIFY: - request.u.ata.command=ATA_IDENTIFY_DEVICE; - request.flags=ATA_CMD_READ; -@@ -525,7 +533,7 @@ +--- os_freebsd.cpp.orig 2008-03-04 23:09:47.000000000 +0100 ++++ os_freebsd.cpp 2008-03-14 13:52:37.000000000 +0100 +@@ -525,7 +524,7 @@ return -1; } - + - if ((ccb->ccb_h.status & CAM_STATUS_MASK) != CAM_REQ_CMP) { + if (((ccb->ccb_h.status & CAM_STATUS_MASK) != CAM_REQ_CMP) && ((ccb->ccb_h.status & CAM_STATUS_MASK) != CAM_SCSI_STATUS_ERROR)) { #if __FreeBSD_version > 500000 cam_error_print(cam_dev,ccb,CAM_ESF_ALL,CAM_EPF_ALL,stderr); #endif -@@ -924,6 +932,7 @@ - static const char * fbsd_dev_prefix = "/dev/"; - static const char * fbsd_dev_ata_disk_prefix = "ad"; - static const char * fbsd_dev_scsi_disk_plus = "da"; -+static const char * fbsd_dev_scsi_pass = "pass"; - static const char * fbsd_dev_scsi_tape1 = "sa"; - static const char * fbsd_dev_scsi_tape2 = "nsa"; - static const char * fbsd_dev_scsi_tape3 = "esa"; -@@ -960,6 +969,11 @@ - return CONTROLLER_ATA; - } - -+ // form /dev/pass* or pass* -+ if (!strncmp(fbsd_dev_scsi_pass, dev_name, -+ strlen(fbsd_dev_scsi_pass))) -+ goto handlescsi; -+ - // form /dev/da* or da* - if (!strncmp(fbsd_dev_scsi_disk_plus, dev_name, - strlen(fbsd_dev_scsi_disk_plus))) |