nbd: support NBD_SET_FLAGS ioctl
The nbd kernel module cannot enable DISCARD requests unless it is informed about it. The flags field in the header is used for this, and this patch adds support for it. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
		
							parent
							
								
									bbb74edd40
								
							
						
					
					
						commit
						973b3d0a7b
					
				
							
								
								
									
										8
									
								
								nbd.c
								
								
								
								
							
							
						
						
									
										8
									
								
								nbd.c
								
								
								
								
							| 
						 | 
				
			
			@ -378,6 +378,14 @@ int nbd_init(int fd, int csock, uint32_t flags, off_t size, size_t blocksize)
 | 
			
		|||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (ioctl(fd, NBD_SET_FLAGS, flags) < 0
 | 
			
		||||
        && errno != ENOTTY) {
 | 
			
		||||
        int serrno = errno;
 | 
			
		||||
        LOG("Failed setting flags");
 | 
			
		||||
        errno = serrno;
 | 
			
		||||
        return -1;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    TRACE("Clearing NBD socket");
 | 
			
		||||
 | 
			
		||||
    if (ioctl(fd, NBD_CLEAR_SOCK) == -1) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue