From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NmvIO-0003Ql-IU for qemu-devel@nongnu.org; Wed, 03 Mar 2010 15:35:52 -0500 Received: from [199.232.76.173] (port=50693 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NmvIO-0003QK-3j for qemu-devel@nongnu.org; Wed, 03 Mar 2010 15:35:52 -0500 Received: from Debian-exim by monty-python.gnu.org with spam-scanned (Exim 4.60) (envelope-from ) id 1NmvIL-0003zR-90 for qemu-devel@nongnu.org; Wed, 03 Mar 2010 15:35:51 -0500 Received: from fe02x03-cgp.akado.ru ([77.232.31.165]:50296 helo=akado.ru) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1NmvIK-0003yh-Su for qemu-devel@nongnu.org; Wed, 03 Mar 2010 15:35:49 -0500 Date: Wed, 3 Mar 2010 23:35:36 +0300 (MSK) From: malc Subject: Re: [Qemu-devel] [PATCH 04/17] virtio-9p: Implement P9_TSTAT In-Reply-To: <1267642874-15001-6-git-send-email-aliguori@us.ibm.com> Message-ID: References: <1267642874-15001-1-git-send-email-aliguori@us.ibm.com> <1267642874-15001-6-git-send-email-aliguori@us.ibm.com> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Anthony Liguori Cc: Gautham R Shenoy , qemu-devel@nongnu.org, "Aneesh Kumar K.V" On Wed, 3 Mar 2010, Anthony Liguori wrote: > This get the mount to work on the guest > > [kiran@linux.vnet.ibm.com: malloc to qemu_malloc conversion] > > Signed-off-by: Anthony Liguori > Signed-off-by: Gautham R Shenoy > Signed-off-by: Aneesh Kumar K.V > --- > hw/virtio-9p-local.c | 7 ++ > hw/virtio-9p.c | 169 +++++++++++++++++++++++++++++++++++++++++++++++++- > 2 files changed, 174 insertions(+), 2 deletions(-) > > diff --git a/hw/virtio-9p-local.c b/hw/virtio-9p-local.c > index 204437c..9752f76 100644 > --- a/hw/virtio-9p-local.c > +++ b/hw/virtio-9p-local.c > @@ -72,9 +72,16 @@ static int local_setuid(void *opaque, uid_t uid) > return 0; > } > > +static ssize_t local_readlink(void *opaque, const char *path, > + char *buf, size_t bufsz) > +{ > + return readlink(rpath(path), buf, bufsz); > +} > + > static V9fsPosixFileOperations ops = { > .lstat = local_lstat, > .setuid = local_setuid, > + .readlink = local_readlink, > }; > > V9fsPosixFileOperations *virtio_9p_init_local(const char *path) > diff --git a/hw/virtio-9p.c b/hw/virtio-9p.c > index c63ac80..10bcd89 100644 > --- a/hw/virtio-9p.c > +++ b/hw/virtio-9p.c > @@ -102,6 +102,21 @@ static int posix_setuid(V9fsState *s, uid_t uid) > return s->ops->setuid(s->ops->opaque, uid); > } > > +static ssize_t posix_readlink(V9fsState *s, V9fsString *path, V9fsString *buf) > +{ > + ssize_t len; > + > + buf->data = qemu_malloc(1024); > + > + len = s->ops->readlink(s->ops->opaque, path->data, buf->data, 1024 - 1); > + if (len > -1) { > + buf->size = len; > + buf->data[len] = 0; > + } > + > + return len; > +} > + > static void v9fs_string_free(V9fsString *str) > { > free(str->data); Should be qemu_free, no? [..snip..] -- mailto:av1474@comtv.ru