[tip:tools/kvm] kvm tools: support 9p flush command

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

 



Commit-ID:  f974d07ccf9a230f2fd5cffdb11e733a780b4663
Gitweb:     http://git.kernel.org/tip/f974d07ccf9a230f2fd5cffdb11e733a780b4663
Author:     Sasha Levin <levinsasha928@xxxxxxxxx>
AuthorDate: Fri, 15 Jun 2012 13:34:17 +0200
Committer:  Pekka Enberg <penberg@xxxxxxxxxx>
CommitDate: Wed, 20 Jun 2012 10:23:25 +0300

kvm tools: support 9p flush command

While we process 9p requests serially, so there's no point for implementing
flush, we still need to answer it to prevent guest kernel from hanging waiting
for it.

Signed-off-by: Sasha Levin <levinsasha928@xxxxxxxxx>
Signed-off-by: Pekka Enberg <penberg@xxxxxxxxxx>
---
 tools/kvm/virtio/9p.c |   15 ++++++++++++++-
 1 files changed, 14 insertions(+), 1 deletions(-)

diff --git a/tools/kvm/virtio/9p.c b/tools/kvm/virtio/9p.c
index b4341b9..830fc50 100644
--- a/tools/kvm/virtio/9p.c
+++ b/tools/kvm/virtio/9p.c
@@ -1071,6 +1071,19 @@ err_out:
 	return;
 }
 
+static void virtio_p9_flush(struct p9_dev *p9dev,
+				struct p9_pdu *pdu, u32 *outlen)
+{
+	u16 tag, oldtag;
+
+	virtio_p9_pdu_readf(pdu, "ww", &tag, &oldtag);
+	virtio_p9_pdu_writef(pdu, "w", tag);
+	*outlen = pdu->write_offset;
+	virtio_p9_set_reply_header(pdu, *outlen);
+
+	return;
+}
+
 static void virtio_p9_eopnotsupp(struct p9_dev *p9dev,
 				 struct p9_pdu *pdu, u32 *outlen)
 {
@@ -1105,7 +1118,7 @@ static p9_handler *virtio_9p_dotl_handler [] = {
 	[P9_TCLUNK]       = virtio_p9_clunk,
 	[P9_TFSYNC]       = virtio_p9_fsync,
 	[P9_TREAD]        = virtio_p9_read,
-	[P9_TFLUSH]       = virtio_p9_eopnotsupp,
+	[P9_TFLUSH]       = virtio_p9_flush,
 	[P9_TLINK]        = virtio_p9_link,
 	[P9_TSYMLINK]     = virtio_p9_symlink,
 	[P9_TLCREATE]     = virtio_p9_create,
--
To unsubscribe from this list: send the line "unsubscribe linux-tip-commits" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Stable Commits]     [Linux Stable Kernel]     [Linux Kernel]     [Linux USB Devel]     [Linux Video &Media]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux