aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/xen/xenfs
diff options
context:
space:
mode:
authorJeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>2010-08-04 17:49:24 -0400
committerJeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>2010-08-04 17:49:24 -0400
commit7cc88fdcff3cc7f0d5d2384ffd7f6d4ce9a745f1 (patch)
treeaec5432786f7cb1d5042dbb97a1995109a1ce3e3 /drivers/xen/xenfs
parentca50a5f39041497253c6362f2ba4da1b56d3e6cb (diff)
parent6280f190da4dd083f14f704be6b3314311a7eacb (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')
-rw-r--r--drivers/xen/xenfs/xenbus.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/xen/xenfs/xenbus.c b/drivers/xen/xenfs/xenbus.c
index f28ece397361..3b39c3752e21 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,
124 mutex_lock(&u->reply_mutex); 124 mutex_lock(&u->reply_mutex);
125 while (list_empty(&u->read_buffers)) { 125 while (list_empty(&u->read_buffers)) {
126 mutex_unlock(&u->reply_mutex); 126 mutex_unlock(&u->reply_mutex);
127 if (filp->f_flags & O_NONBLOCK)
128 return -EAGAIN;
129
127 ret = wait_event_interruptible(u->read_waitq, 130 ret = wait_event_interruptible(u->read_waitq,
128 !list_empty(&u->read_buffers)); 131 !list_empty(&u->read_buffers));
129 if (ret) 132 if (ret)