Skip to main content
added 1 character in body
Source Link
yurenchen
  • 320
  • 2
  • 12

udevadm trigger

1. try it

sudo udevadm trigger --verbose --action=remove --property-match='DEVNAME=/dev/sdd' 

will trigger a /dev/sdd remove uevent, content as

remove@/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2:1.0/host13/target13:0:0/13:0:0:0/block/sdd ACTION=remove DEVPATH=/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2:1.0/host13/target13:0:0/13:0:0:0/block/sdd SUBSYSTEM=block MAJOR=8 MINOR=48 DEVNAME=sdd DEVTYPE=disk SEQNUM=12589 

2. strace it

see what he dose:

sudo strace udevadm trigger --verbose --action=remove --property-match='DEVNAME=/dev/sdd' ... fstat(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 37), ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fc0596a7000 write(1, "/sys/devices/pci0000:00/0000:00:"..., 101/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2:1.0/host13/target13:0:0/13:0:0:0/block/sdd ) = 101 open("/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2:1.0/host13/target13:0:0/13:0:0:0/block/sdd/uevent", O_WRONLY) = 3 write(3, "remove", 6) = 6 close(3) = 0 exit_group(0) = ? +++ exited with 0 +++ 

3. summarize

actually, it only does

echo 'remove' | sudo tee /sys/block/sdd/uevent 

this way still depend on sysfs:

  • device sysfs must exist
  • can't totalytotally custom uevent message body

the sysfs uevent file:

cat /sys/block/sdd/uevent MAJOR=8 MINOR=48 DEVNAME=sdd DEVTYPE=disk 

refs:
http://fibrevillage.com/sysadmin/93-udevadm-useage-examples http://arakilab.media.eng.hokudai.ac.jp/~msylw/2013/07/using-udev-to-trigger-events-in-example/

udevadm trigger

1. try it

sudo udevadm trigger --verbose --action=remove --property-match='DEVNAME=/dev/sdd' 

will trigger a /dev/sdd remove uevent, content as

remove@/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2:1.0/host13/target13:0:0/13:0:0:0/block/sdd ACTION=remove DEVPATH=/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2:1.0/host13/target13:0:0/13:0:0:0/block/sdd SUBSYSTEM=block MAJOR=8 MINOR=48 DEVNAME=sdd DEVTYPE=disk SEQNUM=12589 

2. strace it

see what he dose:

sudo strace udevadm trigger --verbose --action=remove --property-match='DEVNAME=/dev/sdd' ... fstat(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 37), ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fc0596a7000 write(1, "/sys/devices/pci0000:00/0000:00:"..., 101/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2:1.0/host13/target13:0:0/13:0:0:0/block/sdd ) = 101 open("/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2:1.0/host13/target13:0:0/13:0:0:0/block/sdd/uevent", O_WRONLY) = 3 write(3, "remove", 6) = 6 close(3) = 0 exit_group(0) = ? +++ exited with 0 +++ 

3. summarize

actually, it only does

echo 'remove' | sudo tee /sys/block/sdd/uevent 

this way still depend on sysfs:

  • device sysfs must exist
  • can't totaly custom uevent message body

the sysfs uevent file:

cat /sys/block/sdd/uevent MAJOR=8 MINOR=48 DEVNAME=sdd DEVTYPE=disk 

refs:
http://fibrevillage.com/sysadmin/93-udevadm-useage-examples http://arakilab.media.eng.hokudai.ac.jp/~msylw/2013/07/using-udev-to-trigger-events-in-example/

udevadm trigger

1. try it

sudo udevadm trigger --verbose --action=remove --property-match='DEVNAME=/dev/sdd' 

will trigger a /dev/sdd remove uevent, content as

remove@/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2:1.0/host13/target13:0:0/13:0:0:0/block/sdd ACTION=remove DEVPATH=/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2:1.0/host13/target13:0:0/13:0:0:0/block/sdd SUBSYSTEM=block MAJOR=8 MINOR=48 DEVNAME=sdd DEVTYPE=disk SEQNUM=12589 

2. strace it

see what he dose:

sudo strace udevadm trigger --verbose --action=remove --property-match='DEVNAME=/dev/sdd' ... fstat(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 37), ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fc0596a7000 write(1, "/sys/devices/pci0000:00/0000:00:"..., 101/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2:1.0/host13/target13:0:0/13:0:0:0/block/sdd ) = 101 open("/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2:1.0/host13/target13:0:0/13:0:0:0/block/sdd/uevent", O_WRONLY) = 3 write(3, "remove", 6) = 6 close(3) = 0 exit_group(0) = ? +++ exited with 0 +++ 

3. summarize

actually, it only does

echo 'remove' | sudo tee /sys/block/sdd/uevent 

this way still depend on sysfs:

  • device sysfs must exist
  • can't totally custom uevent message body

the sysfs uevent file:

cat /sys/block/sdd/uevent MAJOR=8 MINOR=48 DEVNAME=sdd DEVTYPE=disk 

refs:
http://fibrevillage.com/sysadmin/93-udevadm-useage-examples http://arakilab.media.eng.hokudai.ac.jp/~msylw/2013/07/using-udev-to-trigger-events-in-example/

added 169 characters in body
Source Link
yurenchen
  • 320
  • 2
  • 12

udevadm trigger

1. try it

sudo udevadm trigger --verbose --action=remove --property-match='DEVNAME=/dev/sdd' 

will trigger a /dev/sdd remove uevent, content as

remove@/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2:1.0/host13/target13:0:0/13:0:0:0/block/sdd ACTION=remove DEVPATH=/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2:1.0/host13/target13:0:0/13:0:0:0/block/sdd SUBSYSTEM=block MAJOR=8 MINOR=48 DEVNAME=sdd DEVTYPE=disk SEQNUM=12589 

2. strace it

see what he dose:

sudo strace udevadm trigger --verbose --action=remove --property-match='DEVNAME=/dev/sdd' ... fstat(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 37), ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fc0596a7000 write(1, "/sys/devices/pci0000:00/0000:00:"..., 101/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2:1.0/host13/target13:0:0/13:0:0:0/block/sdd ) = 101 open("/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2:1.0/host13/target13:0:0/13:0:0:0/block/sdd/uevent", O_WRONLY) = 3 write(3, "remove", 6) = 6 close(3) = 0 exit_group(0) = ? +++ exited with 0 +++ 

3. summarize

actually, it only does

echo 'remove' | sudo tee /sys/block/sdd/uevent 

this way still depend on sysfs:

  • device sysfs must exist
  • can't totaly custom uevent message body

the sysfs uevent file:

cat /sys/block/sdd/uevent MAJOR=8 MINOR=48 DEVNAME=sdd DEVTYPE=disk 

refs:
http://fibrevillage.com/sysadmin/93-udevadm-useage-examples http://arakilab.media.eng.hokudai.ac.jp/~msylw/2013/07/using-udev-to-trigger-events-in-example/

udevadm trigger

1. try it

sudo udevadm trigger --verbose --action=remove --property-match='DEVNAME=/dev/sdd' 

will trigger a /dev/sdd remove uevent, content as

remove@/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2:1.0/host13/target13:0:0/13:0:0:0/block/sdd ACTION=remove DEVPATH=/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2:1.0/host13/target13:0:0/13:0:0:0/block/sdd SUBSYSTEM=block MAJOR=8 MINOR=48 DEVNAME=sdd DEVTYPE=disk SEQNUM=12589 

2. strace it

see what he dose:

sudo strace udevadm trigger --verbose --action=remove --property-match='DEVNAME=/dev/sdd' ... fstat(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 37), ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fc0596a7000 write(1, "/sys/devices/pci0000:00/0000:00:"..., 101/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2:1.0/host13/target13:0:0/13:0:0:0/block/sdd ) = 101 open("/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2:1.0/host13/target13:0:0/13:0:0:0/block/sdd/uevent", O_WRONLY) = 3 write(3, "remove", 6) = 6 close(3) = 0 exit_group(0) = ? +++ exited with 0 +++ 

3. summarize

actually, it only does

echo 'remove' | sudo tee /sys/block/sdd/uevent 

this way still depend on sysfs:

  • device sysfs must exist
  • can't totaly custom uevent message body

the sysfs uevent file:

cat /sys/block/sdd/uevent MAJOR=8 MINOR=48 DEVNAME=sdd DEVTYPE=disk 

udevadm trigger

1. try it

sudo udevadm trigger --verbose --action=remove --property-match='DEVNAME=/dev/sdd' 

will trigger a /dev/sdd remove uevent, content as

remove@/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2:1.0/host13/target13:0:0/13:0:0:0/block/sdd ACTION=remove DEVPATH=/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2:1.0/host13/target13:0:0/13:0:0:0/block/sdd SUBSYSTEM=block MAJOR=8 MINOR=48 DEVNAME=sdd DEVTYPE=disk SEQNUM=12589 

2. strace it

see what he dose:

sudo strace udevadm trigger --verbose --action=remove --property-match='DEVNAME=/dev/sdd' ... fstat(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 37), ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fc0596a7000 write(1, "/sys/devices/pci0000:00/0000:00:"..., 101/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2:1.0/host13/target13:0:0/13:0:0:0/block/sdd ) = 101 open("/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2:1.0/host13/target13:0:0/13:0:0:0/block/sdd/uevent", O_WRONLY) = 3 write(3, "remove", 6) = 6 close(3) = 0 exit_group(0) = ? +++ exited with 0 +++ 

3. summarize

actually, it only does

echo 'remove' | sudo tee /sys/block/sdd/uevent 

this way still depend on sysfs:

  • device sysfs must exist
  • can't totaly custom uevent message body

the sysfs uevent file:

cat /sys/block/sdd/uevent MAJOR=8 MINOR=48 DEVNAME=sdd DEVTYPE=disk 

refs:
http://fibrevillage.com/sysadmin/93-udevadm-useage-examples http://arakilab.media.eng.hokudai.ac.jp/~msylw/2013/07/using-udev-to-trigger-events-in-example/

Source Link
yurenchen
  • 320
  • 2
  • 12

udevadm trigger

1. try it

sudo udevadm trigger --verbose --action=remove --property-match='DEVNAME=/dev/sdd' 

will trigger a /dev/sdd remove uevent, content as

remove@/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2:1.0/host13/target13:0:0/13:0:0:0/block/sdd ACTION=remove DEVPATH=/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2:1.0/host13/target13:0:0/13:0:0:0/block/sdd SUBSYSTEM=block MAJOR=8 MINOR=48 DEVNAME=sdd DEVTYPE=disk SEQNUM=12589 

2. strace it

see what he dose:

sudo strace udevadm trigger --verbose --action=remove --property-match='DEVNAME=/dev/sdd' ... fstat(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 37), ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fc0596a7000 write(1, "/sys/devices/pci0000:00/0000:00:"..., 101/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2:1.0/host13/target13:0:0/13:0:0:0/block/sdd ) = 101 open("/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2:1.0/host13/target13:0:0/13:0:0:0/block/sdd/uevent", O_WRONLY) = 3 write(3, "remove", 6) = 6 close(3) = 0 exit_group(0) = ? +++ exited with 0 +++ 

3. summarize

actually, it only does

echo 'remove' | sudo tee /sys/block/sdd/uevent 

this way still depend on sysfs:

  • device sysfs must exist
  • can't totaly custom uevent message body

the sysfs uevent file:

cat /sys/block/sdd/uevent MAJOR=8 MINOR=48 DEVNAME=sdd DEVTYPE=disk