qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH ] linux-user: add tee systemcall support


From: vibi sreenivasan
Subject: Re: [Qemu-devel] [PATCH ] linux-user: add tee systemcall support
Date: Tue, 19 May 2009 18:06:14 +0530

hi ,
        thanks for looking into my code.

On Tue, 2009-05-19 at 14:36 +0300, Riku Voipio wrote:
> On Tue, May 19, 2009 at 01:42:03PM +0530, vibi sreenivasan wrote:
> > hi all,
> 
> > >Subject: [Qemu-devel] [PATCH ] linux-user: add tee systemcall support
> 
> > Is there any thing wrong with this patch. Please give some feedback
> > So if there is anything wrong i will be able to correct it.
> 
> The implementation of tee appears fine. However, the tee testcases
> I found all also used splice. What did you use to test this

i used a small test code
----------------------------------------------------------------------------------------
#define _GNU_SOURCE
#include <fcntl.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>

#define die(X) do { perror(#X);exit(EXIT_FAILURE); } while(0)

#define SZ  255
#define TEST_STRING "This is a test to check the presence of tee system call\n\
This print states that tee system call is present\n"

int main(void)
{
    int pipe1[2], pipe2[2],strln = strlen(TEST_STRING);
    char data[SZ] = {0};
    if (pipe(pipe1) || pipe(pipe2))
        die("perror");
    if (write(pipe1[1], TEST_STRING, strln) < 0)
        die("write");
    if(tee(pipe1[0], pipe2[1], strln, SPLICE_F_MOVE) != strln)
        die("tee");
    if(read(pipe2[0], data, SZ - 1) < 0)
        die("read");
    printf("%s",data);
    fflush(stdout);
}
----------------------------------------------------------------------------------------------
> , or do
> you plan to implement splice too?
> 
yes i am plannig to implement splice & vmsplice.
Also i have a plan to look in to adding support for
unimplemented syscalls (got that idea from TODO),if any.

Before that i was trying to make sure that i am going in the
right path.

thanks & regards
vibi sreenivasan

> > 
> > Thanks & Regards
> > vibi sreenivasan
> > 
> > >Signed-off-by: vibi <address@hidden>
> > >---
> > >linux-user/syscall.c |    8 ++++++++
> > >1 files changed, 8 insertions(+), 0 deletions(-)
> > 
> > >diff --git a/linux-user/syscall.c b/linux-user/syscall.c
> > >index 76f0c95..f2f87c3 100644
> > >--- a/linux-user/syscall.c
> > >+++ b/linux-user/syscall.c
> > >@@ -6580,6 +6580,14 @@ abi_long do_syscall(void *cpu_env, int num,
> > >abi_long arg1,
> >          break;
> > >#endif
> >  
> > >+#ifdef TARGET_NR_tee
> > >+    case TARGET_NR_tee:
> > >+        {
> > >+            ret = get_errno(tee(arg1,arg2,arg3,arg4));
> > >+        }
> > >+        break;
> > >+#endif
> > >+
> > >     default:
> > >     unimplemented:
> > >         gemu_log("qemu: Unsupported syscall: %d\n", num);
> > 
> > 
> > 
> > 
> 
> 
> 
> 






reply via email to

[Prev in Thread] Current Thread [Next in Thread]