Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

block: export the diskseq in uevents

Export the newly introduced diskseq in uevents:

$ udevadm info /sys/class/block/* |grep -e DEVNAME -e DISKSEQ
E: DEVNAME=/dev/loop0
E: DISKSEQ=1
E: DEVNAME=/dev/loop1
E: DISKSEQ=2
E: DEVNAME=/dev/loop2
E: DISKSEQ=3
E: DEVNAME=/dev/loop3
E: DISKSEQ=4
E: DEVNAME=/dev/loop4
E: DISKSEQ=5
E: DEVNAME=/dev/loop5
E: DISKSEQ=6
E: DEVNAME=/dev/loop6
E: DISKSEQ=7
E: DEVNAME=/dev/loop7
E: DISKSEQ=8
E: DEVNAME=/dev/nvme0n1
E: DISKSEQ=9
E: DEVNAME=/dev/nvme0n1p1
E: DISKSEQ=9
E: DEVNAME=/dev/nvme0n1p2
E: DISKSEQ=9
E: DEVNAME=/dev/nvme0n1p3
E: DISKSEQ=9
E: DEVNAME=/dev/nvme0n1p4
E: DISKSEQ=9
E: DEVNAME=/dev/nvme0n1p5
E: DISKSEQ=9
E: DEVNAME=/dev/sda
E: DISKSEQ=10
E: DEVNAME=/dev/sda1
E: DISKSEQ=10
E: DEVNAME=/dev/sda2
E: DISKSEQ=10

Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Matteo Croce <mcroce@microsoft.com>
Tested-by: Luca Boccassi <bluca@debian.org>
Link: https://lore.kernel.org/r/20210712230530.29323-3-mcroce@linux.microsoft.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>

authored by

Matteo Croce and committed by
Jens Axboe
87eb7107 cf179948

+9
+9
block/genhd.c
··· 1092 1092 blk_put_queue(disk->queue); 1093 1093 iput(disk->part0->bd_inode); /* frees the disk */ 1094 1094 } 1095 + 1096 + static int block_uevent(struct device *dev, struct kobj_uevent_env *env) 1097 + { 1098 + struct gendisk *disk = dev_to_disk(dev); 1099 + 1100 + return add_uevent_var(env, "DISKSEQ=%llu", disk->diskseq); 1101 + } 1102 + 1095 1103 struct class block_class = { 1096 1104 .name = "block", 1105 + .dev_uevent = block_uevent, 1097 1106 }; 1098 1107 1099 1108 static char *block_devnode(struct device *dev, umode_t *mode,