summaryrefslogtreecommitdiffstats
path: root/fs/btrfs/extent_io.c
diff options
context:
space:
mode:
authorChris Mason <chris.mason@oracle.com>2008-04-22 13:26:46 -0400
committerChris Mason <chris.mason@oracle.com>2008-09-25 11:04:02 -0400
commite1c4b7451e22f5b0a9fbccfa560ee7b80c35b8cd (patch)
tree4e9d3f9d0a8084ad6282965fa190200de3a91d7d /fs/btrfs/extent_io.c
parent409c6118d39cb2d8666bee3d61a1a9ae5bbd4f5d (diff)
downloadtalos-op-linux-e1c4b7451e22f5b0a9fbccfa560ee7b80c35b8cd.tar.gz
talos-op-linux-e1c4b7451e22f5b0a9fbccfa560ee7b80c35b8cd.zip
Fix btrfs_get_extent and get_block corner cases, and disable O_DIRECT reads
The generic O_DIRECT code assumes all the bios have the same bdev, which isn't true for multi-device btrfs. Signed-off-by: Chris Mason <chris.mason@oracle.com>
Diffstat (limited to 'fs/btrfs/extent_io.c')
-rw-r--r--fs/btrfs/extent_io.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/btrfs/extent_io.c b/fs/btrfs/extent_io.c
index 81f8b4fd069b..6e4bf029c6d4 100644
--- a/fs/btrfs/extent_io.c
+++ b/fs/btrfs/extent_io.c
@@ -1694,6 +1694,7 @@ extent_bio_alloc(struct block_device *bdev, u64 first_sector, int nr_vecs,
}
if (bio) {
+ bio->bi_size = 0;
bio->bi_bdev = bdev;
bio->bi_sector = first_sector;
}
OpenPOWER on IntegriCloud