[systemd-devel] systemd 208->229 update. Problems with udev rules mounting disks
Hi * I updated my system and one aspect of update was systemd update from 208 to 229. After this update my custom udev rules dealing with USB as stopped working. After investigation the problem look following to me: 1.insert USB HDD 2.udev rule starts, creates mount dir, mounts USB dev. All seems to be OK (df -h within udev rule shows mount is OK). 3.when udev rule ends, mount point dissapearing (df -h shows no mount) It looks like triggered by udev mount lives only during udev rule life. I'm stuck and don't have idea why this so maybe somebody will help me to understand whats going on here Details: my udev rule: SUBSYSTEM=="block", KERNEL=="sd[a-z][0-9]", ACTION=="add", GOTO="begin_add" SUBSYSTEM=="block", KERNEL=="sd[a-z][0-9]", 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", GOTO="backup_begin" GOTO="end" LABEL="backup_begin" ENV{MOUNT_DIR}="/media/$env{ID_FS_LABEL_ENC}" RUN+="/usr/bin/mkdir -p $env{MOUNT_DIR}" RUN+="/usr/bin/mount -t auto -o rw,noauto,noatime /dev/%k $env{MOUNT_DIR}" RUN+="/usr/bin/df -h" GOTO="end" LABEL="begin_remove" ENV{ID_FS_LABEL_ENC}==".myth.backup", GOTO="backup_unmount" GOTO="end" LABEL="backup_unmount" RUN+="/usr/bin/umount -l $env{MOUNT_DIR}" RUN+="/usr/bin/rmdir $env{MOUNT_DIR}" LABEL="end" RUN+="/usr/bin/df -h" What journalctl says after USB insertion: Feb 25 11:22:04 mythtv systemd-udevd[291]: seq 2677 forked new worker [6005] Feb 25 11:22:04 mythtv systemd-udevd[6005]: seq 2677 running Feb 25 11:22:04 mythtv systemd-udevd[6005]: GROUP 6 /usr/lib/udev/rules.d/50-udev-default.rules:55 Feb 25 11:22:04 mythtv systemd-udevd[6005]: LINK 'disk/by-id/usb-HDD_USB_Mass_Storage_0001-0:0-part1' /usr/lib/udev/rules.d/60-persistent-storage.rules:37 Feb 25 11:22:04 mythtv systemd-udevd[6005]: LINK 'disk/by-path/pci-:06:00.0-usb-0:2:1.0-scsi-0:0:0:0-part1' /usr/lib/udev/rules.d/60-persistent-storage.rules:56 Feb 25 11:22:04 mythtv systemd-udevd[6005]: IMPORT builtin 'blkid' /usr/lib/udev/rules.d/60-persistent-storage.rules:66 Feb 25 11:22:04 mythtv systemd-udevd[6005]: probe /dev/sde1 raid offset=0 Feb 25 11:22:04 mythtv systemd-udevd[6005]: LINK 'disk/by-uuid/fd3104ea-d5c0-4a8f-beba-8ab69115b192' /usr/lib/udev/rules.d/60-persistent-storage.rules:69 Feb 25 11:22:04 mythtv systemd-udevd[6005]: LINK 'disk/by-label/.myth.backup' /usr/lib/udev/rules.d/60-persistent-storage.rules:70 Feb 25 11:22:04 mythtv systemd-udevd[6005]: IMPORT 'udisks-part-id /dev/sde1' /usr/lib/udev/rules.d/80-udisks.rules:84 Feb 25 11:22:04 mythtv systemd-udevd[6008]: starting 'udisks-part-id /dev/sde1' Feb 25 11:22:04 mythtv systemd-udevd[6005]: 'udisks-part-id /dev/sde1'(err) 'using device_file=/dev/sde syspath=/sys/devices/pci:00/:00:1c.3/:06:00.0/usb3/3-2/3-2:1.0/host7/target7:0:0/7:0:0:0/block/sde, offset=32256 ao=0 and number=1 for /dev/sde1' Feb 25 11:22:04 mythtv systemd-udevd[6005]: 'udisks-part-id /dev/sde1'(err) 'Entering MS-DOS parser (offset=0, size=1000203804160)' Feb 25 11:22:04 mythtv systemd-udevd[6005]: 'udisks-part-id /dev/sde1'(err) 'MSDOS_MAGIC found' Feb 25 11:22:04 mythtv systemd-udevd[6005]: 'udisks-part-id /dev/sde1'(err) 'looking at part 0 (offset 32256, size 1000202241024, type 0x83)' Feb 25 11:22:04 mythtv systemd-udevd[6005]: 'udisks-part-id /dev/sde1'(err) 'new part entry' Feb 25 11:22:04 mythtv systemd-udevd[6005]: 'udisks-part-id /dev/sde1'(err) 'looking at part 1 (offset 0, size 0, type 0x00)' Feb 25 11:22:04 mythtv systemd-udevd[6005]: 'udisks-part-id /dev/sde1'(err) 'new part entry' Feb 25 11:22:04 mythtv systemd-udevd[6005]: 'udisks-part-id /dev/sde1'(err) 'looking at part 2 (offset 0, size 0, type 0x00)' Feb 25 11:22:04 mythtv systemd-udevd[6005]: 'udisks-part-id /dev/sde1'(err) 'new part entry' Feb 25 11:22:04 mythtv systemd-udevd[6005]: 'udisks-part-id /dev/sde1'(err) 'looking at part 3 (offset 0, size 0, type 0x00)' Feb 25 11:22:04 mythtv systemd-udevd[6005]: 'udisks-part-id /dev/sde1'(err) 'new part entry' Feb 25 11:22:04 mythtv systemd-udevd[6005]: 'udisks-part-id /dev/sde1'(err)
[systemd-devel] After update from 208->229 can't get calendar timers to work :-\
HI I updated systemd from 208 to 229 and since then I can’t get working my calendar timers. I spent hours trying to understand why it is not working…. Running „systemctl list-timers” for not working calendar timer shows: ——— NEXT LEFTLAST PASSEDUNITACTIVATES ….. Wed 2016-03-02 02:25:00 CET 5h 15min left n/a n/a mythtv-epg-grab-and-load.timer mythtv-epg-grab-and-load.service ….. ——— NEXT and LEFT times are shown correctly - so it looks systemd correctly reads .timer unit. All timers are symlinked in /etc/systemd/system/timers.target.wants But corresponding service is never started. mythtv-epg-grab-and-load.timer unit is following: ——— [Unit] Description=Timer for periodic EPG grabing and loading to DB [Timer] OnCalendar=Mon,Wed,Fri *-*-* 02:25:00 # OnCalendar=*-*-* 11:05:00 AccuracySec=1us Unit=mythtv-epg-grab-and-load.service [Install] WantedBy=timers.target ——— mythtv-epg-grab-and-load.service ——— [Unit] Description=@Periodic EPG grabing and loading to DB After=mysqld.service mythbackend.service [Service] User=mythtv Group=mythtv Type=oneshot Nice=19 IOSchedulingClass=2 IOSchedulingPriority=7 ExecStart=/usr/bin/wg++/grab-and-load-epg.sh [Install] WantedBy=default.target ——— May somebody hint me where issue is? ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/systemd-devel
[systemd-devel] journal: how to query journal to see ALL output of given unit?
Hi * I have question regarding logging with help of systemd journal. I have mysql daemon unit which so some housekeeping after daemon start (see below). My question is: what is best method to query journal to see _ALL_ execution output of mysqld.service unit? Kicking 'journalctl --unit mysqld.service' gives output of '/usr/bin/mysqld' but not '/usr/local/bin/mysqld-check.sh' Thx in advance! -- mysqld.service [Unit] Description=MySQL Server After=syslog.target network.target asd.service BindTo=asd.service [Service] WorkingDirectory=/usr ExecStartPre=/bin/mkdir -p /var/run/mysqld ExecStartPre=/bin/mkdir -p /var/state/mysqld ExecStartPre=/bin/chown mysql:mysql /var/run/mysqld ExecStart=/bin/su mysql -c "/usr/bin/mysqld --defaults-file=/etc/mysql/my.cnf --datadir=/var/lib/mysql --socket=/var/run/mysqld/mysqld.sock" ExecStartPost=/usr/bin/sleep 8 ExecStartPost=/usr/local/bin/mysqld-check.sh ExecStartPost=/usr/bin/touch /var/state/mysqld/mysqld.dirty ExecStopPost=/bin/rm -rf /var/state/mysqld/mysqld.dirty [Install] WantedBy=multi-user.target ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] journal: how to query journal to see ALL output of given unit?
On 06/01/14 21:52, Zbigniew Jędrzejewski-Szmek wrote: journalctl -o verbose for mysqld-check.sh Zbyszku, Here is output for 'journalctl SYSLOG_IDENTIFIER=mysqld-check.sh -o verbose' Sat 2014-01-04 23:32:07.364159 CET [s=bd641dc956b04278a26115fa814b910a;i=4365;b=1fad31caaf1e48348c9d4403b7d68ff6;m=2689289;t=4ef2c98c3163f;x=dc153004a _TRANSPORT=stdout PRIORITY=6 SYSLOG_FACILITY=3 _UID=0 _GID=0 _MACHINE_ID=beb0f0a1c2c303b17213bb8d4a87a3a6 _HOSTNAME=mythtv _CAP_EFFECTIVE=1f _BOOT_ID=1fad31caaf1e48348c9d4403b7d68ff6 SYSLOG_IDENTIFIER=mysqld-check.sh MESSAGE=--> mysqld: No need to check MythTV DB. Stop was clean... _PID=807 _COMM=mysqld-check.sh And here is exemplary output for mysqld: Mon 2014-01-06 16:24:36.037183 CET [s=6d5ef6e5ef9e413fbcb7fca114dd8465;i=43cb;b=5bbb0bb34be64b14886ed38600badb66;m=41e23ff;t=4ef4edb81a63f;x=b9e5fbfb9 _TRANSPORT=stdout PRIORITY=6 SYSLOG_FACILITY=3 _UID=0 _GID=0 _SYSTEMD_SLICE=system.slice _MACHINE_ID=beb0f0a1c2c303b17213bb8d4a87a3a6 _HOSTNAME=mythtv _CAP_EFFECTIVE=1f SYSLOG_IDENTIFIER=su _COMM=su _EXE=/bin/su _CMDLINE=/bin/su mysql -c /usr/bin/mysqld --defaults-file=/etc/mysql/my.cnf --datadir=/var/lib/mysql --socket=/var/run/mysqld/mysqld.sock _SYSTEMD_CGROUP=/system.slice/mysqld.service _SYSTEMD_UNIT=mysqld.service _BOOT_ID=5bbb0bb34be64b14886ed38600badb66 _PID=1478 MESSAGE=Version: '5.5.24' socket: '/var/run/mysqld/mysqld.sock' port: 3306 Source distribution br ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] journal: how to query journal to see ALL output of given unit?
On 07/01/14 22:35, Zbigniew Jędrzejewski-Szmek wrote: That's what I'd guess too. Does is get "fixed" if you insert 'sleep 1' in mysql-check.sh before it exits? This seems likely because the output suggests that the script is short-lived. Yes. It helps. ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
[systemd-devel] Kernel messages in journal - how?
Hi * I decided to remove completely syslog daemon from my Arch based server (my Arch is at 3.3.8 kernel level). I manages so far all units so kicking journalctl shows output from all units but there is no messages from kernel boot phase. When I look on journal output in Fedora19 - kernel boot messages are present - so this is possible. So I have Q: how should I configure systemd in my Arch server to get kernel messages in journal? My journald.conf and system.conf are all with default settings (all settings are commented out). My server has kernel 3.3.8 and systmd-195. I also tried with systemd-206. No difference: kernel boot still not logged in journal :-( Thx in advance. ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
[systemd-devel] Cross-building systemd?
Hi, I want to build sytemd in cross-build environment. One from many needed dependencies is libcap which is really old and isn't cross-build friendly. It looks like libcap-ng is kind of successor and I can build this lib in my cross-build environment. Is there any way to build systemd with libcap-ng ? Or maybe there is possibility to build systemd without libcap? Thx in advance! ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] Cross-building systemd?
On 10/4/13 6:38 PM, Stephan Raue wrote: if you need a receipt to crosscompile libcap see: https://github.com/OpenELEC/OpenELEC.tv/blob/master/packages/devel/libcap/build basically you must compile _makenames first with the hosttools: make CC=$HOST_CC -C libcap _makenames as a second step you crosscompile libcap like: make CC=$TARGET_CC CFLAGS="$TARGET_CFLAGS" lib=/lib -C libcap libcap.a greetings Stephan Am 04.10.2013 17:12, schrieb Warpme: Hi, I want to build sytemd in cross-build environment. One from many needed dependencies is libcap which is really old and isn't cross-build friendly. It looks like libcap-ng is kind of successor and I can build this lib in my cross-build environment. Is there any way to build systemd with libcap-ng ? Or maybe there is possibility to build systemd without libcap? Thx in advance! ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel Stephan, Lennart Thx for so quick replay! I'll go with Stephan recommendations. Thx again. ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
[systemd-devel] moving from SysV to systemd - issue with / being ro
Hi, I want to switch init system from SysV to systemd-196. Sys is PXE booted disk-less appliance with rootfs based on overlayfs. Currently I can PXEboot, successfully switch root from initrd to overlayfs based root, systemd starts and executes many of it's units. Unfortunately user units are failing due / is read-only. When I issue "mount -o remount,rw /" - root becomes rw - so it looks like systemd for some reason isn't remounting root to rw. Interesting is that exactly the same initrd->overlayfs script (see below) works OK for SysV - so I think issue isn't in my pivot_root procedure but rather systemd receives / in rw but leaves in ro (as "mount -o remount,rw /" allows to write to /). Script switching initrd to overlayfs root looks following: /bin/mount -n -t tmpfs none /rw /bin/mkdir -p /rw/rootfs /bin/mount -n -t overlayfs -o lowerdir=/rootfs-ro,upperdir=/rw/rootfs none /rootfs cd /rootfs /bin/mkdir -p initrd proc sys /sbin/pivot_root . initrd exec /usr/sbin/chroot . /usr/lib/systemd/systemd Where issue might be? ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] moving from SysV to systemd - issue with / being ro
On 10/16/13 7:02 PM, Zbigniew Jędrzejewski-Szmek wrote: On Wed, Oct 16, 2013 at 06:18:12PM +0200, Warpme wrote: Hi, I want to switch init system from SysV to systemd-196. Sys is PXE booted disk-less appliance with rootfs based on overlayfs. Currently I can PXEboot, successfully switch root from initrd to overlayfs based root, systemd starts and executes many of it's units. Unfortunately user units are failing due / is read-only. When I issue "mount -o remount,rw /" - root becomes rw - so it looks like systemd for some reason isn't remounting root to rw. Interesting is that exactly the same initrd->overlayfs script (see below) works OK for SysV - so I think issue isn't in my pivot_root procedure but rather systemd receives / in rw but leaves in ro (as "mount -o remount,rw /" allows to write to /). Script switching initrd to overlayfs root looks following: /bin/mount -n -t tmpfs none /rw /bin/mkdir -p /rw/rootfs /bin/mount -n -t overlayfs -o lowerdir=/rootfs-ro,upperdir=/rw/rootfs none /rootfs cd /rootfs /bin/mkdir -p initrd proc sys /sbin/pivot_root . initrd exec /usr/sbin/chroot . /usr/lib/systemd/systemd Where issue might be? What's in /etc/fstab? Zbyszek Zbyszku, Here is my fstab: none / auto remount,rw 0 0 pzdr ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] moving from SysV to systemd - issue with / being ro
On 10/16/13 7:40 PM, Zbigniew Jędrzejewski-Szmek wrote: On Wed, Oct 16, 2013 at 07:22:28PM +0200, Warpme wrote: On 10/16/13 7:02 PM, Zbigniew Jędrzejewski-Szmek wrote: On Wed, Oct 16, 2013 at 06:18:12PM +0200, Warpme wrote: Hi, I want to switch init system from SysV to systemd-196. Sys is PXE booted disk-less appliance with rootfs based on overlayfs. Currently I can PXEboot, successfully switch root from initrd to overlayfs based root, systemd starts and executes many of it's units. Unfortunately user units are failing due / is read-only. When I issue "mount -o remount,rw /" - root becomes rw - so it looks like systemd for some reason isn't remounting root to rw. Interesting is that exactly the same initrd->overlayfs script (see below) works OK for SysV - so I think issue isn't in my pivot_root procedure but rather systemd receives / in rw but leaves in ro (as "mount -o remount,rw /" allows to write to /). Script switching initrd to overlayfs root looks following: /bin/mount -n -t tmpfs none /rw /bin/mkdir -p /rw/rootfs /bin/mount -n -t overlayfs -o lowerdir=/rootfs-ro,upperdir=/rw/rootfs none /rootfs cd /rootfs /bin/mkdir -p initrd proc sys /sbin/pivot_root . initrd exec /usr/sbin/chroot . /usr/lib/systemd/systemd Where issue might be? What's in /etc/fstab? Zbyszek Zbyszku, Here is my fstab: none / auto remount,rw 0 0 OK, so fstab-generator will ignore the mount point becuase of the 'none'. This means that systemd will not remount it. Actually, I don't understand why / is mounted read-only: -w is the default for mount, and you don't specify -r anywhere. Maybe it's specific to overlayfs. I think that your best option is to add /bin/mount -o remount,rw / in the script. The other option — modifying systemd — is also possible, but it won't happen without a good reason. Your usecase should be trivially solved by modifying the script, so it's not good enough. Zbyszek Zbyszku, I add remount just after pivot_root. No change. I don't get one thing: why exactly such script works OK for SysV ? If it works for SysV - it means script leaves / in rw mode. So it leaves / in rw mode also for systemd (only difference between SysV and systemd is script last line). So logic say for me that systemd changes / mode to ro. But why? br ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] moving from SysV to systemd - issue with / being ro
On 10/16/13 9:02 PM, Zbigniew Jędrzejewski-Szmek wrote: On Wed, Oct 16, 2013 at 08:31:02PM +0200, Warpme wrote: Zbyszku, I add remount just after pivot_root. No change. I don't get one thing: why exactly such script works OK for SysV ? If it works for SysV - it means script leaves / in rw mode. So it leaves / in rw mode also for systemd (only difference between SysV and systemd is script last line). So logic say for me that systemd changes / mode to ro. But why? br That's strange. Can you show what 'systemctl show /' shows? And the "fragment", which is a file specified by FragmentPath= in the above output, probably /run/systemd/generator/-.mount ? Zbyszek Pls find output of 'systemctl show /' Id=-.mount Names=-.mount RequiredBy=local-fs.target tmp.mount media.mount var-lib-mysql\x2dtemp.mount sys-kernel-config.mount systemd-journald.socket systemd-ask-password-wall Before=local-fs.target tmp.mount media.mount var-lib-mysql\x2dtemp.mount sys-kernel-config.mount systemd-journald.socket systemd-ask-password-wall.pat Description=/ LoadState=loaded ActiveState=active SubState=mounted FragmentPath=/run/systemd/generator/-.mount SourcePath=/etc/fstab InactiveExitTimestamp=Wed, 2013-10-16 18:30:03 CEST InactiveExitTimestampMonotonic=2836321 ActiveEnterTimestamp=Wed, 2013-10-16 18:30:03 CEST ActiveEnterTimestampMonotonic=2836321 ActiveExitTimestampMonotonic=0 InactiveEnterTimestampMonotonic=0 CanStart=no CanStop=no CanReload=yes CanIsolate=no StopWhenUnneeded=no RefuseManualStart=yes RefuseManualStop=yes AllowIsolate=no DefaultDependencies=no OnFailureIsolate=no IgnoreOnIsolate=yes IgnoreOnSnapshot=no DefaultControlGroup=name=systemd:/system/-.mount ControlGroup=cpu:/system/-.mount name=systemd:/system/-.mount NeedDaemonReload=no JobTimeoutUSec=0 ConditionTimestampMonotonic=0 ConditionResult=no Where=/ What=none Options=rw,relatime,rw,lowerdir=/rootfs-ro,upperdir=/rw/rootfs Type=overlayfs TimeoutUSec=1min 30s ControlPID=0 DirectoryMode=0755 Result=success UMask=0022 LimitCPU=18446744073709551615 LimitFSIZE=18446744073709551615 LimitDATA=18446744073709551615 LimitSTACK=18446744073709551615 LimitCORE=18446744073709551615 LimitRSS=18446744073709551615 LimitNOFILE=4096 LimitAS=18446744073709551615 LimitNPROC=62989 LimitMEMLOCK=65536 LimitLOCKS=18446744073709551615 LimitSIGPENDING=62989 LimitMSGQUEUE=819200 LimitNICE=0 LimitRTPRIO=0 LimitRTTIME=18446744073709551615 OOMScoreAdjust=0 Nice=0 : File /run/systemd/generator/-.mount # Automatically generated by systemd-fstab-generator [Unit] SourcePath=/etc/fstab DefaultDependencies=no Before=local-fs.target [Mount] What=none Where=/ Type=auto FsckPassNo=0 Options=remount,rw Maybe we should disable [re]mounting / by systemd at all? br ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] moving from SysV to systemd - issue with / being ro
On 10/16/13 9:46 PM, Zbigniew Jędrzejewski-Szmek wrote: On Wed, Oct 16, 2013 at 09:19:43PM +0200, Warpme wrote: Maybe we should disable [re]mounting / by systemd at all? All systemd does, is call 'mount -o remount /'. I have no idea how you end up with a read-only filesystem. As a work-around, you can add /etc/systemd/system/systemd-remount-fs.service.d/90-remount.conf with [Service] ExecStartPost=mount -o remount,rw / and/or run systemd in debug mode (add systemd.log_level=debug on the kernel command line), to see what is going on. Zbyszek Adding /etc/systemd/system/systemd-remount-fs.service.d/90-remount.conf not helps. When I enable debugging by adding systemd.log_level=debug I'm receiving tons of messages about started/failed journal. Probably due / being in ro mode. Is it possible that ro issue is because I'm building systemd with minimal enabled features ? My configure line is following: --disable-nls \ --disable-gtk-doc \ --disable-gtk-doc-html \ --disable-gtk-doc-pdf \ --enable-introspection=no \ --disable-ima \ --disable-selinux \ --disable-xz \ --disable-tcpwrap \ --disable-pam \ --disable-acl \ --disable-xattr \ --disable-gcrypt \ --disable-audit \ --disable-libcryptsetup \ --disable-qrencode \ --disable-microhttpd \ --disable-binfmt \ --disable-vconsole \ --disable-readahead \ --disable-quotacheck \ --disable-randomseed \ --disable-logind \ --disable-hostnamed \ --disable-timedated \ --disable-localed \ --disable-coredump \ --disable-gudev \ --disable-keymap \ --disable-manpages \ --enable-split-usr \ --without-python \ LIBS="$(DESTDIR)$(libdir)/libcap.so" ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] moving from SysV to systemd - issue with / being ro
On 10/17/13 4:27 PM, Colin Guthrie wrote: Perhaps a dumb question but are you 100% certain that systemd-remount-fs.service has been run? I've not seen any debug about it so far on this thread: systemctl status systemd-remount-fs.service Col Col, Console reports "Starting Remount Root and Kernel Filesystems..." and next (after some other entries) "Started Root and Kernel Filesystems..." Looking on systemctl status systemd-remount-fs.service reports: Loaded: loaded Active: active (exited) (with green color) Exit code=0/SUCCESS For me this unit looks like started, executed and exited OK. My general logic is following: -let assume initrd script leaves / with mode we are not sure (ro or rw) -with SysV I don't have anywhere else remount command for / to rw - so backward logic says script provides / with rw -now I'm changing last line in script from /sbin/init to /usr/lib/systemd/systemd (script body is in OP of this thread) -I'm receiving / with ro mode. So logic says that /usr/lib/systemd/systemd process changes mode of / from rw to ro Is there way to tell to systemd not mount/remout / (ideally not touch / at all) ? br ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] moving from SysV to systemd - issue with / being ro
On 10/17/13 7:59 PM, Colin Guthrie wrote: 'Twas brillig, and Warpme at 17/10/13 18:15 did gyre and gimble: On 10/17/13 4:27 PM, Colin Guthrie wrote: Perhaps a dumb question but are you 100% certain that systemd-remount-fs.service has been run? I've not seen any debug about it so far on this thread: systemctl status systemd-remount-fs.service Console reports "Starting Remount Root and Kernel Filesystems..." This is the important one and next (after some other entries) "Started Root and Kernel Filesystems..." This one seems different but I guess you maybe just missed the word "Remount" in the retyping? Looking on systemctl status systemd-remount-fs.service reports: Loaded: loaded Active: active (exited) (with green color) Exit code=0/SUCCESS For me this unit looks like started, executed and exited OK. Yup, that looks good. FWIW, all it does is run a little utility shipped with systemd that finds / and /usr in /etc/fstab and attempts to remount them. The utility binary is [/usr]/lib/systemd/systemd-remount-fs It seems that it ran and exited with 0 which is successful, but I cannot see how it could do that unless it had trouble parsing the fstab and just couldn't spot / or /usr. My general logic is following: -let assume initrd script leaves / with mode we are not sure (ro or rw) -with SysV I don't have anywhere else remount command for / to rw OK, this did used to be done in (IIRC) rc.sysinit via initscripts package, but as you say it's not there, I'll take your word for it. - so backward logic says script provides / with rw -now I'm changing last line in script from /sbin/init to /usr/lib/systemd/systemd (script body is in OP of this thread) -I'm receiving / with ro mode. So logic says that /usr/lib/systemd/systemd process changes mode of / from rw to ro I can see why you get to this conclusion, but I'd be cautious of assuming this is how things work! Is there way to tell to systemd not mount/remout / (ideally not touch / at all) ? Technically it you can just mask the systemd-remount-fs.service which will avoid the remounts, but, if I'm honest, I suspect something in your sysvinit setup *is* doing the remount for you somehow. Here's what I would suggest: 1. Boot and get a shell where / is ro (i.e. the error state) 2. Run the [/usr]/lib/systemd/systemd-remount-fs manually and see if it corrects the mount problem. 3. If 2) does NOT solve the problem, run: "/bin/mount / -o remount" (including the full path). This is all that the above utility does internally, so if this fails on it's own, then running it via the utility cannot fix it. If 3 works but 2 didn't, then the only way I can see it not doing it's job, but still exiting successfully, is if it fails to properly parse your fstab. Here is the source: http://cgit.freedesktop.org/systemd/systemd/tree/src/remount-fs/remount-fs.c Even if you are not too familiar with c, it should be easy to follow. HTHs Col Col, Many thx for replay. It looks like we are moving forward: 2 works. 3 always worked. So now Q is why manual launching /usr/lib/systemd/systemd-remount-fs works, and unit with this exec launched by systemd not. Restarting unit via systemctl restart also fixes problem. So summarizing: 1.systemd-remount-fs.service status from boot sequence is OK - but / is ro 2.starting /usr/lib/systemd/systemd-remount-fs switches / to rw 3.systemctl restart systemd-remount-fs.service switches / to rw Console output from 1 & 3 is the same. So it looks like: a\ /usr/lib/systemd/systemd-remount-fs from 1 is not doing its job, or b\ /usr/lib/systemd/systemd-remount-fs is doing its job but later / somehow is switched back to ro. Maybe issue is within my fstab? It has: none/autoremount,rw0 0 br ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
[systemd-devel] journal like cyclic buffer?
Hi * Is there possibility to configure systemd journal to behave like cyclic buffer with given buffer size? Currently I see only rotation mechanism. Issue with rotation is that just after rotation, journal is almost empty and user don't have access to old log data. I have already many situations where interesting me log entries were unavailable (via journalctl) due rotated journal files. Thx in advance! ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
[systemd-devel] I'm moving from runit to systemd. Some questions...
Hi * I really like systemd concept and currently I'm in process of migrating my Arch based home server form runit to systemd. Regarding this I have some basic usage related questions. If this is wrong place to ask this type of questions - forgive me and pls hint me where is best place to ask. 1. How can I achieve have v.brief console info regarding what service started OK and what was failed (sort of "systemctl --failed") but during boot process. Currently I have "--systemv-console" as parameter in systemd init cmd line - but this shows me only processing progress of starting services but without any info about status. 2.My server has some services which are servers for other services. e.g. proc1 is required to operate for proc2. Abort of proc1 requires ordered restart of proc2 with given delay. What is best method to achieve this ? Currently my implementation is quite dumb: -I'm terminating proc2 via proc1's ExecStartPost killall proc2 -proc2 have ExecStartPre with sleep Issue with such approach is that I have always when proc2 starts. Is there more elegant way to arrange this ? 3.My server has 3 volumes with data required by it's functions. My current mount arrangement is following: -I deleted related entries in fstab -I add in "/etc/systemd/system/local-fs.target.wants/.mount" unit files with following content: [Unit] Description= Before= [Mount] What=/dev/sdb1 Where=/ Such arrangement works OK but I didn't see support for auto fsck. Do I miss something or auto-fsck needs some additions in above config ? 4. My target is to have system where I will have designated telinit level to do fsck on all volumes and next continue with normal boot. What will be best method to achieve such functionality ? Thx in advance ! <>___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
[systemd-devel] Hand when using systemctl in unit files
Hi, I really like systemd concept. I want to use systemctl to control other unit from given unit. I'm on systemd-29 Example: unit1: ExecStartPre=systemctl restart service2.service Issuing "systemctl restart unit1.service" gives hang on this command (I have to terminate manually systemctl) While I don't know is this by design behavior or not - I think it would be nice to have possibility to control units from other units br <>___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] Hand when using systemctl in unit files
On 7/27/11 11:19 PM, Kok, Auke-jan H wrote: 2011/7/27 Warpme: Hi, I really like systemd concept. I want to use systemctl to control other unit from given unit. I'm on systemd-29 Example: unit1: ExecStartPre=systemctl restart service2.service Issuing "systemctl restart unit1.service" gives hang on this command (I have to terminate manually systemctl) While I don't know is this by design behavior or not - I think it would be nice to have possibility to control units from other units Can you explain why you need this? This sounds like you have a broken design to begin with, and you're masking it with something that is even more broken. Please try to use more arguments than "nice to have" but give a real example. Auke Hi, Thx for replay. Indeed probably my approach is suboptimal but currently I can't find better solution. Usecase if following: My server has some services which are servers for other services. e.g. proc1 is required to operate for proc2. Abort of proc1 requires ordered restart of proc2 with given delay. Currently my implementation is quite dumb: -I'm terminating proc2 via proc1's ExecStartPost killall proc2 -proc2 have ExecStartPre with sleep Issue with such approach is that I have always when proc2 starts. I believe more elegant will be use systemctl in proc1 unit to force restart of proc2 Is there better way to do this ? br <>___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] Hand when using systemctl in unit files
Zbyszek, Thx for replay. You touch exactly the point. >You can use more than one ExecStartPost. E.g. > ExecStartPost=sleep 10 > ExecStartPost=systemctl try-restart proc2 >This way you remove the unnecessary delay when starting proc2. This is exactly way how I want to implement this. Issue is that in systemd-29 it seems to impossible to successfully call systemctl from unit files. Processing of such unit simply hangs. I get impression systemctl can't be called recurrently. I still believe there is no reason to intentionally block recurency so I qualified this issue as work-in-progress or bug. br ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] Hand when using systemctl in unit files
On 8/2/11 1:02 AM, Lennart Poettering wrote: On Thu, 28.07.11 15:20, warpme (war...@o2.pl) wrote: Zbyszek, Thx for replay. You touch exactly the point. You can use more than one ExecStartPost. E.g. ExecStartPost=sleep 10 ExecStartPost=systemctl try-restart proc2 This way you remove the unnecessary delay when starting proc2. This is exactly way how I want to implement this. Issue is that in systemd-29 it seems to impossible to successfully call systemctl from unit files. Processing of such unit simply hangs. I get impression systemctl can't be called recurrently. It can. We do that by default in rsyslog.service for example. But you need to make sure not to add deadlocks with that, or only trigger but not synchonously wait for your operations. Use systemctl --no-block for that. Lennart Lennart, Thx You find time to replay to my e-mail. I REALLY like systemd concept. Usage of cgroups was plainly perfect move. This is one form most elegant subsystems I found in Linux ! It is great You are contributing to Linux. Having chance to talk with You and having access to Your experience: I'm curious Your opinion what distro You will advice me if I want to have highest stability but also high freshness in components (kernel & mysql is key). I'm asking as I have very unusual issue related to client side of mysql and after trying various tweaks, kernels & mysql I'm out of ideas :-( -br <>___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
[systemd-devel] bug or I misunderstand systemd configuration rules ?
Hi, I have problem with understanding following systemd behaviour and need assistance of somebody knowledgeable in systemd config area: Context: daemon1 is server for application1 I want to have situation where: 1\"systemctl start application1" also starts daemon1 2\"systemctl stop daemon1" also stops also application1 3\"systemctl restart appication1" restarts only application1 4\"systemctl restart daemon1" restarts also application1 5\abort of daemon1 triggers also restart of application1 I do tests on ArchLinux with systemd 33. For daemon1 unit file I don't enter any relevant to this example After/BindTo statements. For application1 unit file I have: [Unit] After=deamon1.service BindTo=daemon1.service Above configuration work as expected for 1\, 2\ & 3\ AFAIK 5\ is not Yet implemented. Unfortunately for 4\ systemctl hangs during execution "systemctl restart daemon1". It is bug or I completely misunderstand systemd configuration rules ? br <>___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] bug or I misunderstand systemd configuration rules ?
Oh, I don't want to be too principal, but You miss whole point. 5 cases listed by me are not list of observed results but rather list of expected behavior... >> I want to have situation where: >> 1\"systemctl start application1" also starts daemon1 >Yes >> 2\"systemctl stop daemon1" also stops also application1 >No, daemon1 will be started as long as application1 talk to daemon1 Not so obvious. I'm not using any socket systemd functionalities, so correlation mechanism between daemon1 & application1 is based exclusively on systemd internal state machine driven by process state related events. >> 3\"systemctl restart appication1" restarts only application1 >yes >> 4\"systemctl restart daemon1" restarts also application1 >No need to do that. Just restart daemon1 and application1 won't even >notice that. Might be not true. This is purely application1 depended thing and there is set of application which needs to be restarted when serving them daemon1 was restated (as they don't have build-in auto-concretion mechanism). -br ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
[systemd-devel] autorestart of required/bind services on service abort + bug39824
Dear systemd Devs, Forgive me this type of question but I need rough date estimates for schedule planning of systemd integration with my project. -What are plans to implement functionality 5\ described in: http://lists.freedesktop.org/archives/systemd-devel/2011-August/003263.html Situation described in above msg is related also to following systemd bug: https://bugs.freedesktop.org/show_bug.cgi?id=39824 -What are plans regarding fixing above bug ? br ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
[systemd-devel] systemd 35->37
Hi, I just upgraded systemd 35 to 37. Milion thx for devs for fixing bug39824 ! My distro is Archlinux. system boots/works OK, but after upgrade I have one annoying issue: Output msgs about services status now is printed to currently active VT. If I have 5 of them and initially 1st was active - I get services status messages on VT1. When I switch to VT5 - all status goes to VT5. Is there way to configure systemd that services status is outputed always to VT1 terminal or to defined constant VT ? Thx in advance. <>___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
[systemd-devel] Moving to systemd39: early kernel msg missed in rsylog logs
Hi * I just moved my ArchLinux based server from systemd37 to 39. Basically all went well. For successful logging via rsyslog I do following: 1.symlink /lib/systemd/system/rsyslog.service to /etc/systemd/system/rsyslog.service 2.added in rsyslog.conf entry $SystemLogSocketName /run/systemd/journal/syslog 3.run systemctl enable rsyslog.service System boots OK. Issue which I have is related to logging messages by rsyslog. I don't have first 5-6 sec of booting in rsyslog logs. i.e. first entry in rsylog's generated log files is from 10:42:22, while systemd-journal show very early boot messages from 10:42:17 onward. rsyslog logging start seems to be correlated with start of imklog as by rsyslog files imklog also starts at 10:42:22. All this is little strange for me as before moving production server to systemd39 I make sure all is working OK with systemd39. I do this by mirroring my whole server to VM and do tests. Starting my server under VM gives me rsyslog files with all messages as expected (according to logs imklog starts at very beginning). Only difference between real server and VM is virtualization (CPU speed, RAM and virtualized HW) so maybe may issue is result of some king of races ? May somebody hint me how to resolve this issue ? -br ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
[systemd-devel] systemd39: journald segfault brings down some user services
Hi, I have question related to latest systemd39 & newly introduced journald. I'm on ArchLinux (kernel 3.0.18). Recently - after upgrade from systemd37->39 I'm observing decreased system stability. It manifests as random services outages. So far during last days I had 2 such cases. In both of them careful log analysis points to hypothesis that event sequence was following: 1.segfault in systemd-journald 2.it looks like one from user process received restart event because of p1 3.other user processes which have "BindTo" to above process are stopped (as expected). 4.process from p2 is successfuly restarted (as expected). 5.process from p3 stays in "failed" state (despite Restart=always" and "BindTo" to proc from p2). I have to manually start it again. My questions is following: it is possible that in systemd39 segfault in systemd-journal triggers restarting user service ? Kernel log analysis didn't show any malfunction of process in p2. Kernel log simply says: Feb 3 08:04:41 kernel: [ 331.154128] systemd-journal[258]: segfault at 7f5e741030a0 ip 0040dc4c sp 7fff71cbc490 error 4 in systemd-journald[40+1f000] Feb 3 08:04:41 [1972]: Process 258 (systemd-journal) dumped core. Feb 3 08:04:41 systemd[1]: systemd-journald.service: main process exited, code=dumped, status=11 Feb 3 08:04:48 systemd[1]: service1.service: main process exited, code=exited, status=141 Feb 3 08:04:48 systemd[1]: service1.service holdoff time over, scheduling restart. Feb 3 08:04:48 systemd[1]: Unit service1.service entered failed state. so it looks like service1 was restarted by external event. I can't find any correlated event beside journald segfault. -br ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] Requires too weak, BindTo too strong
On 2/1/12 8:37 PM, Chris Paulson-Ellis wrote: On 01/02/12 19:26, Lennart Poettering wrote: On Wed, 01.02.12 19:13, Chris Paulson-Ellis (ch...@edesix.com) wrote: On 01/02/12 19:07, Lennart Poettering wrote: On Wed, 01.02.12 18:54, Chris Paulson-Ellis (ch...@edesix.com) wrote: Is there some way to get the client to always restart when server restarts, for whatever reason? No, there isn't. But what you describe is something I consider a bug, and to fix this has been on the TODO list for a while. i.e. a server dying and being restarted should still cause all services depending on it to restart. Hence: expect this to be fixed for you soon, so that BindTo works as expected. Please consider just creating a bug there, referencing this mail thread and I'll make sure to keep it up to date. https://bugs.freedesktop.org/show_bug.cgi?id=45511 Chris. ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel Dear devs, Is it possible to little increase priority for this bug ? This bug was present in 35, 37, & still is in 39. From my perspective there are many situations where some processes are dependent on other processes. This bug for me practically excludes systemd as advanced solution for servers. Don't get me wrong. I'm absolutely don't want to push, but on the other hand I'm waiting to have systemd as server solution since months -br ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] [PATCH] Re: Requires too weak, BindTo too strong
On 2/19/12 9:35 PM, David Ward wrote: On 01/02/12 19:07, Lennart Poettering wrote: On Wed, 01.02.12 18:54, Chris Paulson-Ellis (ch...@edesix.com) wrote: Is there some way to get the client to always restart when server restarts, for whatever reason? No, there isn't. But what you describe is something I consider a bug, and to fix this has been on the TODO list for a while. i.e. a server dying and being restarted should still cause all services depending on it to restart. Hence: expect this to be fixed for you soon, so that BindTo works as expected. Please see the following patch, which takes care of this bug for me. Are there any issues with this change? Thanks, David David Ward (1): service: schedule JOB_RESTART from SERVICE_AUTO_RESTART state src/service.c |4 +--- 1 files changed, 1 insertions(+), 3 deletions(-) David, Milion thx for this patch. I applied it over r43 and now is OK. From my perspective https://bugs.freedesktop.org/show_bug.cgi?id=45511 is resolved by this patch. Thx ! ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] systemd39: journald segfault brings down some user services
On 2/20/12 11:35 PM, Olav Vitters wrote: On Thu, Feb 09, 2012 at 08:12:55PM +0100, Lennart Poettering wrote: Now, of course, the journal shouldn't crash in the first place. This bug is still something to fix, but so far nobody managed to get me a bt of this. if the journal itself crashes a coredump will be placed in /var/lib/systemd/coredump/. It would be great if somebody could generate a backtrace of that! See https://bugs.mageia.org/show_bug.cgi?id=4588 and the duplicate for a few different stracktraces. Mageia still has v40 atm, so every crash is *very* noticeable. Thx for hint. BTW: is there any way to temporarily disable journald and relay on rsyslog ? I'm on systemd43 with patch related to autorestart process when it's BindTo process was restarted (https://bugs.freedesktop.org/show_bug.cgi?id=45511). This makes 43 over 37/39 a really should have release for me. Unfortunately I have frequent systemd-journald - which unfortunately now are not destructive for run of other processes - but sometimes totally stops logging from those processes. -br ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] systemd39: journald segfault brings down some user services
On 2/22/12 7:06 PM, Warpme wrote: On 2/20/12 11:35 PM, Olav Vitters wrote: On Thu, Feb 09, 2012 at 08:12:55PM +0100, Lennart Poettering wrote: Now, of course, the journal shouldn't crash in the first place. This bug is still something to fix, but so far nobody managed to get me a bt of this. if the journal itself crashes a coredump will be placed in /var/lib/systemd/coredump/. It would be great if somebody could generate a backtrace of that! See https://bugs.mageia.org/show_bug.cgi?id=4588 and the duplicate for a few different stracktraces. Mageia still has v40 atm, so every crash is *very* noticeable. Thx for hint. BTW: is there any way to temporarily disable journald and relay on rsyslog ? I'm on systemd43 with patch related to autorestart process when it's BindTo process was restarted (https://bugs.freedesktop.org/show_bug.cgi?id=45511). This makes 43 over 37/39 a really should have release for me. Unfortunately I have frequent systemd-journald - which unfortunately now are not destructive for run of other processes - but sometimes totally stops logging from those processes. -br ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel Oh - I forgot that there is "LogTarget" in system.conf. Sorry for noise. Will setting "LogTarget=Syslog" be enough to switch off systemd-journal ? -br <>___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] systemd39: journald segfault brings down some user services
On 3/6/12 2:54 AM, Lennart Poettering wrote: On Mon, 20.02.12 23:35, Olav Vitters (o...@vitters.nl) wrote: On Thu, Feb 09, 2012 at 08:12:55PM +0100, Lennart Poettering wrote: Now, of course, the journal shouldn't crash in the first place. This bug is still something to fix, but so far nobody managed to get me a bt of this. if the journal itself crashes a coredump will be placed in /var/lib/systemd/coredump/. It would be great if somebody could generate a backtrace of that! See https://bugs.mageia.org/show_bug.cgi?id=4588 and the duplicate for a few different stracktraces. Mageia still has v40 atm, so every crash is *very* noticeable. OK, so I looked and looked and looked at the code, and I think I finally figured it out now. Should be fixed in git, in 48496df. Please test! If I fixed the right bug then you should have encountered your problem only if the journal files grow quite large. Thanks for providing the stacktrace, much appreciated. Lennart Lennart, Thx for keeping eye on this issue. I applied this commit over r43 and now sys is under stress tests. Next day I will report how it goes. Thx again for Your outstanding contribution to Linux world ! .br <>___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] systemd39: journald segfault brings down some user services
On 3/6/12 2:54 AM, Lennart Poettering wrote: On Mon, 20.02.12 23:35, Olav Vitters (o...@vitters.nl) wrote: On Thu, Feb 09, 2012 at 08:12:55PM +0100, Lennart Poettering wrote: Now, of course, the journal shouldn't crash in the first place. This bug is still something to fix, but so far nobody managed to get me a bt of this. if the journal itself crashes a coredump will be placed in /var/lib/systemd/coredump/. It would be great if somebody could generate a backtrace of that! See https://bugs.mageia.org/show_bug.cgi?id=4588 and the duplicate for a few different stracktraces. Mageia still has v40 atm, so every crash is *very* noticeable. OK, so I looked and looked and looked at the code, and I think I finally figured it out now. Should be fixed in git, in 48496df. Please test! If I fixed the right bug then you should have encountered your problem only if the journal files grow quite large. Thanks for providing the stacktrace, much appreciated. Lennart Lennart, After 3 days of some extensive testing I have following observations: -there is no more segfaults in journald (so far :-) ). -As You mention, I started to have issue with quickly growing size of journal file (after 3 day of test file had 800+ MB). Before this change it was weeks without journal size issue - with this change I notice quick part.filling within days. Is quickly growing journal issue an temp.one or rather is is now by design and users should mitigate it somehow ? I haven't set any limits in journal.conf - so maybe I should set them. Unfortunately there is no man for this file (or I miss something) - so I prefer to first understand it then next modify content... .br <>___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] systemd39: journald segfault brings down some user services
On 3/15/12 3:05 AM, Lennart Poettering wrote: On Thu, 08.03.12 17:37, David Lambert (d...@lambsys.com) wrote: On 03/08/2012 03:07 PM, Warpme wrote: I haven't set any limits in journal.conf - so maybe I should set them. Unfortunately there is no man for this file (or I miss something) - so I prefer to first understand it then next modify content.. Please see my earler post on guessing the journald.conf settings and large file sizes. Maybe we have a common problem here? This should be fixed now in git. A number of smaller problems resulted in us not actually applying any proper file size enforcement. Lennart Lennart, Thx for this. Build & installed. Will report next days how it goes ! -br <>___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
[systemd-devel] systemd195: issue with udev launched script
Hi * Sometime ago upgraded my ArchLinux (kernel3.3.8) server to systemd195. Today I discovered that my backup procedure fails. It was working OK with previous systemd. Forgive me if this forum is wrong place to ask such questions, but as udev is now part of systemd - I decided to ask here... I know that long tasks launched by udev should be detached. Maybe some merciful soul help me with finding error in following approach: (maybe there is better way do to launching scripts on USN attach ?) Goal: attaching USB-HD should launch backup script. Solution: udev rule mounting hd fs and launching script. udev rule is following: 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", GOTO="backup_begin" ENV{ID_FS_LABEL_ENC}=="USB-Movies*", GOTO="rips_begin" GOTO="user_storage_begin" LABEL="backup_begin" 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}" RUN+="/usr/bin/sleep 15" RUN+="/usr/local/bin/run-backup.sh &" GOTO="end" Issue: Script starts but seems to be killed by udev :-( relevant kernel log: Nov 15 19:18:50 systemd-udevd[3749]: LINK 'usbhd-sdc1' /etc/udev/rules.d/98-usbhd.rules:52 Nov 15 19:18:50 systemd-udevd[3749]: IMPORT '/sbin/blkid -o udev -p /dev/sdc1' /etc/udev/rules.d/98-usbhd.rules:54 Nov 15 19:18:50 systemd-udevd[3796]: starting '/sbin/blkid -o udev -p /dev/sdc1' Nov 15 19:18:50 systemd-udevd[3749]: '/sbin/blkid -o udev -p /dev/sdc1'(out) 'ID_FS_LABEL=.myth.backup' Nov 15 19:18:50 systemd-udevd[3749]: '/sbin/blkid -o udev -p /dev/sdc1'(out) 'ID_FS_LABEL_ENC=.myth.backup' Nov 15 19:18:50 systemd-udevd[3749]: '/sbin/blkid -o udev -p /dev/sdc1'(out) 'ID_FS_UUID=fd3104ea-d5c0-4a8f-beba-8ab69115b192' Nov 15 19:18:50 systemd-udevd[3749]: '/sbin/blkid -o udev -p /dev/sdc1'(out) 'ID_FS_UUID_ENC=fd3104ea-d5c0-4a8f-beba-8ab69115b192' Nov 15 19:18:50 systemd-udevd[3749]: '/sbin/blkid -o udev -p /dev/sdc1'(out) 'ID_FS_SEC_TYPE=ext2' Nov 15 19:18:50 systemd-udevd[3749]: '/sbin/blkid -o udev -p /dev/sdc1'(out) 'ID_FS_VERSION=1.0' Nov 15 19:18:50 systemd-udevd[3749]: '/sbin/blkid -o udev -p /dev/sdc1'(out) 'ID_FS_TYPE=ext3' Nov 15 19:18:50 systemd-udevd[3749]: '/sbin/blkid -o udev -p /dev/sdc1'(out) 'ID_FS_USAGE=filesystem' Nov 15 19:18:50 systemd-udevd[3749]: '/sbin/blkid -o udev -p /dev/sdc1'(out) 'ID_PART_ENTRY_SCHEME=dos' Nov 15 19:18:50 systemd-udevd[3749]: '/sbin/blkid -o udev -p /dev/sdc1'(out) 'ID_PART_ENTRY_TYPE=0x83' Nov 15 19:18:50 systemd-udevd[3749]: '/sbin/blkid -o udev -p /dev/sdc1'(out) 'ID_PART_ENTRY_NUMBER=1' Nov 15 19:18:50 systemd-udevd[3749]: '/sbin/blkid -o udev -p /dev/sdc1'(out) 'ID_PART_ENTRY_OFFSET=63' Nov 15 19:18:50 systemd-udevd[3749]: '/bin/mount -t auto -o rw,noauto,noatime /dev/sdc1 /media/.myth.backup' [3798] exit with return code 0 Nov 15 19:18:50 systemd-udevd[3801]: starting '/usr/bin/sleep 15' Nov 15 19:18:52 systemd-udevd[180]: validate module index Nov 15 19:18:55 systemd-udevd[180]: validate module index Nov 15 19:18:58 systemd-udevd[180]: validate module index Nov 15 19:19:01 systemd-udevd[180]: validate module index Nov 15 19:19:04 systemd-udevd[180]: validate module index Nov 15 19:19:05 systemd-udevd[3749]: '/usr/bin/sleep 15' [3801] exit with return code 0 Nov 15 19:19:05 systemd-udevd[3858]: starting '/usr/local/bin/run-backup.sh &' Nov 15 19:19:07 systemd-udevd[180]: validate module index Nov 15 19:19:10 systemd-udevd[180]: validate module index Nov 15 19:19:13 systemd-udevd[180]: validate module index Nov 15 19:19:16 systemd-udevd[180]: validate module index Nov 15 19:19:19 systemd-udevd[180]: worker [3749] /devices/pci:00/:00:09.0/:04:00.0/usb3/3-1/3-1:1.0/host11/target11:0:0/11:0:0:0/block/sdc/sdc1 timeout; kill it Nov 15 19:19:19 systemd-udevd[180]: seq 1787 '/devices/pci:00/:00:09.0/:04:00.0/usb3/3-1/3-1:1.0/host11/target11:0:0/11:0:0:0/block/sdc/sdc1' killed Nov 15 19:19:19 systemd-udevd[180]: seq 1787 done with -64 Nov 15 19:19:19 systemd-udevd[180]: validate module index Nov 15 19:19:19 systemd-udevd[180]: worker [3749] exit Nov 15 19:19:19 systemd-udevd[180]: worker [3749] terminated by signal 9 (Killed) Nov 15 19:19:19 systemd-udevd[180]: worker [3749] cleaned up Nov 15 19:19:22 systemd-udevd[180]: cleanup idle workers Nov 15 19:19:22 systemd-udevd[180]: validate module index Nov 15 19:19:22 systemd-udevd[3750]: unload module index Nov 15 19:19:22 systemd-udevd[180]: worker [3750] exit Nov 15 19:19:22 systemd-udevd[180]: worker [3750] cleaned up <>___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/
Re: [systemd-devel] systemd195: issue with udev launched script
On 11/15/12 9:05 PM, Kay Sievers wrote: On Thu, Nov 15, 2012 at 7:40 PM, Warpme wrote: Sometime ago upgraded my ArchLinux (kernel3.3.8) server to systemd195. Today I discovered that my backup procedure fails. It was working OK with previous systemd. Forgive me if this forum is wrong place to ask such questions, but as udev is now part of systemd - I decided to ask here... I know that long tasks launched by udev should be detached. Maybe some merciful soul help me with finding error in following approach: (maybe there is better way do to launching scripts on USN attach ?) Udev even handlers cannot run long running processes, they get cleaned up after a timeout. That's what you see here. Udev events are timing critical, and they might block the entire bootup if they do not return in time. There is no sane way to make udev run such scripts, handle that properly. It is not really made to start such services. 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 Kay, Dave Million thx for quick replay ! It's great that systemd solves in nice way also this aspect. I definitely will go systemd+templates route. Thx again <>___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] systemd195: issue with udev launched script
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/pci:00/:00:09.0/: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/pci:00/:00:09.0/: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)
[systemd-devel] Starting systemd service in udev rule via ENV{SYSTEMD_WANTS} - help needed
Well, Things pretend to be simple seems to be not simple After 2 days of fighting with issue I have to ask for help. I want to kick systemd service when usb HDD is plugged. As started service needs to know HDD label I wan to use templates. Here is what it goes: 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 issue is ? Thx in advance ! 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/pci:00/:00:09.0/: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/pci:00/:00:09.0/: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
Re: [systemd-devel] systemd195: issue with udev launched script
On 11/18/12 5:54 PM, Colin Guthrie wrote: Just as a general observation, I don't think you even need to delve into udev rules to make all this work as systemd handles device mounts internally. You can simply create a .mount unit for your drive such that when it is inserted it is mounted automatically (you may have to BindTo= and After= the corresponding .device unit for the external drive IIUC). Then, simply adjust your ext-usb-backup.service to BindTo=your-mount-unit.mount and After=your-mount-unit.mount This means that whenever the mount unit is started (i.e. when ever it's mounted), your service is started immediately after mount. Col Col, Thx for replay. I'm not sure is it possible to launch different actions by different vol.labels within .mount unit. I have USB HDDs with backups, TVarchives, movies and software. Idea is to have solution when attaching USB HDD automatically launches appropriate script supporting expected actions (like start backup or auto add movies to library). It is possible to achieve this .mount units ? br <>___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] Starting systemd service in udev rule via ENV{SYSTEMD_WANTS} - help needed
On 11/18/12 3:37 PM, Mirco Tischler wrote: I don't really have an idea, but here are some things you could check additionally: Does systemd create a .device unit? And if yes is it active/plugged? And does it have the correct "Wants=ext-usb-backup.service" attribute? Does udevadm info --query=property --path= show the correct values for SYSTEMD_WANTS and TAGS? Mirco Mirco, Thx for replay. systemctl --all reports: dev-sdc1.device loaded active plugged /dev/sdc1 dev-sdc1.device unit content is following: Id=dev-sdc1.device Names=dev-sdc1.device Following=sys-devices-pci:00-:00:09.0-:04:00.0-usb2-2\x2d1-2\x2d1:1.0-host10-target10:0:0-10:0:0:0-block-sdc-sdc1.device Description=/dev/sdc1 LoadState=loaded ActiveState=active SubState=plugged InactiveExitTimestampMonotonic=0 ActiveEnterTimestampMonotonic=0 ActiveExitTimestampMonotonic=0 InactiveEnterTimestampMonotonic=0 CanStart=no CanStop=no CanReload=no CanIsolate=no StopWhenUnneeded=no RefuseManualStart=no RefuseManualStop=no AllowIsolate=no DefaultDependencies=yes OnFailureIsolate=no IgnoreOnIsolate=yes IgnoreOnSnapshot=yes NeedDaemonReload=no JobTimeoutUSec=1min 30s ConditionTimestampMonotonic=0 ConditionResult=no SysFSPath=/sys/devices/pci:00/:00:09.0/:04:00.0/usb2/2-1/2-1:1.0/host10/target10:0:0/10:0:0:0/block/sdc/sdc1 querying udev gives: udevadm info --query=property --path /sys/dev/block/8\:33 DEVLINKS=/dev/disk/by-label/.myth.backup /dev/disk/by-uuid/fd3104ea-d5c0-4a8f-beba-8ab69115b192 /dev/usbhd-sdc1 DEVNAME=/dev/sdc1 DEVPATH=/devices/pci:00/:00:09.0/:04:00.0/usb2/2-1/2-1:1.0/host10/target10:0:0/10:0:0:0/block/sdc/sdc1 DEVTYPE=partition ID_FS_LABEL=.myth.backup ID_FS_LABEL_ENC=.myth.backup ID_FS_SEC_TYPE=ext2 ID_FS_TYPE=ext3 ID_FS_USAGE=filesystem ID_FS_UUID=fd3104ea-d5c0-4a8f-beba-8ab69115b192 ID_FS_UUID_ENC=fd3104ea-d5c0-4a8f-beba-8ab69115b192 ID_FS_VERSION=1.0 ID_PART_ENTRY_DISK=8:32 ID_PART_ENTRY_NUMBER=1 ID_PART_ENTRY_OFFSET=63 ID_PART_ENTRY_SCHEME=dos ID_PART_ENTRY_SIZE=1953520002 ID_PART_ENTRY_TYPE=0x83 MAJOR=8 MINOR=33 MOUNT_DIR=/media/.myth.backup SUBSYSTEM=block SYSTEMD_WANTS=ext-usb-backup@.myth.backup\x20connected.service TAGS=:systemd: USEC_INITIALIZED=270713954 So it looks like dev-sdc1.device don't have "Wants=ext-usb-backup.service". Q is then why ? <>___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] Starting systemd service in udev rule viaENV{SYSTEMD_WANTS} - help needed
On 11/20/12 3:55 PM, Lennart Poettering wrote: SYSTEMD_WANTS=ext-usb-backup@.myth.backup\x20connected.service This looks alright, doesn't it? Are you saying that this service is not pulled in even though this field showed up on the device? I found where issue is. When developing udev rule I tested it via: udevadm trigger --sysname-match=sdc1 --action=add This seems to correctly launch actions within udev but NOT in systemd. When I physically connect USB device things started to move: -udev SYSTEMD_WANTS seems to be propagated to systemd -systemd launches unit -it looks like params are passed in a way I don't understand Namely: udev has: SYSTEMD_WANTS=ext-usb-backup@.myth.backup\x20connected.service So if unit has something like this: ExecStartPre=/bin/sh -c "/usr/bin/perl /usr/local/bin/osd_notify.pl %I connected backup" osd_notify.pl should have parameters like: ".myth.backup connected backup" but in reality it has: "sys/devices/pci:00/:00:09.0/:04:00.0/usb3/3-1/3-1:1.0/host12/target12:0:0/12:0:0:0/block/sdc/sdc1 connected backup" Do I missed something here ? <>___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] systemd195: issue with udev launched script
On 11/25/12 1:24 PM, Andrey Borzenkov wrote: В Fri, 16 Nov 2012 17:37:27 +0100 Warpme пишет: [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" Is your actual backup program started in background by run-backup.sh and script itself exits? Because that is what is implied by Type=forking. If yes, it apparently takes over 30 seconds as systemctl is killed by udev. You probably want to use "systemctl --no-block" in this case. Andrey, Thx for Your post. Indeed forking is bad idea. I changed it to oneshot and it works OK. but not works with: ENV{ID_FS_LABEL_ENC}==".myth.backup", TAG+="systemd", ENV{SYSTEMD_WANTS}="ext-usb-backup.service" Hard to tell without systemd debug output. You can enable it online by sending signal to systemd, see man page. I found issue: when developing udev rule I tested it via: udevadm trigger --sysname-match=sdc1 --action=add This seems to correctly launch actions within udev but NOT in systemd. However, when I physically connect USB device it works. Also I have another interesting observation: My udev rule has: TAG+="systemd", ENV{SYSTEMD_WANTS}+="ext-usb-backup@$env{ID_FS_LABEL_ENC}\x20connected.service" My unit has something like this: ExecStart=/bin/sh -c "/usr/bin/perl /usr/local/bin/osd_notify.pl %I connected backup" So for HDD with label ".myth.backup", osd_notify.pl should have parameters like: ".myth.backup connected backup" but in reality it has: "sys/devices/pci:00/:00:09.0/:04:00.0/usb3/3-1/3-1:1.0/host12/target12:0:0/12:0:0:0/block/sdc/sdc1 connected backup" but when I change rule to: TAG+="systemd", ENV{SYSTEMD_WANTS}+="ext-usb-backup@\x20$env{ID_FS_LABEL_ENC}\x20connected.service" it think it is result of bug in systemd <>___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel