diff options
author | Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> | 2010-08-04 14:49:24 -0700 |
---|---|---|
committer | Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> | 2010-08-04 14:49:24 -0700 |
commit | 7cc88fdcff3cc7f0d5d2384ffd7f6d4ce9a745f1 (patch) | |
tree | aec5432786f7cb1d5042dbb97a1995109a1ce3e3 /drivers/xen/xenfs/xenbus.c | |
parent | ca50a5f39041497253c6362f2ba4da1b56d3e6cb (diff) | |
parent | 6280f190da4dd083f14f704be6b3314311a7eacb (diff) |
Merge branch 'xen/xenbus' into upstream/xen
* xen/xenbus:
implement O_NONBLOCK for /proc/xen/xenbus
xenbus: do not hold transaction_mutex when returning to userspace
Diffstat (limited to 'drivers/xen/xenfs/xenbus.c')
-rw-r--r-- | drivers/xen/xenfs/xenbus.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/xen/xenfs/xenbus.c b/drivers/xen/xenfs/xenbus.c index f28ece39736..3b39c3752e2 100644 --- a/drivers/xen/xenfs/xenbus.c +++ b/drivers/xen/xenfs/xenbus.c @@ -124,6 +124,9 @@ static ssize_t xenbus_file_read(struct file *filp, mutex_lock(&u->reply_mutex); while (list_empty(&u->read_buffers)) { mutex_unlock(&u->reply_mutex); + if (filp->f_flags & O_NONBLOCK) + return -EAGAIN; + ret = wait_event_interruptible(u->read_waitq, !list_empty(&u->read_buffers)); if (ret) |