[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 3/4] Add inotify_init1 syscall support
From: |
Aurelien Jarno |
Subject: |
Re: [Qemu-devel] [PATCH 3/4] Add inotify_init1 syscall support |
Date: |
Fri, 26 Mar 2010 23:14:06 +0100 |
User-agent: |
Mutt/1.5.20 (2009-06-14) |
On Fri, Mar 26, 2010 at 03:25:11PM +0000, Riku Voipio wrote:
> From: Riku Voipio <address@hidden>
>
> New syscall which gets actively used when you have a
> fresh kernel.
>
> Signed-off-by: Riku Voipio <address@hidden>
Thanks, applied.
> ---
> configure | 18 ++++++++++++++++++
> linux-user/syscall.c | 14 ++++++++++++++
> 2 files changed, 32 insertions(+), 0 deletions(-)
>
> diff --git a/configure b/configure
> index 6bc40a3..f9e08f6 100755
> --- a/configure
> +++ b/configure
> @@ -1629,6 +1629,21 @@ if compile_prog "" "" ; then
> inotify=yes
> fi
>
> +inotify1=no
> +cat > $TMPC << EOF
> +#include <sys/inotify.h>
> +
> +int
> +main(void)
> +{
> + /* try to start inotify */
> + return inotify_init1(0);
> +}
> +EOF
> +if compile_prog "" "" ; then
> + inotify1=yes
> +fi
> +
> # check if utimensat and futimens are supported
> utimens=no
> cat > $TMPC << EOF
> @@ -2136,6 +2151,9 @@ fi
> if test "$inotify" = "yes" ; then
> echo "CONFIG_INOTIFY=y" >> $config_host_mak
> fi
> +if test "$inotify1" = "yes" ; then
> + echo "CONFIG_INOTIFY1=y" >> $config_host_mak
> +fi
> if test "$byteswap_h" = "yes" ; then
> echo "CONFIG_BYTESWAP_H=y" >> $config_host_mak
> fi
> diff --git a/linux-user/syscall.c b/linux-user/syscall.c
> index 845bb60..4b2a765 100644
> --- a/linux-user/syscall.c
> +++ b/linux-user/syscall.c
> @@ -506,9 +506,18 @@ static int sys_inotify_rm_watch(int fd, int32_t wd)
> return (inotify_rm_watch(fd, wd));
> }
> #endif
> +#ifdef CONFIG_INOTIFY1
> +#if defined(TARGET_NR_inotify_init1) && defined(__NR_inotify_init1)
> +static int sys_inotify_init1(int flags)
> +{
> + return (inotify_init1(flags));
> +}
> +#endif
> +#endif
> #else
> /* Userspace can usually survive runtime without inotify */
> #undef TARGET_NR_inotify_init
> +#undef TARGET_NR_inotify_init1
> #undef TARGET_NR_inotify_add_watch
> #undef TARGET_NR_inotify_rm_watch
> #endif /* CONFIG_INOTIFY */
> @@ -7174,6 +7183,11 @@ abi_long do_syscall(void *cpu_env, int num, abi_long
> arg1,
> ret = get_errno(sys_inotify_init());
> break;
> #endif
> +#if defined(TARGET_NR_inotify_init1) && defined(__NR_inotify_init1)
> + case TARGET_NR_inotify_init1:
> + ret = get_errno(sys_inotify_init1(arg1));
> + break;
> +#endif
> #if defined(TARGET_NR_inotify_add_watch) && defined(__NR_inotify_add_watch)
> case TARGET_NR_inotify_add_watch:
> p = lock_user_string(arg2);
> --
> 1.6.5
>
>
>
>
--
Aurelien Jarno GPG: 1024D/F1BCDB73
address@hidden http://www.aurel32.net