summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
f392e16)
When executing `partprobe /dev/sda`, then partitions are
changed, removed and added again, while DISK_RO=0 is set
on the main block device (/dev/sda):
| % sudo udevadm monitor --property > udev-info
| % grep -e KERNEL -e DISK_RO udev-info
| KERNEL - the kernel uevent
| KERNEL[7033.955480] change /devices/pci0000:00/0000:00:0d.0/ata3/host4/target4:0:0/4:0:0:0/block/sda/sda1 (block)
| KERNEL[7033.958758] change /devices/pci0000:00/0000:00:0d.0/ata3/host4/target4:0:0/4:0:0:0/block/sda/sda2 (block)
| KERNEL[7033.963743] change /devices/pci0000:00/0000:00:0d.0/ata3/host4/target4:0:0/4:0:0:0/block/sda/sda3 (block)
| KERNEL[7033.971321] change /devices/pci0000:00/0000:00:0d.0/ata3/host4/target4:0:0/4:0:0:0/block/sda (block)
| KERNEL[7033.971569] change /devices/pci0000:00/0000:00:0d.0/ata3/host4/target4:0:0/4:0:0:0/block/sda/sda1 (block)
| KERNEL[7033.971745] change /devices/pci0000:00/0000:00:0d.0/ata3/host4/target4:0:0/4:0:0:0/block/sda/sda2 (block)
| KERNEL[7033.971918] change /devices/pci0000:00/0000:00:0d.0/ata3/host4/target4:0:0/4:0:0:0/block/sda/sda3 (block)
| KERNEL[7034.002552] change /devices/pci0000:00/0000:00:0d.0/ata3/host4/target4:0:0/4:0:0:0/block/sda (block)
| KERNEL[7034.004249] change /devices/pci0000:00/0000:00:0d.0/ata3/host4/target4:0:0/4:0:0:0/block/sda/sda1 (block)
| KERNEL[7034.004446] change /devices/pci0000:00/0000:00:0d.0/ata3/host4/target4:0:0/4:0:0:0/block/sda/sda2 (block)
| KERNEL[7034.004631] change /devices/pci0000:00/0000:00:0d.0/ata3/host4/target4:0:0/4:0:0:0/block/sda/sda3 (block)
| KERNEL[7034.034068] change /devices/pci0000:00/0000:00:0d.0/ata3/host4/target4:0:0/4:0:0:0/block/sda (block)
| KERNEL[7034.034228] change /devices/pci0000:00/0000:00:0d.0/ata3/host4/target4:0:0/4:0:0:0/block/sda/sda1 (block)
| KERNEL[7034.034378] change /devices/pci0000:00/0000:00:0d.0/ata3/host4/target4:0:0/4:0:0:0/block/sda/sda2 (block)
| KERNEL[7034.034516] change /devices/pci0000:00/0000:00:0d.0/ata3/host4/target4:0:0/4:0:0:0/block/sda/sda3 (block)
| KERNEL[7034.828780] remove /devices/pci0000:00/0000:00:0d.0/ata3/host4/target4:0:0/4:0:0:0/block/sda/sda1 (block)
| KERNEL[7034.829322] remove /devices/pci0000:00/0000:00:0d.0/ata3/host4/target4:0:0/4:0:0:0/block/sda/sda2 (block)
| KERNEL[7034.829622] remove /devices/pci0000:00/0000:00:0d.0/ata3/host4/target4:0:0/4:0:0:0/block/sda/sda3 (block)
| KERNEL[7034.829941] change /devices/pci0000:00/0000:00:0d.0/ata3/host4/target4:0:0/4:0:0:0/block/sda (block)
| DISK_RO=0
| KERNEL[7034.830451] change /devices/pci0000:00/0000:00:0d.0/ata3/host4/target4:0:0/4:0:0:0/block/sda (block)
| KERNEL[7034.830902] add /devices/pci0000:00/0000:00:0d.0/ata3/host4/target4:0:0/4:0:0:0/block/sda/sda1 (block)
| KERNEL[7034.831219] add /devices/pci0000:00/0000:00:0d.0/ata3/host4/target4:0:0/4:0:0:0/block/sda/sda2 (block)
| KERNEL[7034.839261] add /devices/pci0000:00/0000:00:0d.0/ata3/host4/target4:0:0/4:0:0:0/block/sda/sda3 (block)
| DISK_RO=0
Explicitly pass block device name to the script, which should
make usage of script as standalone tool better.
@See grml-forensic/release-planning issue #155
This work was funded by Grml-Forensic.
# mark new block devices as readonly when booting with bootoption forensic/readonly
# mark new block devices as readonly when booting with bootoption forensic/readonly
-ACTION=="add", SUBSYSTEM=="block", RUN+="/etc/udev/scripts/forensic-mark-readonly"
+ACTION=="add", SUBSYSTEM=="block", RUN+="/etc/udev/scripts/forensic-mark-readonly $name"
+# take care of devices when e.g. partition tables get re-read (see block/genhd.c + set_disk_ro() in linux source)
+ACTION=="change", SUBSYSTEM=="block", ENV{DISK_RO}=="0", RUN+="/etc/udev/scripts/forensic-mark-readonly $name"