diff options
author | Jan Kara <[email protected]> | 2019-11-26 09:28:47 -0800 |
---|---|---|
committer | Darrick J. Wong <[email protected]> | 2019-11-26 09:28:47 -0800 |
commit | f550ee9b85fd47f85e31965b908a7c1044c531aa (patch) | |
tree | af48433f8175cc792120556efe930cf291d99a49 /kernel/bpf/stackmap.c | |
parent | 419e9c38aa075ed0cd3c13d47e15954b686bcdb6 (diff) |
iomap: Do not create fake iter in iomap_dio_bio_actor()
iomap_dio_bio_actor() copies iter to a local variable and then limits it
to a file extent we have mapped. When IO is submitted,
iomap_dio_bio_actor() advances the original iter while the copied iter
is advanced inside bio_iov_iter_get_pages(). This logic is non-obvious
especially because both iters still point to same shared structures
(such as pipe info) so if iov_iter_advance() changes anything in the
shared structure, this scheme breaks. Let's just truncate and reexpand
the original iter as needed instead of playing games with copying iters
and keeping them in sync.
Signed-off-by: Jan Kara <[email protected]>
Reviewed-by: Darrick J. Wong <[email protected]>
Signed-off-by: Darrick J. Wong <[email protected]>
Reviewed-by: Christoph Hellwig <[email protected]>
Diffstat (limited to 'kernel/bpf/stackmap.c')
0 files changed, 0 insertions, 0 deletions