ses: generate KOBJ_CHANGE on enclosure attach
authorDan Williams <dan.j.williams@intel.com>
Tue, 30 Dec 2014 22:46:15 +0000 (14:46 -0800)
committerChristoph Hellwig <hch@lst.de>
Fri, 9 Jan 2015 14:44:18 +0000 (15:44 +0100)
In support of a /dev/disk/by-slot populated with data from the enclosure
and ses modules udev needs notification when the new interface
files/links are available.  Otherwise, any udev rules specified for the
disk cannot assume that the enclosure topology has settled.

Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Song Liu <songliubraving@fb.com>
Reviewed-by: Jens Axboe <axboe@fb.com>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: Christoph Hellwig <hch@lst.de>
drivers/scsi/ses.c

index 7dd9cf5583802aeb0e1073ba4eca13d1f4124688..6662b0ca6cfd698fdb2a6af60fd8e0914d67130d 100644 (file)
@@ -349,7 +349,8 @@ static int ses_enclosure_find_by_addr(struct enclosure_device *edev,
                if (scomp->addr != efd->addr)
                        continue;
 
-               enclosure_add_device(edev, i, efd->dev);
+               if (enclosure_add_device(edev, i, efd->dev) == 0)
+                       kobject_uevent(&efd->dev->kobj, KOBJ_CHANGE);
                return 1;
        }
        return 0;