From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:43141) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SoZvs-0002Ml-3u for qemu-devel@nongnu.org; Tue, 10 Jul 2012 08:52:51 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SoZvl-0003Tr-My for qemu-devel@nongnu.org; Tue, 10 Jul 2012 08:52:47 -0400 Received: from mail-pb0-f45.google.com ([209.85.160.45]:39680) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SoZvl-0003Tl-Fs for qemu-devel@nongnu.org; Tue, 10 Jul 2012 08:52:41 -0400 Received: by pbbro12 with SMTP id ro12so267509pbb.4 for ; Tue, 10 Jul 2012 05:52:39 -0700 (PDT) Message-ID: <4FFC2593.80809@codemonkey.ws> Date: Tue, 10 Jul 2012 07:52:35 -0500 From: Anthony Liguori MIME-Version: 1.0 References: <1341222087-24920-1-git-send-email-pbonzini@redhat.com> <4FFB0B64.2050409@codemonkey.ws> <2FA25786-F7CC-4E72-B695-2DC14130BDE9@suse.de> <4FFB6707.8010106@codemonkey.ws> <4FFBC460.2070104@suse.de> In-Reply-To: <4FFBC460.2070104@suse.de> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PULL 00/14] SCSI updates for 2012-07-02 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Hannes Reinecke Cc: Paolo Bonzini , Alexander Graf , qemu-devel qemu-devel On 07/10/2012 12:57 AM, Hannes Reinecke wrote: > On 07/10/2012 01:19 AM, Anthony Liguori wrote: >> On 07/09/2012 06:09 PM, Alexander Graf wrote: >>> >>> On 09.07.2012, at 18:48, Anthony Liguori wrote: >>> >>>> On 07/02/2012 04:41 AM, Paolo Bonzini wrote: >>>>> Anthony, >>>>> >>>>> The following changes since commit >>>>> 71ea2e016131a9fcde6f1ffd3e0e34a64c21f593: >>>>> >>>>> bsd-user: fix build (2012-06-28 20:28:36 +0000) >>>> >>>> Pulled. Thanks. >>> >>> Megasas? :) >> >> So this code is really broken: >> >> info.host.type = MFI_INFO_HOST_PCIX; >> info.device.type = MFI_INFO_DEV_SAS3G; >> info.device.port_count = 2; >> info.device.port_addr[0] = >> cpu_to_le64(megasas_gen_sas_addr((uint64_t)s)); >> >> This will make migration impossible not to mention the fact that >> casting a pointer to a uint64_t is really broken. >> > Hey, this is _NOT_ an address. It's a simple way of generating a > system-wide unique SAS address. But it's not stable across migration. That's the problem. > The whole thing is informational anyway, and can only be seen when > using the (proprietary) MegaCLI userspace command. Nonetheless, it's still guest visible. >> This code needs to be refactored to not do this. It's quite >> pervasive though (there's a half a dozen instances like this). >> > > Okay, so here's the challenge: We need to generate a system-wide > unique SAS address, one per SCSI device and one per megasas instance. > A simple counter won't work, as we might have several qemu instances > running. Which would result in all of them having the same SAS > address for the host. You could used a hashed uuid. Regards, Anthony Liguori > >> I'm going to disable the build by default. I don't want to see a >> rash fix like (uint64_t)(intptr_t). This needs to be fixed by not >> making the pointer address guest visible. It can then be >> re-enabled. Should be easy enough to update your .mak config if you >> want to test between now and then. >> > As said, it's _not_ an address. The address it just use to seed the > SAS address. > > But as you object, I see to use something else for seeding the SAS > address. > > Cheers, > > Hannes