#include "qemu/thread.h"
#include "block/coroutine.h"
-
/* The feature bitmap for virtio 9P */
/* The mount point is specified in a config variable */
#define VIRTIO_9P_MOUNT_TAG 0
typedef struct V9fsState
{
- VirtIODevice vdev;
+ VirtIODevice parent_obj;
VirtQueue *vq;
V9fsPDU pdus[MAX_REQ];
QLIST_HEAD(, V9fsPDU) free_list;
CoRwlock rename_lock;
int32_t root_fid;
Error *migration_blocker;
+ V9fsConf fsconf;
} V9fsState;
typedef struct V9fsStatState {
#define pdu_unmarshal(pdu, offset, fmt, args...) \
v9fs_unmarshal(pdu->elem.out_sg, pdu->elem.out_num, offset, 1, fmt, ##args)
+#define TYPE_VIRTIO_9P "virtio-9p-device"
+#define VIRTIO_9P(obj) \
+ OBJECT_CHECK(V9fsState, (obj), TYPE_VIRTIO_9P)
+
+#define DEFINE_VIRTIO_9P_PROPERTIES(_state, _field) \
+ DEFINE_PROP_STRING("mount_tag", _state, _field.tag), \
+ DEFINE_PROP_STRING("fsdev", _state, _field.fsdev_id)
+
#endif