|
@@ -1258,7 +1258,7 @@ do_blockdev_direct_IO(int rw, struct kiocb *iocb, struct inode *inode,
|
|
*/
|
|
*/
|
|
BUG_ON(retval == -EIOCBQUEUED);
|
|
BUG_ON(retval == -EIOCBQUEUED);
|
|
if (dio->is_async && retval == 0 && dio->result &&
|
|
if (dio->is_async && retval == 0 && dio->result &&
|
|
- ((rw & READ) || (dio->result == sdio.size)))
|
|
|
|
|
|
+ ((rw == READ) || (dio->result == sdio.size)))
|
|
retval = -EIOCBQUEUED;
|
|
retval = -EIOCBQUEUED;
|
|
|
|
|
|
if (retval != -EIOCBQUEUED)
|
|
if (retval != -EIOCBQUEUED)
|