Return if the function ended up sending an uevent or not. Signed-off-by: Christoph Hellwig <hch@xxxxxx> --- block/genhd.c | 7 +++++-- include/linux/genhd.h | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/block/genhd.c b/block/genhd.c index d8d9d6c1c916e1..8c350fecfe8bfe 100644 --- a/block/genhd.c +++ b/block/genhd.c @@ -47,9 +47,9 @@ static void disk_release_events(struct gendisk *disk); /* * Set disk capacity and notify if the size is not currently zero and will not - * be set to zero. + * be set to zero. Returns true if a uevent was sent, otherwise false. */ -void set_capacity_and_notify(struct gendisk *disk, sector_t size) +bool set_capacity_and_notify(struct gendisk *disk, sector_t size) { sector_t capacity = get_capacity(disk); @@ -60,7 +60,10 @@ void set_capacity_and_notify(struct gendisk *disk, sector_t size) char *envp[] = { "RESIZE=1", NULL }; kobject_uevent_env(&disk_to_dev(disk)->kobj, KOBJ_CHANGE, envp); + return true; } + + return false; } EXPORT_SYMBOL_GPL(set_capacity_and_notify); diff --git a/include/linux/genhd.h b/include/linux/genhd.h index 596f31b5a3e133..4b22bfd9336e1a 100644 --- a/include/linux/genhd.h +++ b/include/linux/genhd.h @@ -315,7 +315,7 @@ static inline int get_disk_ro(struct gendisk *disk) extern void disk_block_events(struct gendisk *disk); extern void disk_unblock_events(struct gendisk *disk); extern void disk_flush_events(struct gendisk *disk, unsigned int mask); -void set_capacity_and_notify(struct gendisk *disk, sector_t size); +bool set_capacity_and_notify(struct gendisk *disk, sector_t size); /* drivers/char/random.c */ extern void add_disk_randomness(struct gendisk *disk) __latent_entropy; -- 2.28.0