From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:41661) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SoTSU-0001zi-A1 for qemu-devel@nongnu.org; Tue, 10 Jul 2012 01:58:03 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SoTSS-0005NF-FZ for qemu-devel@nongnu.org; Tue, 10 Jul 2012 01:58:01 -0400 Received: from cantor2.suse.de ([195.135.220.15]:45888 helo=mx2.suse.de) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SoTSS-0005Mb-5e for qemu-devel@nongnu.org; Tue, 10 Jul 2012 01:58:00 -0400 Message-ID: <4FFBC460.2070104@suse.de> Date: Tue, 10 Jul 2012 07:57:52 +0200 From: Hannes Reinecke 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> In-Reply-To: <4FFB6707.8010106@codemonkey.ws> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable 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: Anthony Liguori Cc: Paolo Bonzini , Alexander Graf , qemu-devel qemu-devel 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? :) >=20 > So this code is really broken: >=20 > info.host.type =3D MFI_INFO_HOST_PCIX; > info.device.type =3D MFI_INFO_DEV_SAS3G; > info.device.port_count =3D 2; > info.device.port_addr[0] =3D > cpu_to_le64(megasas_gen_sas_addr((uint64_t)s)); >=20 > This will make migration impossible not to mention the fact that > casting a pointer to a uint64_t is really broken. >=20 Hey, this is _NOT_ an address. It's a simple way of generating a system-wide unique SAS address. The whole thing is informational anyway, and can only be seen when using the (proprietary) MegaCLI userspace command. > This code needs to be refactored to not do this. It's quite > pervasive though (there's a half a dozen instances like this). >=20 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. > 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. >=20 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 --=20 Dr. Hannes Reinecke zSeries & Storage hare@suse.de +49 911 74053 688 SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 N=FCrnberg GF: J. Hawn, J. Guild, F. Imend=F6rffer, HRB 16746 (AG N=FCrnberg)