]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - fs/direct-io.c
Merge branch 'for-2.6.39/core' of git://git.kernel.dk/linux-2.6-block
[karo-tx-linux.git] / fs / direct-io.c
index dcb5577cde1de8ebdf57106a91248c17db81b823..ac5f164170e386fe242eb758345173c6e8e8697c 100644 (file)
@@ -1110,11 +1110,8 @@ direct_io_worker(int rw, struct kiocb *iocb, struct inode *inode,
            ((rw & READ) || (dio->result == dio->size)))
                ret = -EIOCBQUEUED;
 
-       if (ret != -EIOCBQUEUED) {
-               /* All IO is now issued, send it on its way */
-               blk_run_address_space(inode->i_mapping);
+       if (ret != -EIOCBQUEUED)
                dio_await_completion(dio);
-       }
 
        /*
         * Sync will always be dropping the final ref and completing the
@@ -1176,7 +1173,7 @@ __blockdev_direct_IO(int rw, struct kiocb *iocb, struct inode *inode,
        struct dio *dio;
 
        if (rw & WRITE)
-               rw = WRITE_ODIRECT_PLUG;
+               rw = WRITE_ODIRECT;
 
        if (bdev)
                bdev_blkbits = blksize_bits(bdev_logical_block_size(bdev));