diff options
author | Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> | 2010-08-04 17:49:24 -0400 |
---|---|---|
committer | Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> | 2010-08-04 17:49:24 -0400 |
commit | 7cc88fdcff3cc7f0d5d2384ffd7f6d4ce9a745f1 (patch) | |
tree | aec5432786f7cb1d5042dbb97a1995109a1ce3e3 /drivers/xen/xenfs | |
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')
-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 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) |