• Dan Ehrenberg's avatar
    UBI: block: Dynamically allocate minor numbers · 2bf50d42
    Dan Ehrenberg authored
    This patch makes ubiblock devices have minor numbers beginning from
    0, allocated dynamically independently of the ubi device/volume
    number. This property becomes useful because, on 32-bit architectures
    with LFS turned off in a userspace program, device minor numbers
    over 8 bits cause stat to return -EOVERFLOW. If the device number is
    high (>1) due to multiple MTD partitions, such an overflow will occur.
    While enabling LFS is clearly a nicer solution, it's often difficult
    to turn on in practice globally as many widely distributed packages
    don't work with LFS on.
    
    Other storage systems have their own workarounds, with SCSI making
    multiple device majors and MMC having a config option for the number
    of partitions per device. A completely dynamic minor numbering is
    simpler than these. It is unlikely that anyone is depending on a
    static minor number since the major is dynamic anyway. In addition,
    ubiblock is still relatively new, so now is the time to make such
    changes.
    Signed-off-by: default avatarDan Ehrenberg <dehrenberg@chromium.org>
    Acked-by: default avatarEzequiel Garcia <ezequiel@vanguardiasur.com.ar>
    Signed-off-by: default avatarRichard Weinberger <richard@nod.at>
    2bf50d42
block.c 16.6 KB