]> git.baikalelectronics.ru Git - kernel.git/commit
tuntap: allow polling/writing/reading when detached
authorJason Wang <jasowang@redhat.com>
Mon, 28 Jan 2013 01:05:19 +0000 (01:05 +0000)
committerDavid S. Miller <davem@davemloft.net>
Tue, 29 Jan 2013 20:43:04 +0000 (15:43 -0500)
commitdea1fcdcc3e243e1b5a9978f4e1839f86452cb2f
treebb31d4d5e54a54ad587dc6301e0c8e48745b0986
parent4f1e0651a5622ef685189c088d1f48c528b1804f
tuntap: allow polling/writing/reading when detached

We forbid polling, writing and reading when the file were detached, this may
complex the user in several cases:

- when guest pass some buffers to vhost/qemu and then disable some queues,
  host/qemu needs to do its own cleanup on those buffers which is complex
  sometimes. We can do this simply by allowing a user can still write to an
  disabled queue. Write to an disabled queue will cause the packet pass to the
  kernel and read will get nothing.
- align the polling behavior with macvtap which never fails when the queue is
  created. This can simplify the polling errors handling of its user (e.g vhost)

We can simply achieve this by don't assign NULL to tfile->tun when detached.

Signed-off-by: Jason Wang <jasowang@redhat.com>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/tun.c