diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-11-29 21:27:00 +0100 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-11-29 21:38:44 +0100 |
commit | ab73857e354ab9e317613cba7db714e2c12c6547 (patch) | |
tree | de5b6fec7caec530f0dd72c9394a1a7d0b6f9878 /fs/buffer.c | |
parent | blockdev: remove bd_block_size_semaphore again (diff) | |
download | linux-ab73857e354ab9e317613cba7db714e2c12c6547.tar.xz linux-ab73857e354ab9e317613cba7db714e2c12c6547.zip |
direct-io: don't read inode->i_blkbits multiple times
Since directio can work on a raw block device, and the block size of the
device can change under it, we need to do the same thing that
fs/buffer.c now does: read the block size a single time, using
ACCESS_ONCE().
Reading it multiple times can get different results, which will then
confuse the code because it actually encodes the i_blksize in
relationship to the underlying logical blocksize.
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'fs/buffer.c')
0 files changed, 0 insertions, 0 deletions