On Mon, Mar 15, 2021 at 08:18:24PM +0000, Matthew Wilcox wrote: > On Mon, Mar 15, 2021 at 09:02:38PM +0100, Matteo Croce wrote: > > From: Matteo Croce <mcroce@xxxxxxxxxxxxx> > > > > Add a sequence number to the disk devices. This number is put in the > > uevent so userspace can correlate events when a driver reuses a device, > > like the loop one. > > Should this be documented as monotonically increasing? I think this > is actually a media identifier. Consider (if you will) a floppy disc. > Back when such things were common, it was possible with personal computers > of the era to have multiple floppy discs "in play" and be prompted to > insert them as needed. So shouldn't it be possible to support something > similar here -- you're really removing the media from the loop device. > With a monotonically increasing number, you're always destroying the > media when you remove it, but in principle, it should be possible to > reinsert the same media and have the same media identifier number. So ... a lot of devices have UUIDs or similar. eg: $ cat /sys/block/nvme0n1/uuid e8238fa6-bf53-0001-001b-448b49cec94f https://linux.die.net/man/8/scsi_id (for scsi) how about making this way more generic; create an xattr on a file to store the uuid (if one doesn't already exist) whenever it's used as the base for a loop device. then sysfs (or whatever) can report the contents of that xattr as the unique id. That can be mostly in userspace -- losetup can create it, and read it. It can be passed in as the first two current-reserved __u64 entries in loop_config. The only kernel change should be creating the sysfs entry /sys/block/loopN/uuid from those two array entries.