[Top][All Lists]
[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,