History | View | Annotate | Download (8.9 kB)
virtio-9p: add the virtio-9p device.
Create virtio-9p-device which extends virtio-device, so it can be connected onvirtio-bus.
Signed-off-by: KONRAD Frederic <fred.konrad@greensocs.com>Message-id: 1366708123-19626-2-git-send-email-fred.konrad@greensocs.com...
virtio-9p-pci: switch to the new API.
Here the virtio-9p-pci is modified for the new API. The devicevirtio-9p-pci extends virtio-pci. It creates and connects avirtio-9p-device during the init. The properties are not changed.
Signed-off-by: KONRAD Frederic <fred.konrad@greensocs.com>...
virtio-9p: cleanup: QOM casts.
As the virtio-9p-pci is switched to the new API, we can use QOM casts.
Signed-off-by: KONRAD Frederic <fred.konrad@greensocs.com>Message-id: 1366708123-19626-5-git-send-email-fred.konrad@greensocs.comSigned-off-by: Anthony Liguori <aliguori@us.ibm.com>
hw: move headers to include/
Many of these should be cleaned up with proper qdev-/QOM-ification.Right now there are many catch-all headers in include/hw/ARCH dependingon cpu.h, and this makes it necessary to compile these files per-target.However, fixing this does not belong in these patches....
virtio-9p: remove PCI dependencies from hw/9pfs/
Also move the 9p.h file to 9pfs/virtio-9p-device.h, for consistencywith the corresponding .c file.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
misc: move include files to include/qemu/
block: move include files to include/block/
hw/9pfs: Move pdu_marshal/unmarshal code to a seperate file
Move p9 marshaling/unmarshaling code to a separate file so thatproxy filesytem driver can use these calls. Also made marshalingcode generic to accept "struct iovec" instead of V9fsPDU.
Signed-off-by: M. Mohan Kumar <mohan@in.ibm.com>...
hw/9pfs: Use the correct signed type for different variables
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
hw/9pfs: use migration blockers to prevent live migration when virtfs export path is mounted
Now when you try to migrate with VirtFS export path mounted, you get a proper QMP error:
(qemu) migrate tcp:localhost:4444Migration is disabled when VirtFS export path '/tmp/' is mounted in the guest using mount_tag 'v_tmp'...
hw/9pfs: Add synthetic file system support using 9p
This patch create a synthetic file system with mount tagv_synth when -virtfs_synth command line option is specifiedin qemu. The synthetic file system can be mounted in guestusing 9p using the below command line...
hw/9pfs: Abstract open state of fid to V9fsFidOpenState
To implement synthetic file system in Qemu we may not reallyrequire file descriptor and Dir *. Make generic code useV9fsFidOpenState instead.
hw/9pfs: Add open flag mapping
Some of the flags are OS/arch dependent we need to use9P defined value on wire,
Based on the original patch from Venkateswararao Jujjuri <jvrao@linux.vnet.ibm.com>
Signed-off-by: M. Mohan Kumar <mohan@in.ibm.com>Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
hw/9pfs: Use export_flag for indicating whether fs driver use path names.
This allows us to remove another member from the struct
virtio-9p: Use 9P specific Lock constants
Use 9P specific lock constants instead of arch specific lock constants.
hw/9pfs: Make v9fs_string* functions non-static
We will use them later in other files
hw/9pfs: Use read-write lock for protecting fid path.
On rename we take the write lock and this ensure pathdoesn't change as we operate on them.
hw/9pfs: Move fid pathname tracking to seperate data type.
This enables us to add handles to track fids later. TheV9fsPath added is similar to V9fsString except that thesize include the NULL byte also.
hw/9pfs: Add fs driver specific details to fscontext
Add a new context flag PATHNAME_FSCONTEXT and indicate whetherthe fs driver track fid using path names. Also add a privatepointer that help us to track fs driver specific values in there
hw/9pfs: Implement TFLUSH operation
hw/9pfs: add 9P2000.L unlinkat operation
unlinkat - Remove a directory entry
size4 Tunlinkat tag2 dirfid4 name[s] flag4size4 Runlinkat tag2
older Tremove have the below request format
size4 Tremove tag2 fid4
The remove message is used to remove a directory entry either file or directory...
hw/9pfs: add 9P2000.L renameat operation
rename - change name of file or directory
size4 Trenameat tag2 olddirfid4 oldname[s] newdirfid4 newname[s]size4 Rrenameat tag2
older Trename have the below request format
size4 Trename tag2 fid4 newdirfid4 name[s]...
Merge remote-tracking branch 'aneesh/for-upstream-3' into staging
Use new macro QEMU_PACKED for packed structures
Most changes were made using these commands:
git grep -la '__attribute__((packed))'|xargs perl -pi -e 's/__attribute__\(\(packed\)\)/QEMU_PACKED/'git grep -la '__attribute__ ((packed))'|xargs perl -pi -e 's/__attribute__ \(\(packed\)\)/QEMU_PACKED/'...
hw/9pfs: Add reference counting for fid
hw/9pfs: Add file descriptor reclaim support
[M. Mohan Kumar <mohan@in.ibm.com> removed some unused variables]
hw/9pfs: Update v9fs_wstat to use coroutines
hw/9pfs: Update v9fs_symlink to use coroutines
Signed-off-by: Venkateswararao Jujjuri <jvrao@linux.vnet.ibm.com>Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
hw/9pfs: Update v9fs_create to use coroutines
hw/9pfs: Update v9fs_walk to use coroutines
hw/9pfs: Update v9fs_lcreate to use coroutines
hw/9pfs: Update v9fs_getlock to use coroutines
hw/9pfs: Update v9fs_lock to use coroutines
hw/9pfs: Update vfs_rename to use coroutines
I guess TRENAME 9p operation needs an update. The 9p op shouldmore similar renameat. Otherwise anything other than path cannot trackthe fid.
hw/9pfs: Update v9fs_remove to use coroutines
hw/9pfs: Update v9fs_statfs to use coroutines
hw/9pfs: Update v9fs_getattr to use coroutines
hw/9pfs: Update v9fs_setattr to use coroutines
hw/9pfs: Update v9fs_xattrcreate to use coroutines
hw/9pfs: Update v9fs_readlink to use coroutine
[virtio-9p] Change all pdu handlers to coroutines.
This patch changes the top level handlers to coroutines and sets the base.It will be followed up with series of patches to convert all filesystemcalls to threaded coroutines pushing all blocking clals in VirtFS out...
[virtio-9p] Make rpath thread safe
Current rpath inline function is heavily used in all system calls.This function has a static buffer making it a non-thread safe function.This patch introduces new thread-safe routine and makes use of it.
Signed-off-by: Venkateswararao Jujjuri "<jvrao@linux.vnet.ibm.com>
virtio-9p: Move device specific code to virtio-9p-device
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>Signed-off-by: Venkateswararao Jujjuri (JV) <jvrao@linux.vnet.ibm.com>
v9fs_walk: As per 9p2000 RFC, MAXWELEM >= nwnames >= 0.
The nwnames field in TWALK message is assumed to be >=0 and <= MAXWELEMwhich is defined as macro P9_MAXWELEM (16) in virtio-9p.h as per 9p2000RFC. Appropriate changes are required in V9fsWalkState and v9fs_walk....
virtio-9p: move 9p files around
Now that we start adding more files related to 9pfsit make sense to move them to a separate directory
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>Signed-off-by: Venkateswararao Jujjuri <jvrao@linux.vnet.ibm.com>