aboutsummaryrefslogtreecommitdiffstats
path: root/fs/direct-io.c
diff options
context:
space:
mode:
authorJosef Bacik <josef@redhat.com>2010-05-23 11:00:54 -0400
committerChris Mason <chris.mason@oracle.com>2010-05-25 10:34:55 -0400
commit66f998f611897319b555364cefd5d6e88a205866 (patch)
tree3d2a46624bf6cf1ea1645cc8dad975af858dc114 /fs/direct-io.c
parent3fd0a5585eb98e074fb9934549c8d85c49756c0d (diff)
downloadkernel_samsung_smdk4412-66f998f611897319b555364cefd5d6e88a205866.zip
kernel_samsung_smdk4412-66f998f611897319b555364cefd5d6e88a205866.tar.gz
kernel_samsung_smdk4412-66f998f611897319b555364cefd5d6e88a205866.tar.bz2
fs: allow short direct-io reads to be completed via buffered IO
This is similar to what already happens in the write case. If we have a short read while doing O_DIRECT, instead of just returning, fallthrough and try to read the rest via buffered IO. BTRFS needs this because if we encounter a compressed or inline extent during DIO, we need to fallback on buffered. If the extent is compressed we need to read the entire thing into memory and de-compress it into the users pages. I have tested this with fsx and everything works great. Thanks, Signed-off-by: Josef Bacik <josef@redhat.com> Signed-off-by: Chris Mason <chris.mason@oracle.com>
Diffstat (limited to 'fs/direct-io.c')
0 files changed, 0 insertions, 0 deletions