From: Michael Jeanson Date: Thu, 2 Jul 2020 16:06:42 +0000 (-0400) Subject: Use exported symbol bdevname() instead of disk_name() X-Git-Tag: v2.11.5~13 X-Git-Url: https://git.lttng.org./?a=commitdiff_plain;h=bf5a011d7256c26f8731be6b9983462f02b7c0cb;p=lttng-modules.git Use exported symbol bdevname() instead of disk_name() bdevname() is a simple wrapper over disk_name() but has the honor to be exported. Using it removes the need for a kallsym wrapper. Signed-off-by: Michael Jeanson Signed-off-by: Mathieu Desnoyers Change-Id: Ic2b2233c4db7826175c68edea69751ddcb17a5e6 --- diff --git a/lttng-statedump-impl.c b/lttng-statedump-impl.c index 5225186b..54a309d1 100644 --- a/lttng-statedump-impl.c +++ b/lttng-statedump-impl.c @@ -138,10 +138,19 @@ int lttng_enumerate_block_devices(struct lttng_session *session) disk_part_iter_init(&piter, disk, DISK_PITER_INCL_PART0); while ((part = disk_part_iter_next(&piter))) { + struct block_device bdev; char name_buf[BDEVNAME_SIZE]; - char *p; + const char *p; - p = wrapper_disk_name(disk, part->partno, name_buf); + /* + * Create a partial 'struct blockdevice' to use + * 'bdevname()' which is a simple wrapper over + * 'disk_name()' but has the honor to be EXPORT_SYMBOL. + */ + bdev.bd_disk = disk; + bdev.bd_part = part; + + p = bdevname(&bdev, name_buf); if (!p) { disk_part_iter_exit(&piter); class_dev_iter_exit(&iter); diff --git a/wrapper/genhd.h b/wrapper/genhd.h index a44198a7..4eac2c1a 100644 --- a/wrapper/genhd.h +++ b/wrapper/genhd.h @@ -14,37 +14,11 @@ #include -#ifdef CONFIG_KALLSYMS +#ifdef CONFIG_KALLSYMS_ALL #include #include -static inline -char *wrapper_disk_name(struct gendisk *hd, int partno, char *buf) -{ - char *(*disk_name_sym)(struct gendisk *hd, int partno, char *buf); - - disk_name_sym = (void *) kallsyms_lookup_funcptr("disk_name"); - if (disk_name_sym) { - return disk_name_sym(hd, partno, buf); - } else { - printk_once(KERN_WARNING "LTTng: disk_name symbol lookup failed.\n"); - return NULL; - } -} - -#else - -static inline -char *wrapper_disk_name(struct gendisk *hd, int partno, char *buf) -{ - return disk_name(hd, partno, buf); -} - -#endif - -#ifdef CONFIG_KALLSYMS_ALL - static inline struct class *wrapper_get_block_class(void) {