From: "Philippe Mathieu-Daudé" <philmd@redhat.com>
To: Joelle van Dyne <j@getutm.app>, Warner Losh <imp@bsdimp.com>
Cc: Kevin Wolf <kwolf@redhat.com>,
QEMU Developers <qemu-devel@nongnu.org>,
"open list:Block layer core" <qemu-block@nongnu.org>,
Max Reitz <mreitz@redhat.com>
Subject: Re: [PATCH v9 03/11] configure: check for sys/disk.h
Date: Tue, 26 Jan 2021 08:08:28 +0100 [thread overview]
Message-ID: <e361b373-75bd-e75d-027c-51b6562ed81c@redhat.com> (raw)
In-Reply-To: <CA+E+eSAAaMagLdb_oUA2xS41jVLBSop-Z1AARKZ4A6uCLbqK+A@mail.gmail.com>
On 1/26/21 6:55 AM, Joelle van Dyne wrote:
> Previously, the only case where sys/disk.h does not exist is on
> platforms that define __DragonFly__. However, iOS also does not have
> this header. Previously, I had it as
>
> #if defined(__DragonFly__) || defined(CONFIG_IOS)
>
> But there was a code review comment that we should use feature flags
> instead of platform defines. So I added the HAS_SYS_DISK_H flag.
On technical lists, it's best to avoid top-posting, and to
instead reply inline to make the conversation easier to follow.
>
> -j
>
> On Mon, Jan 25, 2021 at 8:35 PM Warner Losh <imp@bsdimp.com> wrote:
>>
>>
>>
>> On Mon, Jan 25, 2021 at 6:33 PM Joelle van Dyne <j@getutm.app> wrote:
>>>
>>> Some BSD platforms do not have this header.
>>>
>>> Signed-off-by: Joelle van Dyne <j@getutm.app>
>>> ---
>>> meson.build | 1 +
>>> block.c | 2 +-
>>> block/file-posix.c | 2 +-
>>> 3 files changed, 3 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/meson.build b/meson.build
>>> index 27110075df..6818d97df5 100644
>>> --- a/meson.build
>>> +++ b/meson.build
>>> @@ -1117,6 +1117,7 @@ config_host_data.set('HAVE_PTY_H', cc.has_header('pty.h'))
>>> config_host_data.set('HAVE_SYS_IOCCOM_H', cc.has_header('sys/ioccom.h'))
>>> config_host_data.set('HAVE_SYS_KCOV_H', cc.has_header('sys/kcov.h'))
>>> config_host_data.set('HAVE_HOST_BLOCK_DEVICE', have_host_block_device)
>>> +config_host_data.set('HAVE_SYS_DISK_H', cc.has_header('sys/disk.h'))
>>>
>>> ignored = ['CONFIG_QEMU_INTERP_PREFIX'] # actually per-target
>>> arrays = ['CONFIG_AUDIO_DRIVERS', 'CONFIG_BDRV_RW_WHITELIST', 'CONFIG_BDRV_RO_WHITELIST']
>>> diff --git a/block.c b/block.c
>>> index 8b9d457546..c4cf391dea 100644
>>> --- a/block.c
>>> +++ b/block.c
>>> @@ -54,7 +54,7 @@
>>> #ifdef CONFIG_BSD
>>> #include <sys/ioctl.h>
>>> #include <sys/queue.h>
>>> -#ifndef __DragonFly__
>>> +#if defined(HAVE_SYS_DISK_H)
>>> #include <sys/disk.h>
>>> #endif
>>> #endif
>>> diff --git a/block/file-posix.c b/block/file-posix.c
>>> index 11d2021346..666d3e7504 100644
>>> --- a/block/file-posix.c
>>> +++ b/block/file-posix.c
>>> @@ -2320,7 +2320,7 @@ again:
>>> }
>>> if (size == 0)
>>> #endif
>>> -#if defined(__APPLE__) && defined(__MACH__)
>>> +#if defined(HAVE_SYS_DISK_H) && defined(__APPLE__) && defined(__MACH__)
>>
>>
>> Why is this needed? __DragonFly__ doesn't define either __APPLE__ or __MACH__
Hmm we could also add:
config_host_data.set('HAVE_DKIOCGETBLOCKCOUNT', cc.compiles(...))
Then this block would be easier to read:
#if defined(HAVE_DKIOCGETBLOCKCOUNT)
...
(Maybe this is what Warner meant?)
>>
>> Warner
>>
>>>
>>> {
>>> uint64_t sectors = 0;
>>> uint32_t sector_size = 0;
>>> --
>>> 2.28.0
>>>
>>>
>
next prev parent reply other threads:[~2021-01-26 7:13 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-01-26 1:24 [PATCH v9 00/11] iOS and Apple Silicon host support Joelle van Dyne
2021-01-26 1:24 ` [PATCH v9 01/11] block: feature detection for host block support Joelle van Dyne
2021-01-26 1:24 ` [PATCH v9 02/11] configure: cross-compiling with empty cross_prefix Joelle van Dyne
2021-01-26 1:24 ` [PATCH v9 03/11] configure: check for sys/disk.h Joelle van Dyne
2021-01-26 4:35 ` Warner Losh
2021-01-26 5:55 ` Joelle van Dyne
2021-01-26 7:08 ` Philippe Mathieu-Daudé [this message]
2021-01-26 7:14 ` Warner Losh
2021-01-26 7:18 ` Philippe Mathieu-Daudé
2021-01-26 7:09 ` Warner Losh
2021-01-26 1:24 ` [PATCH v9 04/11] slirp: feature detection for smbd Joelle van Dyne
2021-01-26 7:30 ` Philippe Mathieu-Daudé
2021-01-28 20:33 ` Joelle van Dyne
2021-01-26 1:24 ` [PATCH v9 05/11] osdep: build with non-working system() function Joelle van Dyne
2021-01-26 1:24 ` [PATCH v9 06/11] darwin: remove redundant dependency declaration Joelle van Dyne
2021-01-26 1:24 ` [PATCH v9 07/11] darwin: fix cross-compiling for Darwin Joelle van Dyne
2021-01-26 7:10 ` Philippe Mathieu-Daudé
2021-01-26 1:24 ` [PATCH v9 08/11] configure: cross compile should use x86_64 cpu_family Joelle van Dyne
2021-01-26 1:24 ` [PATCH v9 09/11] block: check availablity for preadv/pwritev on mac Joelle van Dyne
2021-01-26 15:54 ` Peter Maydell
2021-01-26 1:24 ` [PATCH v9 10/11] darwin: detect CoreAudio for build Joelle van Dyne
2021-01-26 7:09 ` Philippe Mathieu-Daudé
2021-01-26 1:24 ` [PATCH v9 11/11] darwin: remove 64-bit build detection on 32-bit OS Joelle van Dyne
2021-01-28 12:27 ` [PATCH v9 00/11] iOS and Apple Silicon host support Peter Maydell
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=e361b373-75bd-e75d-027c-51b6562ed81c@redhat.com \
--to=philmd@redhat.com \
--cc=imp@bsdimp.com \
--cc=j@getutm.app \
--cc=kwolf@redhat.com \
--cc=mreitz@redhat.com \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).