mirror of
				git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
				synced 2025-10-31 16:54:21 +00:00 
			
		
		
		
	block: set BIO_NO_PAGE_REF in bio_iov_bvec_set
bio_iov_bvec_set assigns the foreign bvec, so setting the NO_PAGE_REF directly there seems like the best fit. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
		
							parent
							
								
									86004515ed
								
							
						
					
					
						commit
						ed97ce5e1d
					
				
					 1 changed files with 2 additions and 3 deletions
				
			
		|  | @ -941,6 +941,7 @@ static int bio_iov_bvec_set(struct bio *bio, struct iov_iter *iter) | |||
| 	bio->bi_io_vec = (struct bio_vec *)iter->bvec; | ||||
| 	bio->bi_iter.bi_bvec_done = iter->iov_offset; | ||||
| 	bio->bi_iter.bi_size = iter->count; | ||||
| 	bio_set_flag(bio, BIO_NO_PAGE_REF); | ||||
| 
 | ||||
| 	iov_iter_advance(iter, iter->count); | ||||
| 	return 0; | ||||
|  | @ -1078,9 +1079,7 @@ int bio_iov_iter_get_pages(struct bio *bio, struct iov_iter *iter) | |||
| 	if (iov_iter_is_bvec(iter)) { | ||||
| 		if (WARN_ON_ONCE(bio_op(bio) == REQ_OP_ZONE_APPEND)) | ||||
| 			return -EINVAL; | ||||
| 		bio_iov_bvec_set(bio, iter); | ||||
| 		bio_set_flag(bio, BIO_NO_PAGE_REF); | ||||
| 		return 0; | ||||
| 		return bio_iov_bvec_set(bio, iter); | ||||
| 	} | ||||
| 
 | ||||
| 	do { | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Christoph Hellwig
						Christoph Hellwig