From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:32838) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Y70mj-0007Yq-T5 for qemu-devel@nongnu.org; Fri, 02 Jan 2015 06:52:54 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Y70mg-0005MK-Oo for qemu-devel@nongnu.org; Fri, 02 Jan 2015 06:52:53 -0500 Received: from mail-we0-x232.google.com ([2a00:1450:400c:c03::232]:50933) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Y70mg-0005Ll-Hy for qemu-devel@nongnu.org; Fri, 02 Jan 2015 06:52:50 -0500 Received: by mail-we0-f178.google.com with SMTP id p10so4387010wes.37 for ; Fri, 02 Jan 2015 03:52:49 -0800 (PST) Date: Fri, 2 Jan 2015 11:52:47 +0000 From: Stefan Hajnoczi Message-ID: <20150102115247.GC10823@stefanha-thinkpad.redhat.com> References: <1418901484-12988-1-git-send-email-tumanova@linux.vnet.ibm.com> <1418901484-12988-3-git-send-email-tumanova@linux.vnet.ibm.com> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="sHrvAb52M6C8blB9" Content-Disposition: inline In-Reply-To: <1418901484-12988-3-git-send-email-tumanova@linux.vnet.ibm.com> Subject: Re: [Qemu-devel] [PATCH v5 2/5] raw-posix: Refactor logical block size detection. List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Ekaterina Tumanova Cc: kwolf@redhat.com, thuth@linux.vnet.ibm.com, borntraeger@de.ibm.com, armbru@redhat.com, Public KVM Mailing List , mihajlov@linux.vnet.ibm.com, dahi@linux.vnet.ibm.com, stefanha@redhat.com, cornelia.huck@de.ibm.com, pbonzini@redhat.com --sHrvAb52M6C8blB9 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Thu, Dec 18, 2014 at 12:18:01PM +0100, Ekaterina Tumanova wrote: > +#if defined(BLKSSZGET) > +# define SECTOR_SIZE BLKSSZGET > +#elif defined(DKIOCGETBLOCKSIZE) > +# define SECTOR_SIZE DKIOCGETBLOCKSIZE > +#elif defined(DIOCGSECTORSIZE) > +# define SECTOR_SIZE DIOCGSECTORSIZE > +#else > + return -ENOTSUP > +#endif > + if (ioctl(fd, SECTOR_SIZE, sector_size) < 0) { > + return -errno; > + } > + return 0; > +#undef SECTOR_SIZE Not a reason to respin, but I would have preferred simply moving the old code. I think the new code works because BLKSSZGET is Linux, DKIOCGETBLOCKSIZE is Mac OS, and DIOCGSECTORSIZE is FreeBSD. If there is a host OS where more than one ioctl is available and the first one fails then the new code is broken. The old code didn't use #elif so each ioctl had a chance to run. Also, the name SECTOR_SIZE is misleading. It's not a sector size value but the "get sector size" ioctl request code. Stefan --sHrvAb52M6C8blB9 Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQEcBAEBAgAGBQJUpoaPAAoJEJykq7OBq3PIgSoH/Rhy3egs5AunEJqDuFTFOiAW Jb5epmw/2Tlayr5G9Q+NO53FCDSdcm7ECJtCClH6OmnHsEPOhyxCFygCBerTdB0Z cfRQHw5x2d2m34vdZPXoDUl8qZokqtN4o7qYUBBSzp0v/lSH7Yq3YWuvo/wlhO0W IxBpJsz7o4i7YKEO7O8A7Ft3gScNyHlgEJZ6wmim1kf9UdKcmtjosfzG34TZv6cp kv6jWzLTf+8LlAN2RnhhDJ6ZPO8EZXVZFJ8KH43stzwS3eWqHu79sVIvPjuPZAwM 84ANICgDTi7DSSQui8FzYxSb6ZCkByNn7yvAmuj6mpXWBrsa21ddi7twjfQdeAI= =/vPk -----END PGP SIGNATURE----- --sHrvAb52M6C8blB9--