From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:49826) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RV9oF-0001pf-GP for qemu-devel@nongnu.org; Mon, 28 Nov 2011 17:36:24 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RV9oE-0004YB-7V for qemu-devel@nongnu.org; Mon, 28 Nov 2011 17:36:23 -0500 Received: from mail-iy0-f173.google.com ([209.85.210.173]:64822) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RV9oE-0004Y7-4T for qemu-devel@nongnu.org; Mon, 28 Nov 2011 17:36:22 -0500 Received: by iakk32 with SMTP id k32so10875872iak.4 for ; Mon, 28 Nov 2011 14:36:21 -0800 (PST) Message-ID: <4ED40CE2.70903@codemonkey.ws> Date: Mon, 28 Nov 2011 16:36:18 -0600 From: Anthony Liguori MIME-Version: 1.0 References: <1321864151-13988-1-git-send-email-pbonzini@redhat.com> <8762ibl5xg.fsf@linux.vnet.ibm.com> In-Reply-To: <8762ibl5xg.fsf@linux.vnet.ibm.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 1.0] 9pfs: improve portability to older systems List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Aneesh Kumar K.V" Cc: Paolo Bonzini , qemu-devel@nongnu.org On 11/23/2011 12:16 AM, Aneesh Kumar K.V wrote: > On Mon, 21 Nov 2011 09:29:11 +0100, Paolo Bonzini wrote: >> Small requirements on "new" features have percolated to virtio-9p-local.c. >> In particular, the utimensat wrapper actually only supports dirfd = AT_FDCWD >> and flags = AT_SYMLINK_NOFOLLOW in the fallback code. Remove the arguments >> so that virtio-9p-local.c will not use AT_* constants. >> >> At the same time, fail local_ioc_getversion if the ioctl is not supported >> by the host. >> >> Signed-off-by: Paolo Bonzini Hrm, I may have messed this up. My mailbox processing script seems to have found Aneesh's patch instead of Paolo's. Can ya'll take a look at 2507718baf311ea78156c6777d38410a9f89ce89 and tell me if I need to revert it? Regards, Anthony Liguori >> --- >> hw/9pfs/virtio-9p-local.c | 7 +++++-- >> oslib-posix.c | 5 ++--- >> qemu-os-posix.h | 3 +-- >> 3 files changed, 8 insertions(+), 7 deletions(-) >> >> diff --git a/hw/9pfs/virtio-9p-local.c b/hw/9pfs/virtio-9p-local.c >> index 7f1c089..cbd07e8 100644 >> --- a/hw/9pfs/virtio-9p-local.c >> +++ b/hw/9pfs/virtio-9p-local.c >> @@ -583,8 +583,7 @@ static int local_utimensat(FsContext *s, V9fsPath *fs_path, >> char buffer[PATH_MAX]; >> char *path = fs_path->data; >> >> - return qemu_utimensat(AT_FDCWD, rpath(s, path, buffer), buf, >> - AT_SYMLINK_NOFOLLOW); >> + return qemu_utimens(rpath(s, path, buffer), buf); >> } >> >> static int local_remove(FsContext *ctx, const char *path) >> @@ -694,6 +693,7 @@ static int local_ioc_getversion(FsContext *ctx, V9fsPath *path, >> mode_t st_mode, uint64_t *st_gen) >> { >> int err; >> +#ifdef FS_IOC_GETVERSION >> V9fsFidOpenState fid_open; >> >> /* >> @@ -709,6 +709,9 @@ static int local_ioc_getversion(FsContext *ctx, V9fsPath *path, >> } >> err = ioctl(fid_open.fd, FS_IOC_GETVERSION, st_gen); >> local_close(ctx,&fid_open); >> +#else >> + err = -ENOTTY; >> +#endif >> return err; > > > I guess we can also make sure we don't call local_ioc_getversion at > all. > > diff --git a/hw/9pfs/virtio-9p-local.c b/hw/9pfs/virtio-9p-local.c > index 0da3bdd..1c349af 100644 > --- a/hw/9pfs/virtio-9p-local.c > +++ b/hw/9pfs/virtio-9p-local.c > @@ -714,10 +714,14 @@ static int local_ioc_getversion(FsContext *ctx, V9fsPath *path, > > static int local_init(FsContext *ctx) > { > - int err; > + int err = 0; > struct statfs stbuf; > > ctx->export_flags |= V9FS_PATHNAME_FSCONTEXT; > +#ifdef FS_IOC_GETVERSION > + /* > + * use ioc_getversion only if the iocl is definied > + */ > err = statfs(ctx->fs_root,&stbuf); > if (!err) { > switch (stbuf.f_type) { > @@ -729,6 +733,7 @@ static int local_init(FsContext *ctx) > break; > } > } > +#endif > return err; > } > > > > We would also require same changes for virtio-9p-handle.c right ? > > -aneesh > > >