rw.c (cecdd52a3dd312564f81a39df08378b7b39a2654) | rw.c (de4f5fed3f231a8ff4790bf52975f847b95b85ea) |
---|---|
1// SPDX-License-Identifier: GPL-2.0 2#include <linux/kernel.h> 3#include <linux/errno.h> 4#include <linux/fs.h> 5#include <linux/file.h> 6#include <linux/blk-mq.h> 7#include <linux/mm.h> 8#include <linux/slab.h> --- 489 unchanged lines hidden (view full) --- 498 io->free_iovec = iovec; 499 io->bytes_done = 0; 500 /* can only be fixed buffers, no need to do anything */ 501 if (iov_iter_is_bvec(iter) || iter_is_ubuf(iter)) 502 return; 503 if (!iovec) { 504 unsigned iov_off = 0; 505 | 1// SPDX-License-Identifier: GPL-2.0 2#include <linux/kernel.h> 3#include <linux/errno.h> 4#include <linux/fs.h> 5#include <linux/file.h> 6#include <linux/blk-mq.h> 7#include <linux/mm.h> 8#include <linux/slab.h> --- 489 unchanged lines hidden (view full) --- 498 io->free_iovec = iovec; 499 io->bytes_done = 0; 500 /* can only be fixed buffers, no need to do anything */ 501 if (iov_iter_is_bvec(iter) || iter_is_ubuf(iter)) 502 return; 503 if (!iovec) { 504 unsigned iov_off = 0; 505 |
506 io->s.iter.iov = io->s.fast_iov; 507 if (iter->iov != fast_iov) { 508 iov_off = iter->iov - fast_iov; 509 io->s.iter.iov += iov_off; | 506 io->s.iter.__iov = io->s.fast_iov; 507 if (iter->__iov != fast_iov) { 508 iov_off = iter_iov(iter) - fast_iov; 509 io->s.iter.__iov += iov_off; |
510 } 511 if (io->s.fast_iov != fast_iov) 512 memcpy(io->s.fast_iov + iov_off, fast_iov + iov_off, 513 sizeof(struct iovec) * iter->nr_segs); 514 } else { 515 req->flags |= REQ_F_NEED_CLEANUP; 516 } 517} --- 567 unchanged lines hidden --- | 510 } 511 if (io->s.fast_iov != fast_iov) 512 memcpy(io->s.fast_iov + iov_off, fast_iov + iov_off, 513 sizeof(struct iovec) * iter->nr_segs); 514 } else { 515 req->flags |= REQ_F_NEED_CLEANUP; 516 } 517} --- 567 unchanged lines hidden --- |