From aad4a85cd76ba67c32134b0f4370fde15ca9e546 Mon Sep 17 00:00:00 2001 From: ballen4705 <ballen4705@4ea69e1a-61f1-4043-bf83-b5c94c648137> Date: Sat, 23 Feb 2008 06:41:59 +0000 Subject: [PATCH] Fix Auto-offline support in FreeBSD. Thanks to Cyrus Rahman <crahman@gmail.com> for the patch, and Eduard Martinescu for blessing it. ---------------------------------------------------------------------- git-svn-id: https://smartmontools.svn.sourceforge.net/svnroot/smartmontools/trunk@2460 4ea69e1a-61f1-4043-bf83-b5c94c648137 --- sm5/CHANGELOG | 6 +++++- sm5/os_freebsd.cpp | 7 ++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/sm5/CHANGELOG b/sm5/CHANGELOG index f00ee9f19..d880686da 100644 --- a/sm5/CHANGELOG +++ b/sm5/CHANGELOG @@ -1,6 +1,6 @@ CHANGELOG for smartmontools -$Id: CHANGELOG,v 1.653 2008/02/17 00:30:47 dpgilbert Exp $ +$Id: CHANGELOG,v 1.654 2008/02/23 06:41:59 ballen4705 Exp $ The most recent version of this file is: http://smartmontools.cvs.sourceforge.net/smartmontools/sm5/CHANGELOG?view=markup @@ -34,6 +34,10 @@ NOTES FOR FUTURE RELEASES: see TODO file. <DEVELOPERS: ADDITIONS TO THE CHANGE LOG GO JUST BELOW HERE, PLEASE> + [BA] Fix auto-offline support in FreeBSD. Thanks to + Cyrus Rahman <crahman@gmail.com> for the patch, and + Eduard Martinescu for blessing it. + [DG] smartd re-opens "SCSI" devices as ATA devices if a SAT layer is detected (smartd bug IMO). In Linux this upsets scsi generic device nodes (e.g. /dev/sg0). Detect the re-open in os_linux.cpp diff --git a/sm5/os_freebsd.cpp b/sm5/os_freebsd.cpp index 4da7b7f41..1e0dcdc4b 100644 --- a/sm5/os_freebsd.cpp +++ b/sm5/os_freebsd.cpp @@ -44,9 +44,9 @@ #include "extern.h" #include "os_freebsd.h" -static const char *filenameandversion="$Id: os_freebsd.cpp,v 1.55 2007/12/08 17:11:11 shattered Exp $"; +static const char *filenameandversion="$Id: os_freebsd.cpp,v 1.56 2008/02/23 06:41:59 ballen4705 Exp $"; -const char *os_XXXX_c_cvsid="$Id: os_freebsd.cpp,v 1.55 2007/12/08 17:11:11 shattered Exp $" \ +const char *os_XXXX_c_cvsid="$Id: os_freebsd.cpp,v 1.56 2008/02/23 06:41:59 ballen4705 Exp $" \ ATACMDS_H_CVSID CONFIG_H_CVSID INT64_H_CVSID OS_FREEBSD_H_CVSID SCSICMDS_H_CVSID UTILITY_H_CVSID; // to hold onto exit code for atexit routine @@ -368,7 +368,8 @@ int ata_command_interface(int fd, smart_command_set command, int select, char *d case AUTO_OFFLINE: // NOTE: According to ATAPI 4 and UP, this command is obsolete request.u.ata.feature=ATA_SMART_AUTO_OFFLINE; - request.u.ata.lba=select|(0xc24f<<8); + request.u.ata.lba=0xc24f<<8; + request.u.ata.count=select; request.flags=ATA_CMD_CONTROL; break; case AUTOSAVE: -- GitLab