• Josef Bacik's avatar
    Btrfs: check for duplicate iov_base's when doing dio reads · a1b75f7d
    Josef Bacik authored
    Apparently it is ok to submit a read to an IDE device with the same target page
    for different offsets.  This is what Windows does under qemu.  The problem is
    under DIO we expect them to be different buffers for checksumming reasons, and
    so this sort of thing will result in checksum errors, when in reality the file
    is fine.  So when reading, check to make sure that all iov bases are different,
    and if they aren't fall back to buffered mode, since that will work out right.
    Thanks,
    Signed-off-by: default avatarJosef Bacik <josef@redhat.com>
    Signed-off-by: default avatarChris Mason <chris.mason@oracle.com>
    a1b75f7d
inode.c 199 KB