qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [RFC PATCH -V1 3/4] hw/9pfs: Implement syncfs


From: Venkateswararao Jujjuri (JV)
Subject: Re: [Qemu-devel] [RFC PATCH -V1 3/4] hw/9pfs: Implement syncfs
Date: Mon, 28 Feb 2011 17:48:34 -0800
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.13) Gecko/20101207 Thunderbird/3.1.7

On 2/5/2011 10:08 AM, Aneesh Kumar K.V wrote:
> Signed-off-by: Aneesh Kumar K.V <address@hidden>
> ---
>  hw/9pfs/virtio-9p.c |   31 +++++++++++++++++++++++++++++++
>  hw/9pfs/virtio-9p.h |    2 ++
>  2 files changed, 33 insertions(+), 0 deletions(-)
> 
> diff --git a/hw/9pfs/virtio-9p.c b/hw/9pfs/virtio-9p.c
> index 2d9ca11..1518e00 100644
> --- a/hw/9pfs/virtio-9p.c
> +++ b/hw/9pfs/virtio-9p.c
> @@ -1978,6 +1978,36 @@ static void v9fs_fsync(V9fsState *s, V9fsPDU *pdu)
>      v9fs_post_do_fsync(s, pdu, err);
>  }
> 
> +static void v9fs_post_do_syncfs(V9fsState *s, V9fsPDU *pdu, int err)
> +{
> +    if (err == -1) {
> +        err = -errno;
> +    }
> +    complete_pdu(s, pdu, err);
> +}
> +
> +static void v9fs_syncfs(V9fsState *s, V9fsPDU *pdu)
> +{
> +    int err;
> +    int32_t fid;
> +    size_t offset = 7;
> +    V9fsFidState *fidp;
> +
> +    pdu_unmarshal(pdu, offset, "d", &fid);
> +    fidp = lookup_fid(s, fid);
> +    if (fidp == NULL) {
> +        err = -ENOENT;
> +        v9fs_post_do_syncfs(s, pdu, err);
> +        return;
> +    }
> +    /*
> +     * We don't have per file system syncfs
> +     * So just return success
> +     */
> +    err = 0;

How about

err = 0
if (fidp == NULL)
  err = -ENOENT

> +    v9fs_post_do_syncfs(s, pdu, err);
> +}
> +
>  static void v9fs_clunk(V9fsState *s, V9fsPDU *pdu)
>  {
>      int32_t fid;
> @@ -3676,6 +3706,7 @@ static pdu_handler_t *pdu_handlers[] = {
>      [P9_TWALK] = v9fs_walk,
>      [P9_TCLUNK] = v9fs_clunk,
>      [P9_TFSYNC] = v9fs_fsync,
> +    [P9_TSYNCFS] = v9fs_syncfs,
>      [P9_TOPEN] = v9fs_open,
>      [P9_TREAD] = v9fs_read,
>  #if 0
> diff --git a/hw/9pfs/virtio-9p.h b/hw/9pfs/virtio-9p.h
> index 82b4252..b2cd24b 100644
> --- a/hw/9pfs/virtio-9p.h
> +++ b/hw/9pfs/virtio-9p.h
> @@ -13,6 +13,8 @@
>  #define VIRTIO_9P_MOUNT_TAG 0
> 
>  enum {
> +    P9_TSYNCFS = 0,
> +    P9_RSYNCFS,
>      P9_TLERROR = 6,
>      P9_RLERROR,
>      P9_TSTATFS = 8,





reply via email to

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