On 11/15/12 9:05 PM, Kay Sievers wrote:
You can use systemd to instantiate a service on device discovery (or run a daemon that listens to events from udev on old init systems). Check how bluetooth, cups printers, usbmux, ... is handled: TAG+="systemd", ENV{SYSTEMD_WANTS}="configure-printer@usb-$env{BUSNUM}-$env{DEVNUM}.service" TAG+="systemd", ENV{SYSTEMD_WANTS}+="bluetooth.target" TAG+="systemd", ENV{SYSTEMD_WANTS}="usbmuxd.service" Kay
Well,
Things pretend to be simple seems to be not simple
After few hours of fighting with issue I have to ask for help.

udev rule:
SUBSYSTEM=="block", KERNEL=="sd[c-z][0-9]", GOTO="begin"
GOTO="end"
LABEL="begin"
  ACTION=="add", GOTO="begin_add"
  ACTION=="remove", GOTO="begin_remove"
  GOTO="end"

LABEL="begin_add"
  SYMLINK+="usbhd-%k", GROUP="root"
  ENV{ID_FS_LABEL_ENC}="usbhd-%k"
  IMPORT{program}="/sbin/blkid -o udev -p $tempnode"
ENV{ID_FS_LABEL_ENC}==".myth.backup", ENV{MOUNT_DIR}="/media/$env{ID_FS_LABEL_ENC}", RUN+="/bin/mkdir -p $env{MOUNT_DIR}", RUN+="/bin/mount -t auto -o rw,noauto,noatime /dev/%k $env{MOUNT_DIR}" ENV{ID_FS_LABEL_ENC}==".myth.backup", TAG+="systemd", ENV{SYSTEMD_WANTS}="ext-usb-backup.service"
  GOTO="end"



service file:
[Unit]
Description=MythtTV ExtUSB Backup Helper

[Service]
ExecStart=/usr/local/bin/run-backup.sh
Type=forking
GuessMainPID=false
RemainAfterExit=no



Issue:
it works with:
ENV{ID_FS_LABEL_ENC}==".myth.backup", RUN+="/usr/bin/systemctl start ext-usb-backup.service"

but not works with:
ENV{ID_FS_LABEL_ENC}==".myth.backup", TAG+="systemd", ENV{SYSTEMD_WANTS}="ext-usb-backup.service"

(With TAG+ENV approach udev behaves like line with TAG+ENV is non-existing: no any error nor any sign it is parsed)

Where the hell issue is ?





log for ENV{ID_FS_LABEL_ENC}==".myth.backup", RUN+="/usr/bin/systemctl start ext-usb-backup.service"

Nov 16 16:00:31  LINK 'usbhd-sdc1' /etc/udev/rules.d/98-usbhd.rules:50
Nov 16 16:00:31 IMPORT '/sbin/blkid -o udev -p /dev/sdc1' /etc/udev/rules.d/98-usbhd.rules:52
Nov 16 16:00:31  starting '/sbin/blkid -o udev -p /dev/sdc1'
Nov 16 16:00:31 '/sbin/blkid -o udev -p /dev/sdc1'(out) 'ID_FS_LABEL=.myth.backup' Nov 16 16:00:31 '/sbin/blkid -o udev -p /dev/sdc1'(out) 'ID_FS_LABEL_ENC=.myth.backup' Nov 16 16:00:31 '/sbin/blkid -o udev -p /dev/sdc1'(out) 'ID_FS_UUID=fd3104ea-d5c0-4a8f-beba-8ab69115b192' Nov 16 16:00:31 '/sbin/blkid -o udev -p /dev/sdc1'(out) 'ID_FS_UUID_ENC=fd3104ea-d5c0-4a8f-beba-8ab69115b192' Nov 16 16:00:31 '/sbin/blkid -o udev -p /dev/sdc1'(out) 'ID_FS_SEC_TYPE=ext2' Nov 16 16:00:31 '/sbin/blkid -o udev -p /dev/sdc1'(out) 'ID_FS_VERSION=1.0'
Nov 16 16:00:31  '/sbin/blkid -o udev -p /dev/sdc1'(out) 'ID_FS_TYPE=ext3'
Nov 16 16:00:31 '/sbin/blkid -o udev -p /dev/sdc1'(out) 'ID_FS_USAGE=filesystem' Nov 16 16:00:31 '/sbin/blkid -o udev -p /dev/sdc1'(out) 'ID_PART_ENTRY_SCHEME=dos' Nov 16 16:00:31 '/sbin/blkid -o udev -p /dev/sdc1'(out) 'ID_PART_ENTRY_TYPE=0x83' Nov 16 16:00:31 '/sbin/blkid -o udev -p /dev/sdc1'(out) 'ID_PART_ENTRY_NUMBER=1'
Nov 16 16:00:31  starting '/bin/mkdir -p /media/.myth.backup'
Nov 16 16:00:31 '/bin/mkdir -p /media/.myth.backup' [16538] exit with return code 0 Nov 16 16:00:31 starting '/bin/mount -t auto -o rw,noauto,noatime /dev/sdc1 /media/.myth.backup' Nov 16 16:00:31 '/bin/mount -t auto -o rw,noauto,noatime /dev/sdc1 /media/.myth.backup' [16539] exit with return code 0
Nov 16 16:00:31  starting '/usr/bin/systemctl start ext-usb-backup.service'
Nov 16 16:00:31  Starting MythtTV ExtUSB Backup Helper...
Nov 16 16:00:34  validate module index
Nov 16 16:00:37  validate module index
Nov 16 16:00:40  validate module index
Nov 16 16:00:43  validate module index
Nov 16 16:00:46  validate module index
Nov 16 16:00:49  validate module index
Nov 16 16:00:52  validate module index
Nov 16 16:00:55  validate module index
Nov 16 16:00:58  validate module index
Nov 16 16:01:01 worker [16535] /devices/pci0000:00/0000:00:09.0/0000:04:00.0/usb3/3-1/3-1:1.0/host12/target12:0:0/12:0:0:0/block/sdc/sdc1 timeout; kill it Nov 16 16:01:01 seq 1826 '/devices/pci0000:00/0000:00:09.0/0000:04:00.0/usb3/3-1/3-1:1.0/host12/target12:0:0/12:0:0:0/block/sdc/sdc1' killed
Nov 16 16:01:01  seq 1826 done with -64
Nov 16 16:01:01  validate module index
Nov 16 16:01:01  worker [16535] exit
Nov 16 16:01:01  worker [16535] terminated by signal 9 (Killed)
Nov 16 16:01:01  worker [16535] cleaned up
Nov 16 16:01:18  Started MythtTV ExtUSB Backup Helper.



Log for ENV{ID_FS_LABEL_ENC}==".myth.backup", TAG+="systemd", ENV{SYSTEMD_WANTS}="ext-usb-backup.service"

Nov 16 15:57:34 IMPORT '/sbin/blkid -o udev -p /dev/sdc1' /etc/udev/rules.d/98-usbhd.rules:52
Nov 16 15:57:34  starting '/sbin/blkid -o udev -p /dev/sdc1'
Nov 16 15:57:34 '/sbin/blkid -o udev -p /dev/sdc1'(out) 'ID_FS_LABEL=.myth.backup' Nov 16 15:57:34 '/sbin/blkid -o udev -p /dev/sdc1'(out) 'ID_FS_LABEL_ENC=.myth.backup' Nov 16 15:57:34 '/sbin/blkid -o udev -p /dev/sdc1'(out) 'ID_FS_UUID=fd3104ea-d5c0-4a8f-beba-8ab69115b192' Nov 16 15:57:34 '/sbin/blkid -o udev -p /dev/sdc1'(out) 'ID_FS_UUID_ENC=fd3104ea-d5c0-4a8f-beba-8ab69115b192' Nov 16 15:57:34 '/sbin/blkid -o udev -p /dev/sdc1'(out) 'ID_FS_SEC_TYPE=ext2' Nov 16 15:57:34 '/sbin/blkid -o udev -p /dev/sdc1'(out) 'ID_FS_VERSION=1.0'
Nov 16 15:57:34  '/sbin/blkid -o udev -p /dev/sdc1'(out) 'ID_FS_TYPE=ext3'
Nov 16 15:57:34 '/sbin/blkid -o udev -p /dev/sdc1'(out) 'ID_FS_USAGE=filesystem' Nov 16 15:57:34 '/sbin/blkid -o udev -p /dev/sdc1'(out) 'ID_PART_ENTRY_SCHEME=dos' Nov 16 15:57:34 '/sbin/blkid -o udev -p /dev/sdc1'(out) 'ID_PART_ENTRY_TYPE=0x83' Nov 16 15:57:34 '/sbin/blkid -o udev -p /dev/sdc1'(out) 'ID_PART_ENTRY_NUMBER=1' Nov 16 15:57:34 '/sbin/blkid -o udev -p /dev/sdc1'(out) 'ID_PART_ENTRY_OFFSET=63' Nov 16 15:57:34 '/sbin/blkid -o udev -p /dev/sdc1'(out) 'ID_PART_ENTRY_SIZE=1953520002' Nov 16 15:57:34 '/sbin/blkid -o udev -p /dev/sdc1'(out) 'ID_PART_ENTRY_DISK=8:32' Nov 16 15:57:34 '/sbin/blkid -o udev -p /dev/sdc1' [16203] exit with return code 0
Nov 16 15:57:34  starting '/bin/mkdir -p /media/.myth.backup'
Nov 16 15:57:34 '/bin/mkdir -p /media/.myth.backup' [16204] exit with return code 0 Nov 16 15:57:34 starting '/bin/mount -t auto -o rw,noauto,noatime /dev/sdc1 /media/.myth.backup' Nov 16 15:57:34 '/bin/mount -t auto -o rw,noauto,noatime /dev/sdc1 /media/.myth.backup' [16205] exit with return code 0
Nov 16 15:57:34  adding watch on '/dev/sdc1'
Nov 16 15:57:34 created db file '/run/udev/data/b8:33' for '/devices/pci0000:00/0000:00:09.0/0000:04:00.0/usb3/3-1/3-1:1.0/host12/target12:0:0/12:0:0:0/block/sdc/sdc1'
Nov 16 15:57:34  passed -1 bytes to netlink monitor 0xd885b0
Nov 16 15:57:34  seq 1825 processed with 0
Nov 16 15:57:34  seq 1825 done with 0
Nov 16 15:57:37  cleanup idle workers
Nov 16 15:57:37  validate module index
Nov 16 15:57:37  unload module index
Nov 16 15:57:37  worker [16200] exit
Nov 16 15:57:37  worker [16200] cleaned up

<<attachment: warpme.vcf>>

_______________________________________________
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel

Reply via email to