• Luis Chamberlain's avatar
    block: update __register_blkdev() probe documentation · 26e06f5b
    Luis Chamberlain authored
    
    
    __register_blkdev() is used to register a probe callback, and
    that callback is typically used to call add_disk(). Now that
    we are able to capture errors for add_disk(), we need to fix
    those probe calls where add_disk() fails and clean up resources.
    
    We don't extend the probe call to return the error given:
    
    1) we'd have to always special-case the case where the disk
       was already present, as otherwise concurrent requests to
       open an existing block device would fail, and this would be
       a userspace visible change
    2) the error from ilookup() on blkdev_get_no_open() is sufficient
    3) The only thing the probe call is used for is to support
       pre-devtmpfs, pre-udev semantics that want to create disks when
       their pre-created device node is accessed, and so we don't care
       for failures on probe there.
    
    Expand documentation for the probe callback to ensure users cleanup
    resources if add_disk() is used and to clarify this interface may be
    removed in the future.
    Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
    Signed-off-by: default avatarLuis Chamberlain <mcgrof@kernel.org>
    Link: https://lore.kernel.org/r/20211103230437.1639990-12-mcgrof@kernel.org
    
    Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
    26e06f5b
genhd.c 35.4 KB