Statistics
| Branch: | Revision:

root / hw / 9pfs / virtio-9p.c @ 67d6fa53

History | View | Annotate | Download (84.4 kB)

# Date Author Comment
67d6fa53 02/24/2012 10:31 am Benjamin Herrenschmidt

hw/9pfs: Endian fixes for virtfs

This patch fixes several endian bugs in virtfs.

Cc: Aneesh Kumar K.V <>

Signed-off-by: Benjamin Herrenschmidt <>
Signed-off-by: David Gibson <>...

eed96860 01/30/2012 07:24 am Daniel P. Berrange

hw/9pfs: Remove O_NOATIME flag from 9pfs open() calls in readonly mode

When 2c74c2cb4bedddbfa67628fbd5f9273b4e0e9903 added support for
the 'readonly' flag against 9p filesystems, it also made QEMU
add the O_NOATIME flag as a side-effect.

The O_NOATIME flag, however, may only be set by the file owner,...

71f86cd6 01/30/2012 07:24 am Aneesh Kumar K.V

hw/9pfs: Fix crash when mounting with synthfs

Some Fsdriver backend don't have fs_root. So check for that in
migrate message.

Signed-off-by: Aneesh Kumar K.V <>

ddca7f86 01/04/2012 04:23 pm M. Mohan Kumar

hw/9pfs: Add validation to {un}marshal code

Signed-off-by: M. Mohan Kumar <>
Signed-off-by: Aneesh Kumar K.V <>

10925bf0 01/04/2012 04:21 pm M. Mohan Kumar

hw/9pfs: Move pdu_marshal/unmarshal code to a seperate file

Move p9 marshaling/unmarshaling code to a separate file so that
proxy filesytem driver can use these calls. Also made marshaling
code generic to accept "struct iovec" instead of V9fsPDU.

Signed-off-by: M. Mohan Kumar <>...

2f008a8c 12/21/2011 09:07 am Aneesh Kumar K.V

hw/9pfs: Use the correct signed type for different variables

Signed-off-by: Aneesh Kumar K.V <>

e4027caf 12/21/2011 09:07 am Aneesh Kumar K.V

hw/9pfs: iattr_valid flags are kernel internal flags map them to 9p values.

Kernel internal values can change, add protocol values for these constant and
use them.

Signed-off-by: Aneesh Kumar K.V <>

302a0d3e 12/21/2011 09:07 am Stefan Hajnoczi

hw/9pfs: replace iovec manipulation with QEMUIOVector

The v9fs_read() and v9fs_write() functions rely on iovec[] manipulation
code should be replaced with QEMUIOVector to avoid duplicating code.
In the future it may be possible to make the code even more concise by...

3a93113a 12/06/2011 11:56 am Dong Xu Wang

fix typo: delete redundant semicolon

Double semicolons should be single.

Signed-off-by: Dong Xu Wang <>
Signed-off-by: Stefan Hajnoczi <>

e9a0152b 12/04/2011 07:05 pm Aneesh Kumar K.V

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:4444
Migration is disabled when VirtFS export path '/tmp/' is mounted in the guest using mount_tag 'v_tmp'...

b41e2992 12/04/2011 07:05 pm Deepak C Shetty

hw/9pfs: Reset server state during TVERSION

As per the 9p rfc, during TVERSION its necessary to clean all the active
fids, so that we start the session from a clean state. Its also needed in
scenarios where the guest is booting off 9p, and boot fails, and client...

930b5883 11/21/2011 10:58 pm Paolo Bonzini

9p: pass dotl flags to the unlinkat method

AT_REMOVEDIR is not defined on all systems. Pass the raw flags from the
9p protocol, which are always there.

Signed-off-by: Paolo Bonzini <>
Signed-off-by: Anthony Liguori <>

779b5b04 11/02/2011 09:27 am Stefan Hajnoczi

hw/9pfs: use g_vasprintf() instead of rolling our own

Markus Armbruster <> sent fixes for va_list vararg
issues in v9fs_string_alloc_printf(). It turns out the function
duplicates g_vasprintf() and can therefore be eliminated entirely.
...

2c74c2cb 10/31/2011 09:04 am M. Mohan Kumar

hw/9pfs: Read-only support for 9p export

A new fsdev parameter "readonly" is introduced to control accessing 9p export.
"readonly" can be used to specify the access type. By default "rw" access
is given to 9p export.

Signed-off-by: M. Mohan Kumar <>...

cc720ddb 10/31/2011 09:04 am Aneesh Kumar K.V

hw/9pfs: Abstract open state of fid to V9fsFidOpenState

To implement synthetic file system in Qemu we may not really
require file descriptor and Dir *. Make generic code use
V9fsFidOpenState instead.

Signed-off-by: Aneesh Kumar K.V <>

7999f7e1 10/30/2011 11:05 am Aneesh Kumar K.V

hw/9pfs: Make VirtFS tracing work correctly

this patch fix multiple issues with VirtFS tracing.
a) Add tracepoint to the correct code path. We handle error in complete_pdu
b) Fix indentation in python script
c) Fix variable naming issue in python script
...

9844081b 10/15/2011 01:00 pm M. Mohan Kumar

hw/9pfs: Add open flag mapping

Some of the flags are OS/arch dependent we need to use
9P defined value on wire,

Based on the original patch from Venkateswararao Jujjuri <>

Signed-off-by: M. Mohan Kumar <>
Signed-off-by: Aneesh Kumar K.V <>

e06a765e 10/15/2011 01:00 pm Harsh Prateek Bora

hw/9pfs: Add st_gen support in getattr reply

This patch use file system specific ioctl for getting i_generation
value. Not all file system support the ioctl. So we add an export
specific extended operation and assign right callback for the
file system that support i_generation ioctl...

c572f23a 10/15/2011 01:00 pm Harsh Prateek Bora

hw/9pfs: Introduce tracing for 9p pdu handlers

Plan is to replace the existing debug infrastructure with Qemu tracing
infrastructure so that user can dynamically enable/disable trace events and
therefore a meaningful trace log can be generated which can be further...

46604b39 10/15/2011 01:00 pm Harsh Prateek Bora

hw/9pfs: Remove virtio-9p-debug.* infra to be replaced by Qemu Tracing.

Removing the existing debug infrastrucure as proposed to be replaced by
Qemu Tracing infrastructure.

Reviewed-by: Stefan Hajnoczi <>
Signed-off-by: Harsh Prateek Bora <>...

c98f1d4a 10/15/2011 01:00 pm Aneesh Kumar K.V

hw/9pfs: Use export_flag for indicating whether fs driver use path names.

This allows us to remove another member from the struct

Signed-off-by: Aneesh Kumar K.V <>

ea60f315 10/15/2011 01:00 pm M. Mohan Kumar

virtio-9p: Use 9P specific Lock constants

Use 9P specific lock constants instead of arch specific lock constants.

Signed-off-by: M. Mohan Kumar <>
Signed-off-by: Aneesh Kumar K.V <>

d3ab98e6 10/12/2011 04:41 pm Aneesh Kumar K.V

hw/9pfs: Add new virtfs option writeout=immediate skip host page cache

writeout=immediate implies the after pwritev we do a sync_file_range.

Reviewed-by: Stefan Hajnoczi <>
Signed-off-by: Aneesh Kumar K.V <>

70c18fc0 09/22/2011 07:08 pm Aneesh Kumar K.V

hw/9pfs: Make v9fs_string* functions non-static

We will use them later in other files

Signed-off-by: Aneesh Kumar K.V <>

02cb7f3a 09/22/2011 07:08 pm Aneesh Kumar K.V

hw/9pfs: Use read-write lock for protecting fid path.

On rename we take the write lock and this ensure path
doesn't change as we operate on them.

Signed-off-by: Aneesh Kumar K.V <>

2289be19 09/22/2011 07:08 pm Aneesh Kumar K.V

hw/9pfs: Move fid pathname tracking to seperate data type.

This enables us to add handles to track fids later. The
V9fsPath added is similar to V9fsString except that the
size include the NULL byte also.

Signed-off-by: Aneesh Kumar K.V <>

532decb7 09/22/2011 07:08 pm Aneesh Kumar K.V

hw/9pfs: Add fs driver specific details to fscontext

Add a new context flag PATHNAME_FSCONTEXT and indicate whether
the fs driver track fid using path names. Also add a private
pointer that help us to track fs driver specific values in there

Signed-off-by: Aneesh Kumar K.V <>

ce421a19 09/22/2011 07:08 pm Aneesh Kumar K.V

hw/9pfs: Avoid unnecessary get_fid in v9fs_clunk

Signed-off-by: Aneesh Kumar K.V <>

bccacf6c 09/22/2011 07:08 pm Aneesh Kumar K.V

hw/9pfs: Implement TFLUSH operation

Signed-off-by: Aneesh Kumar K.V <>

7834cf77 09/09/2011 12:37 pm Aneesh Kumar K.V

hw/9pfs: add 9P2000.L unlinkat operation

unlinkat - Remove a directory entry

size4 Tunlinkat tag2 dirfid4 name[s] flag4
size4 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...

89bf6593 09/09/2011 12:16 pm Aneesh Kumar K.V

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]...

10e72295 09/09/2011 12:16 pm Aneesh Kumar K.V

hw/9pfs: Fix memleaks in some 9p operation

Signed-off-by: Aneesh Kumar K.V <>

25427ec1 09/09/2011 12:15 pm Aneesh Kumar K.V

hw/9pfs: Initialize rest of qid field to zero.

Since qid is allocated out of stack we need to intialize
the field to zero. Otherwise we will send wrong qid value
to client.

Signed-off-by: Aneesh Kumar K.V <>

407fee0f 09/09/2011 12:15 pm Aneesh Kumar K.V

hw/9pfs: Update the fidp path before opendir

We need to update the fidp path before opendir. Since we don't
use the fid returned by mkdir, earlier code should not have
much issue. We do a double v9fs_string_copy here. The later patch
cleanup the entire function....

9b54ffaa 08/25/2011 05:46 pm Aneesh Kumar K.V

hw/9pfs: Use v9fs_do_close instead of close

we should use the local abstraction instead of
directly calling close.

Signed-off-by: Aneesh Kumar K.V <>

95f65511 08/25/2011 05:46 pm Aneesh Kumar K.V

hw/9pfs: Add directory reclaim support

Signed-off-by: Aneesh Kumar K.V <>

b9cb88b0 08/25/2011 05:46 pm Aneesh Kumar K.V

hw/9pfs: mark directories also as un-reclaimable on unlink

Signed-off-by: Aneesh Kumar K.V <>

84dfb926 08/25/2011 05:46 pm Aneesh Kumar K.V

hw/9pfs: Add reference counting for fid

Signed-off-by: Aneesh Kumar K.V <>

7a462745 08/25/2011 05:46 pm Aneesh Kumar K.V

hw/9pfs: Add file descriptor reclaim support

[M. Mohan Kumar <> removed some unused variables]

Signed-off-by: Aneesh Kumar K.V <>

5f524c1e 08/22/2011 07:14 am Harsh Prateek Bora

use readdir_r instead of readdir for reentrancy

Signed-off-by: Harsh Prateek Bora <>
Signed-off-by: Aneesh Kumar K.V <>

d208a0e0 08/22/2011 07:14 am Aneesh Kumar K.V

hw/9pfs: Update v9fs_read to use coroutines

Signed-off-by: Aneesh Kumar K.V <>

8c158561 08/22/2011 07:14 am Aneesh Kumar K.V

hw/9pfs: Update v9fs_attach to use coroutines

Signed-off-by: Aneesh Kumar K.V <>

b81d685e 08/22/2011 07:14 am Aneesh Kumar K.V

hw/9pfs: Update v9fs_wstat to use coroutines

Signed-off-by: Aneesh Kumar K.V <>

d7a90491 08/22/2011 07:14 am Aneesh Kumar K.V

hw/9pfs: Update v9fs_write to use coroutines

Signed-off-by: Aneesh Kumar K.V <>

ffd66876 08/22/2011 07:14 am Venkateswararao Jujjuri (JV)

hw/9pfs: Update v9fs_link to use coroutines

Signed-off-by: Venkateswararao Jujjuri <>
Signed-off-by: Aneesh Kumar K.V <>

3fa2a8d1 08/22/2011 07:14 am Venkateswararao Jujjuri

hw/9pfs: Update v9fs_symlink to use coroutines

Signed-off-by: Venkateswararao Jujjuri <>
Signed-off-by: Aneesh Kumar K.V <>

baaa86d9 08/22/2011 07:14 am Venkateswararao Jujjuri

hw/9pfs: Update v9fs_create to use coroutines

Signed-off-by: Venkateswararao Jujjuri <>
Signed-off-by: Aneesh Kumar K.V <>

4e9ad444 08/22/2011 07:14 am Aneesh Kumar K.V

hw/9pfs: Update v9fs_fsync to use coroutines

Signed-off-by: Aneesh Kumar K.V <>

c540ee51 08/22/2011 07:14 am Aneesh Kumar K.V

hw/9pfs: Update v9fs_clunk to use coroutines

Signed-off-by: Aneesh Kumar K.V <>

3cc19c0c 08/22/2011 06:53 am Aneesh Kumar K.V

hw/9pfs: Update v9fs_walk to use coroutines

Signed-off-by: Aneesh Kumar K.V <>

d8e0c29e 08/22/2011 06:52 am Aneesh Kumar K.V

hw/9pfs: Update v9fs_stat to use coroutines

Signed-off-by: Aneesh Kumar K.V <>

36f8981f 08/22/2011 06:51 am Venkateswararao Jujjuri

hw/9pfs: Update v9fs_lcreate to use coroutines

Signed-off-by: Venkateswararao Jujjuri <>
Signed-off-by: Aneesh Kumar K.V <>

857bc158 08/22/2011 06:49 am Aneesh Kumar K.V

hw/9pfs: Update v9fs_open to use coroutines

Signed-off-by: Aneesh Kumar K.V <>

e4e414a4 08/22/2011 06:48 am Aneesh Kumar K.V

hw/9pfs: Update v9fs_getlock to use coroutines

Signed-off-by: Aneesh Kumar K.V <>

0c27bf2a 08/22/2011 06:44 am Aneesh Kumar K.V

hw/9pfs: Update v9fs_lock to use coroutines

Signed-off-by: Aneesh Kumar K.V <>

7267c094 08/21/2011 07:01 am Anthony Liguori

Use glib memory allocation and free functions

qemu_malloc/qemu_free no longer exist after this commit.

Signed-off-by: Anthony Liguori <>

930b1e17 08/08/2011 09:21 pm Aneesh Kumar K.V

hw/9pfs: Update vfs_rename to use coroutines

I guess TRENAME 9p operation needs an update. The 9p op should
more similar renameat. Otherwise anything other than path cannot track
the fid.

Signed-off-by: Aneesh Kumar K.V <>

ae1ef571 08/08/2011 09:20 pm Venkateswararao Jujjuri

hw/9pfs: Update v9fs_remove to use coroutines

Signed-off-by: Venkateswararao Jujjuri <>
Signed-off-by: Aneesh Kumar K.V <>

e84861f7 08/08/2011 09:16 pm Venkateswararao Jujjuri

hw/9pfs: Update mkdir to use coroutines

Signed-off-by: Venkateswararao Jujjuri "<>
Signed-off-by: Aneesh Kumar K.V <>

1b733fed 08/08/2011 09:12 pm Aneesh Kumar K.V

hw/9pfs: Update v9fs_mknod to use coroutines

Signed-off-by: Aneesh Kumar K.V <>

88a4763e 08/08/2011 09:12 pm Aneesh Kumar K.V

hw/9pfs: Update v9fs_statfs to use coroutines

Signed-off-by: Aneesh Kumar K.V <>

8db21ce7 08/08/2011 09:12 pm Aneesh Kumar K.V

hw/9pfs: Update v9fs_getattr to use coroutines

Signed-off-by: Aneesh Kumar K.V <>

65c05f9a 08/08/2011 09:12 pm Aneesh Kumar K.V

hw/9pfs: Update v9fs_setattr to use coroutines

Signed-off-by: Aneesh Kumar K.V <>

670185a6 08/08/2011 09:12 pm Aneesh Kumar K.V

hw/9pfs: Update v9fs_xattrwalk to coroutines

Signed-off-by: Aneesh Kumar K.V <>

f10ff58d 08/08/2011 09:12 pm Aneesh Kumar K.V

hw/9pfs: Update v9fs_xattrcreate to use coroutines

Signed-off-by: Aneesh Kumar K.V <>

5e4eaa79 08/08/2011 09:12 pm Aneesh Kumar K.V

hw/9pfs: Update v9fs_readdir to use coroutines

Signed-off-by: Aneesh Kumar K.V <>

7a5ca31e 08/08/2011 09:09 pm Venkateswararao Jujjuri

hw/9pfs: Update v9fs_readlink to use coroutine

Signed-off-by: Venkateswararao Jujjuri <>
Signed-off-by: Aneesh Kumar K.V <>

ff06030f 08/08/2011 10:35 am Venkateswararao Jujjuri (JV)

[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 filesystem
calls to threaded coroutines pushing all blocking clals in VirtFS out...

93e0597e 06/08/2011 08:15 pm Anthony Liguori

Merge remote-tracking branch 'jvrao/for-anthony' into staging

9694b5d1 06/04/2011 12:39 am Stefan Weil

virtio-9p: Remove statement without effect (fix warning from cppcheck)

cppcheck report:
virtio-9p.c:197: warning: Redundant assignment of "flags" to itself

Signed-off-by: Stefan Weil <>
Reviewed-by: Venkateswararao Jujjuri <>...

5c3234c6 06/01/2011 08:25 pm Aneesh Kumar K.V

hw/9pfs: Don't crash when we get a request with not supported 9p operation

Return EOPNOTSUPP as error

Signed-off-by: Aneesh Kumar K.V <>
Signed-off-by: Venkateswararao Jujjuri (JV) <>

873c3213 06/01/2011 08:25 pm Stefan Weil

virtio-9p: Use relative includes for files in hw

Commit 353ac78d495ef976242abd868f68d78420861c2c moved the files
without fixing the include paths. It used a modified CFLAGS
to add hw to the include search path, but this breaks builds
where the user wants to set special CFLAGS. Long include paths...

f4f61d27 06/01/2011 08:24 pm Aneesh Kumar K.V

virtio-9p: Move device specific code to virtio-9p-device

Signed-off-by: Aneesh Kumar K.V <>
Signed-off-by: Venkateswararao Jujjuri (JV) <>

9fe1ebeb 06/01/2011 08:23 pm Aneesh Kumar K.V

virtio-9p: Move 9p device registration into virtio-9p.c

This patch move the 9p device registration into its own file

Signed-off-by: Aneesh Kumar K.V <>
Signed-off-by: Venkateswararao Jujjuri (JV) <>

936532a4 06/01/2011 08:23 pm Malahal Naineni

[virtio-9p] Stop renaming files with similar name!

v9fs_complete_rename() mistakenly renames files with similar name
as we don't check if the matched name is really an offspring.

Signed-off-by: Malahal Naineni <>
Signed-off-by: Venkateswararao Jujjuri (JV) <>

4f8dee2d 04/27/2011 06:27 pm Harsh Prateek Bora

v9fs_walk: As per 9p2000 RFC, MAXWELEM >= nwnames >= 0.

The nwnames field in TWALK message is assumed to be >=0 and <= MAXWELEM
which is defined as macro P9_MAXWELEM (16) in virtio-9p.h as per 9p2000
RFC. Appropriate changes are required in V9fsWalkState and v9fs_walk....

1d810aeb 04/27/2011 06:26 pm M. Mohan Kumar

virtio-9p: Bugfix to send correct iounit

LCREATE function packs address of iounit in the pdu, fix that to send
actual iounit itself.

Signed-off-by: M. Mohan Kumar <>
Acked-by: Aneesh Kumar K.V <>
Signed-off-by: Venkateswararao Jujjuri <>

39792515 04/27/2011 06:25 pm Aneesh Kumar K.V

virtio-9p: Print the pdu details on return

Signed-off-by: Aneesh Kumar K.V <>
Signed-off-by: Venkateswararao Jujjuri <>

353ac78d 04/27/2011 06:24 pm Aneesh Kumar K.V

virtio-9p: move 9p files around

Now that we start adding more files related to 9pfs
it make sense to move them to a separate directory

Signed-off-by: Aneesh Kumar K.V <>
Signed-off-by: Venkateswararao Jujjuri <>