diff --git a/[refs] b/[refs] index 12b28244fe63..46a41b57b5a7 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 4c31a781144c1f556dfcda3277dafecd4e107d95 +refs/heads/master: 6280f190da4dd083f14f704be6b3314311a7eacb diff --git a/trunk/drivers/xen/xenfs/xenbus.c b/trunk/drivers/xen/xenfs/xenbus.c index a9592d981b10..9d5b519d2e4c 100644 --- a/trunk/drivers/xen/xenfs/xenbus.c +++ b/trunk/drivers/xen/xenfs/xenbus.c @@ -122,6 +122,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)