Messages in this thread | | | Date | Sun, 19 Jul 2009 17:22:37 +0100 | Subject | Re: disk Partition label changes and reflecting them in /dev/disks-by-label/ | From | Alan Jenkins <> |
| |
On 7/19/09, Linda Walsh <lkml@tlinx.org> wrote: > > > If I have a disk with no mounted partitions and I change the partition > order, > the OS will re-read the new partition and life goes on. > > However, if I create or change a new disk label, it seems label programs > (and users) should have an option to reread the labels after the > modification. > > Ideally any prog that changes a Label or UUID would trigger an update > of what's in /dev/disks to reflect the new 'reality'. > > Currently, I go through through a seemingly bizarre ritual of invoking > unmounting all other partitions on the same disk, then becoming root, > running fdisk on the disk, then just exiting with "w". This triggers > a reread of not only the partition table, but also the new labels. > > However, I find this far less than ideal. Is there a better way, or could > there be a better way to update new Labels and UUID's that are actually > on a disk -- perhaps even as an ordinary user command (since it would be > a read-only operation on the disk that simply updates /dev/disk to reflect > what's really there -- Especially being able to change only the label (or > UUID), only on one partition w/o having to actually unmount other file > systems > on the disk....? > > Already implemented? Or doable? Or bad idea? > > Thanks, > -linda
Already implemented :-).
The latest version of udev listens for inotify events on block devices. When a utility writes to the block device (or rather, when it closes it after opening it for writing), Udev will synthesize a "change" event. The standard udev rules will re-check the device, and update the links under /dev/disk to reflect changes in labels etc.
Alan
| |