From: Riku Voipio <riku.voipio@iki.fi>
To: Ulrich Hecht <uli@suse.de>
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH] linux-user: dup3, fallocate syscalls
Date: Thu, 13 Aug 2009 23:22:15 +0300 [thread overview]
Message-ID: <20090813202215.GA28649@kos.to> (raw)
In-Reply-To: <1248965155-14108-1-git-send-email-uli@suse.de>
Hi,
I quequed the other patches from you execpt this one -
The patch didn't apply for me, and a few comments inline:
On Thu, Jul 30, 2009 at 04:45:55PM +0200, Ulrich Hecht wrote:
> updated fallocate check to new configure, added dup3 check as suggested
> by Jan-Simon Möller
> Signed-off-by: Ulrich Hecht <uli@suse.de>
> ---
> configure | 36 ++++++++++++++++++++++++++++++++++++
> linux-user/syscall.c | 12 ++++++++++++
> 2 files changed, 48 insertions(+), 0 deletions(-)
>
> diff --git a/configure b/configure
> index 8160bed..2329f88 100755
> --- a/configure
> +++ b/configure
> @@ -1366,6 +1366,36 @@ if $cc $ARCH_CFLAGS -o $TMPE $TMPC 2> /dev/null ; then
> splice=yes
> fi
>
> +# check for fallocate
> +fallocate=no
> +cat > $TMPC << EOF
> +#include <fcntl.h>
> +
> +int main(void)
> +{
> + fallocate(0, 0, 0, 0);
> + return 0;
> +}
> +EOF
> +if $cc $ARCH_CFLAGS -o $TMPE $TMPC 2> /dev/null ; then
There is new stanza for this in configure:
if compile_prog "" "" ; then
> + fallocate=yes
> +fi
> +
> +# check for dup3
> +dup3=no
> +cat > $TMPC << EOF
> +#include <unistd.h>
> +
> +int main(void)
> +{
> + dup3(0, 0, 0);
> + return 0;
> +}
> +EOF
> +if $cc $ARCH_CFLAGS -o $TMPE $TMPC 2> /dev/null ; then
likewise
> + dup3=yes
> +fi
> +
> # Check if tools are available to build documentation.
> if test "$build_docs" = "yes" -a \( ! -x "`which texi2html 2>/dev/null`" -o ! -x "`which pod2man 2>/dev/null`" \) ; then
> build_docs="no"
> @@ -1639,6 +1669,12 @@ fi
> if test "$splice" = "yes" ; then
> echo "CONFIG_SPLICE=y" >> $config_host_mak
> fi
> +if test "$fallocate" = "yes" ; then
> + echo "CONFIG_FALLOCATE=y" >> $config_host_mak
> +fi
> +if test "$dup3" = "yes" ; then
> + echo "CONFIG_DUP3=y" >> $config_host_mak
> +fi
> if test "$inotify" = "yes" ; then
> echo "CONFIG_INOTIFY=y" >> $config_host_mak
> fi
> diff --git a/linux-user/syscall.c b/linux-user/syscall.c
> index 31cf151..d105b8e 100644
> --- a/linux-user/syscall.c
> +++ b/linux-user/syscall.c
> @@ -3681,8 +3681,10 @@ static int target_to_host_fcntl_cmd(int cmd)
> return F_SETLEASE;
> case TARGET_F_GETLEASE:
> return F_GETLEASE;
This is patching your previous patch? Generally that is frowned upon - it
is tricky to find which patches need to be applied first, and it is better
to fix it in the original patch so the broken code is never part of the git
history.
> +#ifdef F_DUPFD_CLOEXEC
> case TARGET_F_DUPFD_CLOEXEC:
> return F_DUPFD_CLOEXEC;
> +#endif
> case TARGET_F_NOTIFY:
> return F_NOTIFY;
> default:
> @@ -4732,6 +4734,11 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
> case TARGET_NR_dup2:
> ret = get_errno(dup2(arg1, arg2));
> break;
> +#if defined(TARGET_NR_dup3) && defined(CONFIG_DUP3)
> + case TARGET_NR_dup3:
> + ret = get_errno(dup3(arg1, arg2, arg3));
> + break;
> +#endif
> #ifdef TARGET_NR_getppid /* not on alpha */
> case TARGET_NR_getppid:
> ret = get_errno(getppid());
> @@ -6976,6 +6983,11 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
> break;
> #endif
> #endif /* CONFIG_SPLICE */
> +#if defined(CONFIG_FALLOCATE) && defined(TARGET_NR_fallocate)
> + case TARGET_NR_fallocate:
> + ret = get_errno(fallocate(arg1, arg2, arg3, arg4));
> + break;
> +#endif
This is colliding with other patches in linux-user-for-upstream. It is a good
example why it is better to separete patches for seperate features - In that case
it would have been quite easy for me to fix it in by hand.
> default:
> unimplemented:
> gemu_log("qemu: Unsupported syscall: %d\n", num);
Cheers, Riku
next prev parent reply other threads:[~2009-08-13 20:22 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-07-30 14:45 [Qemu-devel] [PATCH] linux-user: dup3, fallocate syscalls Ulrich Hecht
2009-08-13 20:22 ` Riku Voipio [this message]
2009-08-20 10:43 ` [Qemu-devel] [PATCH 07/13] " Ulrich Hecht
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=20090813202215.GA28649@kos.to \
--to=riku.voipio@iki.fi \
--cc=qemu-devel@nongnu.org \
--cc=uli@suse.de \
/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).