• Pete Zaitcev's avatar
    [PATCH] ub: atomic add_disk · 688e9fb1
    Pete Zaitcev authored
    <zaitcev> I am taling about this: "if (disk->flags & GENHD_FL_UP) del_gendisk(disk);"
    <zaitcev> If del_gendisk() undoes add_disk() like viro just said, why is it conditional?
    <viro> huh?
    <viro> add_disk() sets the damn flag
    <zaitcev> So, I should not need to check ever
    <viro> so the above is "if I've called add_disk(), call gendisk()"
    <viro> which might be what you want, of course
    <viro> but usually you know if you'd done add_disk() on that puppy anyway
    
    In ub, nobody upstream should ever see half-constructed disks before
    they were passed to add_disk. To that end, only add the struct lun to
    the list on the path of no return. With that fix in place, we do
    not need to test GENHD_FL_UP.
    Signed-off-by: default avatarPete Zaitcev <zaitcev@redhat.com>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
    688e9fb1
ub.c 63 KB