virtualization.lists.linux-foundation.org archive mirror
 help / color / mirror / Atom feed
From: Amit Shah <amit.shah@redhat.com>
To: virtualization@lists.linux-foundation.org
Cc: Amit Shah <amit.shah@redhat.com>, mst@redhat.com
Subject: [PATCH 7/7] virtio: console: Return -EPIPE if port on the host isn't connected
Date: Tue, 23 Mar 2010 14:28:00 +0530	[thread overview]
Message-ID: <1269334680-1369-8-git-send-email-amit.shah@redhat.com> (raw)
In-Reply-To: <1269334680-1369-7-git-send-email-amit.shah@redhat.com>

The virtio-serial ports are like pipes, if there's no reader on the
other end, sending data might get it either ignored or the host might
return '0', which would make guests get -EAGAIN. Since we know the state
of the host port connection, it's appropriate to let the application
know that the other end isn't connected.

Signed-off-by: Amit Shah <amit.shah@redhat.com>
---
 drivers/char/virtio_console.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/drivers/char/virtio_console.c b/drivers/char/virtio_console.c
index 55de0b5..4562964 100644
--- a/drivers/char/virtio_console.c
+++ b/drivers/char/virtio_console.c
@@ -411,6 +411,9 @@ static ssize_t send_buf(struct port *port, void *in_buf, size_t in_count)
 	ssize_t ret;
 	unsigned int len;
 
+	if (use_multiport(port->portdev) && !port->host_connected)
+		return -EPIPE;
+
 	out_vq = port->out_vq;
 
 	sg_init_one(sg, in_buf, in_count);
-- 
1.6.2.5

  reply	other threads:[~2010-03-23  8:58 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-03-23  8:57 [PATCH 0/7] virtio: console: Fixes, new flexible way of discovering ports Amit Shah
2010-03-23  8:57 ` [PATCH 1/7] MAINTAINERS: Put the virtio-console entry in correct alphabetical order Amit Shah
2010-03-23  8:57   ` [PATCH 2/7] virtio: console: Remove config work handler Amit Shah
2010-03-23  8:57     ` [PATCH 3/7] virtio: console: Add a __send_control_msg() that can send messages without a valid port Amit Shah
2010-03-23  8:57       ` [PATCH 4/7] virtio: console: Move code around for future patches Amit Shah
2010-03-23  8:57         ` [PATCH 5/7] virtio: console: Use a control message to add ports Amit Shah
2010-03-23  8:57           ` [PATCH 6/7] virtio: console: Don't always create a port 0 if using multiport Amit Shah
2010-03-23  8:58             ` Amit Shah [this message]
2010-03-23  9:00               ` [PATCH 7/7] virtio: console: Return -EPIPE if port on the host isn't connected Michael S. Tsirkin
2010-03-23  9:13                 ` Amit Shah
2010-03-23 10:46                   ` Gerd Hoffmann
2010-03-23 10:52                     ` Amit Shah
2010-03-23 11:04                       ` Gerd Hoffmann
2010-03-23 11:09                         ` Amit Shah
2010-03-23 11:15                           ` Gerd Hoffmann
2010-03-23 11:21                             ` Amit Shah
2010-03-23 11:06                 ` Amit Shah
2010-03-30  5:16 ` [PATCH 0/7] virtio: console: Fixes, new flexible way of discovering ports Rusty Russell
2010-03-30  5:20   ` Amit Shah

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1269334680-1369-8-git-send-email-amit.shah@redhat.com \
    --to=amit.shah@redhat.com \
    --cc=mst@redhat.com \
    --cc=virtualization@lists.linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).