• Jan Kara's avatar
    loop: Move special partition reread handling in loop_clr_fd() · d57f3374
    Jan Kara authored
    The call of __blkdev_reread_part() from loop_reread_partition() happens
    only when we need to invalidate partitions from loop_release(). Thus
    move a detection for this into loop_clr_fd() and simplify
    loop_reread_partition().
    
    This makes loop_reread_partition() safe to use without loop_ctl_mutex
    because we use only lo->lo_number and lo->lo_file_name in case of error
    for reporting purposes (thus possibly reporting outdate information is
    not a big deal) and we are safe from 'lo' going away under us by
    elevated lo->lo_refcnt.
    Signed-off-by: default avatarJan Kara <jack@suse.cz>
    Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
    d57f3374
loop.c 53.6 KB