• Sebastian Parschauer's avatar
    md: Drop sending a change uevent when stopping · 399146b8
    Sebastian Parschauer authored
    When stopping an MD device, then its device node /dev/mdX may still
    exist afterwards or it is recreated by udev. The next open() call
    can lead to creation of an inoperable MD device. The reason for
    this is that a change event (KOBJ_CHANGE) is sent to udev which
    races against the remove event (KOBJ_REMOVE) from md_free().
    So drop sending the change event.
    
    A change is likely also required in mdadm as many versions send the
    change event to udev as well.
    
    Neil mentioned the change event is a workaround for old kernel
    Commit: 934d9c23 ("md: destroy partitions and notify udev when md array is stopped.")
    new mdadm can handle device remove now, so this isn't required any more.
    
    Cc: NeilBrown <neilb@suse.com>
    Cc: Hannes Reinecke <hare@suse.de>
    Cc: Jes Sorensen <Jes.Sorensen@redhat.com>
    Signed-off-by: default avatarSebastian Parschauer <sebastian.riemer@profitbricks.com>
    Signed-off-by: default avatarShaohua Li <shli@fb.com>
    399146b8
md.c 229 KB