• Andrew Morton's avatar
    [PATCH] fix removable partitioned media with devfs · 0490d8f2
    Andrew Morton authored
    From: Andrey Borzenkov <arvidjaar@mail.ru>
    
    Current 2.5 does not register any device node in devfs for empty media
    (capacity == 0) case.  This makes removables unusable with devfs.
    Partition rescan is done only on bdev open, but without any device node for
    device it is impossible to open it.
    
    In 2.4 it was finally solved by always registering .../disc node as
    representation for "whole" disk and using devfsd action to force partition
    rescan on access to (non-existing) partition name.  For primary names it
    was handled internally by devfs - it kept track of removable devices in
    directory and initiated partition rescan when name was not found.
    
    Both are obviously broken now.  You can't do partition rescan because no
    node is registered at all and internal handling was removed.  Very nice.
    
    The attached patch makes resgister_disk always register at least disc node.
     This now works for old and new compat names as per devfsd configuration;
    canonical names are still broken:
    
      {pts/3}% ll /dev/scsi/host1/bus0/target4/lun0/part4
      ls: /dev/scsi/host1/bus0/target4/lun0/part4: No such file or directory
    
    but it can be fixed using the same technique as above so I won't push it.
    0490d8f2
check.c 10.8 KB