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

Re: [Xen-devel] [PATCH v2 4/9] xen/9pfs: introduce Xen 9pfs backend



On 14/03/17 00:55, Stefano Stabellini wrote:
> Introduce the Xen 9pfs backend: add struct XenDevOps to register as a
> Xen backend and add struct V9fsTransport to register as v9fs transport.
> 
> All functions are empty stubs for now.
> 
> Signed-off-by: Stefano Stabellini <stefano@xxxxxxxxxxx>
> Reviewed-by: Greg Kurz <groug@xxxxxxxx>
> CC: anthony.perard@xxxxxxxxxx
> CC: jgross@xxxxxxxx
> CC: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
> CC: Greg Kurz <groug@xxxxxxxx>
> ---
>  hw/9pfs/xen-9p-backend.c | 96 
> ++++++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 96 insertions(+)
>  create mode 100644 hw/9pfs/xen-9p-backend.c
> 
> diff --git a/hw/9pfs/xen-9p-backend.c b/hw/9pfs/xen-9p-backend.c
> new file mode 100644
> index 0000000..35032d3
> --- /dev/null
> +++ b/hw/9pfs/xen-9p-backend.c
> @@ -0,0 +1,96 @@
> +/*
> + * Xen 9p backend
> + *
> + * Copyright Aporeto 2017
> + *
> + * Authors:
> + *  Stefano Stabellini <stefano@xxxxxxxxxxx>
> + *
> + */
> +
> +#include "qemu/osdep.h"
> +
> +#include "hw/hw.h"
> +#include "hw/9pfs/9p.h"
> +#include "hw/xen/xen_backend.h"
> +#include "xen_9pfs.h"
> +#include "qemu/config-file.h"
> +#include "fsdev/qemu-fsdev.h"
> +
> +typedef struct Xen9pfsDev {
> +    struct XenDevice xendev;  /* must be first */
> +} Xen9pfsDev;
> +
> +static ssize_t xen_9pfs_pdu_vmarshal(V9fsPDU *pdu,
> +                                     size_t offset,
> +                                     const char *fmt,
> +                                     va_list ap)
> +{
> +    return 0;
> +}
> +
> +static ssize_t xen_9pfs_pdu_vunmarshal(V9fsPDU *pdu,
> +                                       size_t offset,
> +                                       const char *fmt,
> +                                       va_list ap)
> +{
> +    return 0;
> +}
> +
> +static void xen_9pfs_init_out_iov_from_pdu(V9fsPDU *pdu,
> +                                           struct iovec **piov,
> +                                           unsigned int *pniov)
> +{
> +}
> +
> +static void xen_9pfs_init_in_iov_from_pdu(V9fsPDU *pdu,
> +                                          struct iovec **piov,
> +                                          unsigned int *pniov,
> +                                          size_t size)
> +{
> +}
> +
> +static void xen_9pfs_push_and_notify(V9fsPDU *pdu)
> +{
> +}
> +
> +static const struct V9fsTransport xen_9p_transport = {
> +    .pdu_vmarshal = xen_9pfs_pdu_vmarshal,
> +    .pdu_vunmarshal = xen_9pfs_pdu_vunmarshal,
> +    .init_in_iov_from_pdu = xen_9pfs_init_in_iov_from_pdu,
> +    .init_out_iov_from_pdu = xen_9pfs_init_out_iov_from_pdu,
> +    .push_and_notify = xen_9pfs_push_and_notify,
> +};
> +
> +static int xen_9pfs_init(struct XenDevice *xendev)
> +{
> +    return 0;
> +}
> +
> +static int xen_9pfs_free(struct XenDevice *xendev)
> +{
> +    return -1;
> +}
> +
> +static int xen_9pfs_connect(struct XenDevice *xendev)
> +{
> +    return 0;
> +}
> +
> +static void xen_9pfs_alloc(struct XenDevice *xendev)
> +{
> +}
> +
> +static void xen_9pfs_disconnect(struct XenDevice *xendev)
> +{
> +}
> +
> +struct XenDevOps xen_9pfs_ops = {
> +    .size       = sizeof(Xen9pfsDev),
> +    .flags      = DEVOPS_FLAG_NEED_GNTDEV,
> +    .alloc      = xen_9pfs_alloc,
> +    .init       = xen_9pfs_init,
> +    .initialise    = xen_9pfs_connect,

Alignment?

> +    .disconnect = xen_9pfs_disconnect,
> +    .free       = xen_9pfs_free,
> +};
> 

Juergen

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.