]> asedeno.scripts.mit.edu Git - linux.git/blobdiff - fs/direct-io.c
skd_main: don't use req->special
[linux.git] / fs / direct-io.c
index 093fb54cd3163d96b03ebf3b0bea4a83a26bb02a..ea07d5a34317dcf2a644a5942d4fa8736c7a23b1 100644 (file)
@@ -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
@@ -1313,7 +1315,7 @@ do_blockdev_direct_IO(struct kiocb *iocb, struct inode *inode,
        spin_lock_init(&dio->bio_lock);
        dio->refcount = 1;
 
-       dio->should_dirty = (iter->type == ITER_IOVEC);
+       dio->should_dirty = iter_is_iovec(iter) && iov_iter_rw(iter) == READ;
        sdio.iter = iter;
        sdio.final_block_in_request = end >> blkbits;