diff options
author | Jan Kara <jack@suse.cz> | 2019-11-26 09:28:47 -0800 |
---|---|---|
committer | Darrick J. Wong <darrick.wong@oracle.com> | 2019-11-26 09:28:47 -0800 |
commit | f550ee9b85fd47f85e31965b908a7c1044c531aa (patch) | |
tree | af48433f8175cc792120556efe930cf291d99a49 /Makefile | |
parent | 419e9c38aa075ed0cd3c13d47e15954b686bcdb6 (diff) | |
download | talos-op-linux-f550ee9b85fd47f85e31965b908a7c1044c531aa.tar.gz talos-op-linux-f550ee9b85fd47f85e31965b908a7c1044c531aa.zip |
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 <jack@suse.cz>
Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Diffstat (limited to 'Makefile')
0 files changed, 0 insertions, 0 deletions