On Sat, Feb 6, 2021 at 1:09 AM Matteo Croce <mcroce@xxxxxxxxxxxxxxxxxxx> wrote: > > From: Matteo Croce <mcroce@xxxxxxxxxxxxx> > > With this series a monotonically increasing number is added to disks, > precisely in the genhd struct, and it's exported in sysfs and uevent. > > This helps the userspace correlate events for devices that reuse the > same device, like loop. > > The first patch is the core one, the 2..4 expose the information in > different ways, while the last one increase the sequence number for > loop devices at every attach. > > # udevadm monitor -kp |grep -e ^DEVNAME -e ^DISKSEQ & > [1] 523 > # losetup -fP 3part > [ 3698.615848] loop0: detected capacity change from 16384 to 0 > DEVNAME=/dev/loop0 > DISKSEQ=13 > [ 3698.647189] loop0: p1 p2 p3 > DEVNAME=/dev/loop0 > DISKSEQ=13 > DEVNAME=/dev/loop0p1 > DISKSEQ=13 > DEVNAME=/dev/loop0p2 > DISKSEQ=13 > DEVNAME=/dev/loop0p3 > DISKSEQ=13 > # losetup -fP 2part > [ 3705.170766] loop1: detected capacity change from 40960 to 0 > DEVNAME=/dev/loop1 > DISKSEQ=14 > [ 3705.247280] loop1: p1 p2 > DEVNAME=/dev/loop1 > DISKSEQ=14 > DEVNAME=/dev/loop1p1 > DISKSEQ=14 > DEVNAME=/dev/loop1p2 > DISKSEQ=14 > # ./getdiskseq /dev/loop* > /dev/loop0: 13 > /dev/loop0p1: 13 > /dev/loop0p2: 13 > /dev/loop0p3: 13 > /dev/loop1: 14 > /dev/loop1p1: 14 > /dev/loop1p2: 14 > /dev/loop2: 5 > /dev/loop3: 6 > /dev/loop-control: Function not implemented > # grep . /sys/class/block/*/diskseq > /sys/class/block/loop0/diskseq:13 > /sys/class/block/loop1/diskseq:14 > /sys/class/block/loop2/diskseq:5 > /sys/class/block/loop3/diskseq:6 > /sys/class/block/ram0/diskseq:1 > /sys/class/block/ram1/diskseq:2 > /sys/class/block/vda/diskseq:7 > > If merged, this feature will immediately used by the userspace: > https://github.com/systemd/systemd/issues/17469#issuecomment-762919781 > > Matteo Croce (5): > block: add disk sequence number > block: add ioctl to read the disk sequence number > block: refactor sysfs code > block: export diskseq in sysfs > loop: increment sequence number > > Documentation/ABI/testing/sysfs-block | 12 ++++++++ > block/genhd.c | 43 ++++++++++++++++++++++++--- > block/ioctl.c | 2 ++ > drivers/block/loop.c | 3 ++ > include/linux/genhd.h | 2 ++ > include/uapi/linux/fs.h | 1 + > 6 files changed, 59 insertions(+), 4 deletions(-) > > -- > 2.29.2 > Hi, Did anyone have a chance to look at this series? Ideas or suggestions? Regards, -- per aspera ad upstream