• Ken Chen's avatar
    remove artificial software max_loop limit · 73285082
    Ken Chen authored
    Remove artificial maximum 256 loop device that can be created due to a
    legacy device number limit.  Searching through lkml archive, there are
    several instances where users complained about the artificial limit that
    the loop driver impose.  There is no reason to have such limit.
    
    This patch rid the limit entirely and make loop device and associated block
    queue instantiation on demand.  With on-demand instantiation, it also gives
    the benefit of not wasting memory if these devices are not in use (compare
    to current implementation that always create 8 loop devices), a net
    improvement in both areas.  This version is both tested with creation of
    large number of loop devices and is compatible with existing losetup/mount
    user land tools.
    
    There are a number of people who worked on this and provided valuable
    suggestions, in no particular order, by:
    
    Jens Axboe
    Jan Engelhardt
    Christoph Hellwig
    Thomas M
    Signed-off-by: default avatarKen Chen <kenchen@google.com>
    Cc: Jan Engelhardt <jengelh@linux01.gwdg.de>
    Cc: Christoph Hellwig <hch@lst.de>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    73285082
loop.c 37.8 KB