mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 10:40:15 +02:00 
			
		
		
		
	scsi: sd: Contribute to randomness when running rotational device
Currently a scsi device won't contribute to kernel randomness when it uses
blk-mq. Since we commonly use scsi on rotational device with blk-mq, it make
sense to keep contributing to kernel randomness in these cases. This is
especially important for virtual machines.
commit b5b6e8c8d3 ("scsi: virtio_scsi: fix IO hang caused by automatic irq
vector affinity") made all virtio-scsi device to use blk-mq, which does not
contribute to randomness today. So for a virtual machine only having
virtio-scsi disk (which is common), it will simple stop getting randomness
from its disks in today's implementation.
With this patch, if the above VM has rotational virtio-scsi device, then it
can still benefit from the entropy generated from the disk.
Reported-by: Xuewei Zhang <xueweiz@google.com>
Signed-off-by: Xuewei Zhang <xueweiz@google.com>
Reviewed-by: Ming Lei <ming.lei@redhat.com>
Reviewed-by: Maciej Żenczykowski <maze@google.com>
Reviewed-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
			
			
This commit is contained in:
		
							parent
							
								
									adad633af7
								
							
						
					
					
						commit
						83e32a5910
					
				
					 1 changed files with 3 additions and 0 deletions
				
			
		| 
						 | 
				
			
			@ -2959,6 +2959,9 @@ static void sd_read_block_characteristics(struct scsi_disk *sdkp)
 | 
			
		|||
	if (rot == 1) {
 | 
			
		||||
		blk_queue_flag_set(QUEUE_FLAG_NONROT, q);
 | 
			
		||||
		blk_queue_flag_clear(QUEUE_FLAG_ADD_RANDOM, q);
 | 
			
		||||
	} else {
 | 
			
		||||
		blk_queue_flag_clear(QUEUE_FLAG_NONROT, q);
 | 
			
		||||
		blk_queue_flag_set(QUEUE_FLAG_ADD_RANDOM, q);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if (sdkp->device->type == TYPE_ZBC) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue