Merge branch 'for-linus-4.10' of git://git.kernel.org/pub/scm/linux/kernel/git/mason...
[linux-2.6-block.git] / fs / btrfs / inode.c
index a713d9d324b09f81cf99c20030b19921972d082f..c3b6ffa8e39d272981c0f3fe8134e97a93f0b360 100644 (file)
@@ -7898,7 +7898,7 @@ static int dio_read_error(struct inode *inode, struct bio *failed_bio,
        struct io_failure_record *failrec;
        struct bio *bio;
        int isector;
-       int read_mode;
+       int read_mode = 0;
        int ret;
 
        BUG_ON(bio_op(failed_bio) == REQ_OP_WRITE);
@@ -7917,9 +7917,7 @@ static int dio_read_error(struct inode *inode, struct bio *failed_bio,
        if ((failed_bio->bi_vcnt > 1)
                || (failed_bio->bi_io_vec->bv_len
                        > btrfs_inode_sectorsize(inode)))
-               read_mode = READ_SYNC | REQ_FAILFAST_DEV;
-       else
-               read_mode = READ_SYNC;
+               read_mode |= REQ_FAILFAST_DEV;
 
        isector = start - btrfs_io_bio(failed_bio)->logical;
        isector >>= inode->i_sb->s_blocksize_bits;
@@ -8405,7 +8403,7 @@ static int btrfs_submit_direct_hook(struct btrfs_dio_private *dip,
        if (!bio)
                return -ENOMEM;
 
-       bio_set_op_attrs(bio, bio_op(orig_bio), bio_flags(orig_bio));
+       bio->bi_opf = orig_bio->bi_opf;
        bio->bi_private = dip;
        bio->bi_end_io = btrfs_end_dio_bio;
        btrfs_io_bio(bio)->logical = file_offset;
@@ -8443,8 +8441,7 @@ next_block:
                                                  start_sector, GFP_NOFS);
                        if (!bio)
                                goto out_err;
-                       bio_set_op_attrs(bio, bio_op(orig_bio),
-                                        bio_flags(orig_bio));
+                       bio->bi_opf = orig_bio->bi_opf;
                        bio->bi_private = dip;
                        bio->bi_end_io = btrfs_end_dio_bio;
                        btrfs_io_bio(bio)->logical = file_offset;