• Paul Clements's avatar
    nbd: handle discard requests · a336d298
    Paul Clements authored
    Add discard support to nbd.  If the nbd-server supports discard, it will
    send NBD_FLAG_SEND_TRIM to the client.  The client will then set the flag
    in the kernel via NBD_SET_FLAGS, which tells the kernel to enable discards
    for the device (QUEUE_FLAG_DISCARD).
    
    If discard support is enabled, then when the nbd client system receives a
    discard request, this will be passed along to the nbd-server.  When the
    discard request is received by the nbd-server, it will perform:
    
    	fallocate(.. FALLOC_FL_PUNCH_HOLE ..)
    
    To punch a hole in the backend storage, which is no longer needed.
    Signed-off-by: default avatarPaul Clements <paul.clements@steeleye.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    a336d298
nbd.c 21.5 KB