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