Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 03 Nov 2011 21:08:38 +0100
From:      Alex Samorukov <ml@os2.kiev.ua>
To:        Thomas Eberhardt <sneakywumpus@googlemail.com>
Cc:        FreeBSD Stable Mailing List <freebsd-stable@freebsd.org>
Subject:   Re: smartctl / mpt on 9.0-RC1
Message-ID:  <4EB2F4C6.30508@os2.kiev.ua>
In-Reply-To: <5AA1B2B7-EC88-44E0-9537-A91E2AFDFFFE@googlemail.com>
References:  <4EB1BCAD.7080206@zzattack.org> <20111102233807.GA67112@icarus.home.lan> <4EB1D6F9.3060008@zzattack.org> <20111103000124.GA67550@icarus.home.lan> <4EB1DD51.4080808@zzattack.org> <20111103002352.GA67904@icarus.home.lan> <4EB2538D.3090108@zzattack.org> <4EB2CB75.6070003@os2.kiev.ua> <CAD4099km0FcvUMSw=sY7HB73dtvfQgcVE16VJdGpGK96V%2B4hhA@mail.gmail.com> <4EB2E2D7.2050809@os2.kiev.ua> <5AA1B2B7-EC88-44E0-9537-A91E2AFDFFFE@googlemail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Thank you,

it is really caused by MFC r225950 and smartctl way to detect sense 
length.  I decided not to add ifdefs, but change the logic.

I fixed this in SVN [1], patch in the unified diff format could be 
downladed at [2]. Please test this, and if it works fine - i will submit 
PR to the port.

[1] 
https://sourceforge.net/apps/trac/smartmontools/changeset?old_path=%2Ftrunk%2Fsmartmontools%2Fos_freebsd.cpp&old=3468&new_path=%2Ftrunk%2Fsmartmontools%2Fos_freebsd.cpp&new=3467
[2] 
https://sourceforge.net/apps/trac/smartmontools/changeset?format=diff&new=3467&old=3468&new_path=trunk%2Fsmartmontools%2Fos_freebsd.cpp&old_path=trunk%2Fsmartmontools%2Fos_freebsd.cpp



:On 11/03/2011 08:05 PM, Thomas Eberhardt wrote:
> Hi. I got the same problem. After some debugging I came up with the
> following patch:
>
> --- os_freebsd.cpp.orig	2011-10-06 18:43:44.000000000 +0200
> +++ os_freebsd.cpp	2011-10-23 11:19:31.492599837 +0200
> @@ -1044,8 +1044,13 @@
>     }
>
>     if (iop->sensep) {
> +#if CAM_VERSION<  0x16
>       memcpy(iop->sensep,&(ccb->csio.sense_data),sizeof(struct scsi_sense_data));
>       iop->resp_sense_len = sizeof(struct scsi_sense_data);
> +#else
> +    memcpy(iop->sensep,&(ccb->csio.sense_data),sizeof(struct scsi_sense_data_fixed));
> +    iop->resp_sense_len = sizeof(struct scsi_sense_data_fixed);
> +#endif
>     }
>
>     iop->scsi_status = ccb->csio.scsi_status;
>
>
>
> On 03.11.2011, at 19:52, Alex Samorukov wrote:
>
>




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4EB2F4C6.30508>