]> asedeno.scripts.mit.edu Git - linux.git/blobdiff - fs/direct-io.c
f2fs: fix to dirty inode for i_mode recovery
[linux.git] / fs / direct-io.c
index 41a0e97252aed1f28a566a76ff7cc342c9606fae..dbc1a1f080ceb231f0553ff270ee7663a5479bfd 100644 (file)
@@ -518,7 +518,7 @@ static struct bio *dio_await_one(struct dio *dio)
                dio->waiter = current;
                spin_unlock_irqrestore(&dio->bio_lock, flags);
                if (!(dio->iocb->ki_flags & IOCB_HIPRI) ||
-                   !blk_poll(dio->bio_disk->queue, dio->bio_cookie))
+                   !blk_poll(dio->bio_disk->queue, dio->bio_cookie, true))
                        io_schedule();
                /* wake up sets us TASK_RUNNING */
                spin_lock_irqsave(&dio->bio_lock, flags);
@@ -1265,6 +1265,8 @@ do_blockdev_direct_IO(struct kiocb *iocb, struct inode *inode,
        } else {
                dio->op = REQ_OP_READ;
        }
+       if (iocb->ki_flags & IOCB_HIPRI)
+               dio->op_flags |= REQ_HIPRI;
 
        /*
         * For AIO O_(D)SYNC writes we need to defer completions to a workqueue