ports/161018: [MAINTAINER] sysutils/smartmontools: [SUMMARIZE CHANGES]

Alex Samorukov samm at os2.kiev.ua
Sun Sep 25 19:40:09 UTC 2011


>Number:         161018
>Category:       ports
>Synopsis:       [MAINTAINER] sysutils/smartmontools: [SUMMARIZE CHANGES]
>Confidential:   no
>Severity:       serious
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          maintainer-update
>Submitter-Id:   current-users
>Arrival-Date:   Sun Sep 25 19:40:08 UTC 2011
>Closed-Date:
>Last-Modified:
>Originator:     Alex Samorukov
>Release:        FreeBSD 8.2-RELEASE i386
>Organization:
NetArt s.r.o.
>Environment:
System: FreeBSD bsd 8.2-RELEASE FreeBSD 8.2-RELEASE #0: Fri Feb 18 02:24:46 UTC 2011
>Description:
This patch from upstream address 2 issues:

1) SMART health status is always "GOOD" with atacam driver.
2) Command "-l scterc" is broken on ata and atacam drivers.
See https://sourceforge.net/apps/trac/smartmontools/ticket/198 for more
details.

Added file(s):
- files/patch-os_freebsd

Generated with FreeBSD Port Tools 0.99
>How-To-Repeat:
>Fix:

--- smartmontools-5.41_3.patch begins here ---
diff -ruN --exclude=CVS /usr/ports/sysutils/smartmontools/Makefile /root/smartmontools/Makefile
--- /usr/ports/sysutils/smartmontools/Makefile	2011-07-22 08:38:53.000000000 +0200
+++ /root/smartmontools/Makefile	2011-09-25 21:09:31.000000000 +0200
@@ -7,7 +7,7 @@
 
 PORTNAME=	smartmontools
 PORTVERSION=	5.41
-PORTREVISION=	2
+PORTREVISION=	3
 CATEGORIES=	sysutils
 MASTER_SITES=	SF
 
diff -ruN --exclude=CVS /usr/ports/sysutils/smartmontools/files/patch-os_freebsd /root/smartmontools/files/patch-os_freebsd
--- /usr/ports/sysutils/smartmontools/files/patch-os_freebsd	1970-01-01 01:00:00.000000000 +0100
+++ /root/smartmontools/files/patch-os_freebsd	2011-09-25 21:06:22.000000000 +0200
@@ -0,0 +1,51 @@
+Index: os_freebsd.cpp
+===================================================================
+--- os_freebsd.cpp	(revision 3407)
++++ os_freebsd.cpp	(revision 3419)
+@@ -287,12 +287,12 @@
+       request.flags=ATA_CMD_CONTROL;
+       break;
+     case ata_cmd_in::data_in:  
+-      request.flags=ATA_CMD_READ;
++      request.flags=ATA_CMD_READ | ATA_CMD_CONTROL;;
+       request.data=(char *)in.buffer;
+       request.count=in.size;
+       break;
+     case ata_cmd_in::data_out: 
+-      request.flags=ATA_CMD_WRITE;
++      request.flags=ATA_CMD_WRITE | ATA_CMD_CONTROL;
+       request.data=(char *)in.buffer;
+       request.count=in.size;
+       break;
+@@ -405,11 +405,8 @@
+                  request->count,
+                  request->timeout * 1000); // timeout in seconds
+ 
++  ccb.ataio.cmd.flags = CAM_ATAIO_NEEDRESULT;
+   // ata_28bit_cmd
+-  if (request->flags == ATA_CMD_CONTROL)
+-    ccb.ataio.cmd.flags = CAM_ATAIO_NEEDRESULT;
+-  else
+-    ccb.ataio.cmd.flags = 0;
+   ccb.ataio.cmd.command = request->u.ata.command;
+   ccb.ataio.cmd.features = request->u.ata.feature;
+   ccb.ataio.cmd.lba_low = request->u.ata.lba;
+@@ -435,7 +432,17 @@
+     return -1;
+   }
+ 
+-  request->u.ata.count = ccb.ataio.res.sector_count;
++  request->u.ata.lba =
++    ((u_int64_t)(ccb.ataio.res.lba_low)) |
++    ((u_int64_t)(ccb.ataio.res.lba_mid) << 8) |
++    ((u_int64_t)(ccb.ataio.res.lba_high) << 16) |
++    ((u_int64_t)(ccb.ataio.res.lba_low_exp) << 24) |
++    ((u_int64_t)(ccb.ataio.res.lba_mid_exp) << 32) |
++    ((u_int64_t)(ccb.ataio.res.lba_high_exp) << 40);
++
++  request->u.ata.count = ccb.ataio.res.sector_count | (ccb.ataio.res.sector_count_exp << 8);
++  request->error = ccb.ataio.res.error;
++
+   return 0;
+ }
+ 
--- smartmontools-5.41_3.patch ends here ---

>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list