diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-11-29 12:27:00 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-11-29 12:38:44 -0800 |
commit | ab73857e354ab9e317613cba7db714e2c12c6547 (patch) | |
tree | de5b6fec7caec530f0dd72c9394a1a7d0b6f9878 /fs/block_dev.c | |
parent | 1e8b33328a5407b447ff80953655a47014a6dcb9 (diff) | |
download | linux-ab73857e354ab9e317613cba7db714e2c12c6547.tar.gz linux-ab73857e354ab9e317613cba7db714e2c12c6547.tar.bz2 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/block_dev.c')
0 files changed, 0 insertions, 0 deletions