Re: [systemd-devel] systemd-networkd not discovering all devices at bootup, and thus no network is configured

2015-02-12 Thread Keller, Jacob E
On Thu, 2015-02-12 at 18:51 +0100, Lennart Poettering wrote:
 On Thu, 12.02.15 17:48, Keller, Jacob E (jacob.e.kel...@intel.com) wrote:
 
  Ok, I'll try with latest Git first, and if it still fails I'll try
  reverting the patch Lennart suggested.
 
 git already has that patch reverted now.
 
 Lennart
 

Ah :) Well using the upstream Git works perfectly :)

Thanks for helping resolve this issue.

Regards,
Jake
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


Re: [systemd-devel] [PATCH] rules: Fix by-path of mmc RPMB partitions and don't blkid them

2015-02-12 Thread Martin Pitt
Lennart Poettering [2015-02-12 18:50 +0100]:
  http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=090d25fe224c0
 
 Looks simple enough. Though I wonder if [0-9] is the right match,
 shouldn't it also cover multiple numbers there?

Hm, yes. fnmatch() doesn't support a regexp-like one or more digits;
it's less precise, but as the kernel doesn't generate arbitrary device
names but at most things like mmcblk0p1, extending the glob to
mmcblk[0-9]*rpmb is actually safe.

Thanks,

Martin

-- 
Martin Pitt| http://www.piware.de
Ubuntu Developer (www.ubuntu.com)  | Debian Developer  (www.debian.org)
From 23ab7d9cf443653c1a8c54a3ab154fc808a5a0e8 Mon Sep 17 00:00:00 2001
From: Martin Pitt martin.p...@ubuntu.com
Date: Wed, 11 Feb 2015 15:26:52 +0100
Subject: [PATCH] rules: Fix by-path of mmc RPMB partitions and don't blkid
 them

Linux 3.10+ exposes RPMB (Replay Protected Memory Block) partitions of MMC
devices [1] ; trying to read them with blkid or other unspecific means will
cause kernel buffer I/O errors and timeouts. So don't run blkid on these.

Also ensure that /dev/disk/by-path creates proper symlinks and exposes the
-rpmb partition separately, instead of letting the normal partition symlink
point to the rpbm device (this is a race condition).

[1] http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=090d25fe224c0

https://launchpad.net/bugs/1333140
---
 rules/60-persistent-storage.rules | 6 +-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/rules/60-persistent-storage.rules b/rules/60-persistent-storage.rules
index 475b151..08ed1cc 100644
--- a/rules/60-persistent-storage.rules
+++ b/rules/60-persistent-storage.rules
@@ -53,7 +53,8 @@ KERNEL==mspblk[0-9]p[0-9], ENV{ID_NAME}==?*, ENV{ID_SERIAL}==?*, SYMLINK+=
 
 # by-path (parent device path)
 ENV{DEVTYPE}==disk, DEVPATH!=*/virtual/*, IMPORT{builtin}=path_id
-ENV{DEVTYPE}==disk, ENV{ID_PATH}==?*, SYMLINK+=disk/by-path/$env{ID_PATH}
+ENV{DEVTYPE}==disk, ENV{ID_PATH}==?*, KERNEL==mmcblk[0-9]*rpmb, SYMLINK+=disk/by-path/$env{ID_PATH}-rpmb
+ENV{DEVTYPE}==disk, ENV{ID_PATH}==?*, KERNEL!=mmcblk[0-9]*rpmb, SYMLINK+=disk/by-path/$env{ID_PATH}
 ENV{DEVTYPE}==partition, ENV{ID_PATH}==?*, SYMLINK+=disk/by-path/$env{ID_PATH}-part%n
 
 # skip unpartitioned removable media devices from drivers which do not send change events
@@ -66,6 +67,9 @@ KERNEL==sr*, ENV{DISK_EJECT_REQUEST}!=?*, ENV{ID_CDROM_MEDIA_TRACK_COUNT_DAT
 KERNEL==sr*, ENV{DISK_EJECT_REQUEST}!=?*, ENV{ID_CDROM_MEDIA_TRACK_COUNT_DATA}==?*, ENV{ID_CDROM_MEDIA_SESSION_LAST_OFFSET}==, \
   IMPORT{builtin}=blkid --noraid
 
+# don't try to read Replay Protected Memory Block partitions
+KERNEL==mmcblk[0-9]*rpmb, GOTO=persistent_storage_end
+
 # probe filesystem metadata of disks
 KERNEL!=sr*, IMPORT{builtin}=blkid
 
-- 
2.1.4



signature.asc
Description: Digital signature
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


Re: [systemd-devel] avahi disconnects from bus with kdbus

2015-02-12 Thread David Herrmann
Hi

On Wed, Feb 11, 2015 at 11:17 AM, Daniel Buch boogiewasth...@gmail.com wrote:
 Nice, everything works flawlessly with current git now. Good job!

Thanks for testing! No idea which commit exactly fixed it, so if you
see it again, please let us know.

Thanks
David
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


Re: [systemd-devel] systemd-networkd not discovering all devices at bootup, and thus no network is configured

2015-02-12 Thread Tom Gundersen
On Thu, Feb 12, 2015 at 7:28 PM, Keller, Jacob E
jacob.e.kel...@intel.com wrote:
 On Thu, 2015-02-12 at 18:51 +0100, Lennart Poettering wrote:
 On Thu, 12.02.15 17:48, Keller, Jacob E (jacob.e.kel...@intel.com) wrote:

  Ok, I'll try with latest Git first, and if it still fails I'll try
  reverting the patch Lennart suggested.

 git already has that patch reverted now.

 Lennart


 Ah :) Well using the upstream Git works perfectly :)

 Thanks for helping resolve this issue.

Thanks for testing!

Cheers,

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


Re: [systemd-devel] systemd-networkd not discovering all devices at bootup, and thus no network is configured

2015-02-12 Thread Lennart Poettering
On Thu, 12.02.15 17:48, Keller, Jacob E (jacob.e.kel...@intel.com) wrote:

 Ok, I'll try with latest Git first, and if it still fails I'll try
 reverting the patch Lennart suggested.

git already has that patch reverted now.

Lennart

-- 
Lennart Poettering, Red Hat
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


Re: [systemd-devel] Whitespace in /etc/crypttab

2015-02-12 Thread Lennart Poettering
On Thu, 12.02.15 13:12, Zbigniew Jędrzejewski-Szmek (zbys...@in.waw.pl) wrote:

 On Thu, Feb 12, 2015 at 09:49:34AM +, John Lane wrote:
  I see
  http://cgit.freedesktop.org/systemd/systemd/commit/?id=84cc2abf3472b[1] 
  that
  PARTLABEL= is supported in /etc/cryptab although it isn't
  documented[2]
  http://www.freedesktop.org/software/systemd/man/crypttab.html.
  
  [1] http://cgit.freedesktop.org/systemd/systemd/commit/?id=84cc2abf3472b
  [2] http://www.freedesktop.org/software/systemd/man/crypttab.html
 It would be great to have it documented.
 
  Placing an entry in /etc/crypttab like
  
  cryptvol PARTLABEL=A\040B none
  
  results in device units like
  
  dev-disk-by\x2dpartlabel-A\x5cx5c040B
  
  I also tried A\x20B I get dev-disk-by\x2dpartlabel-A\x5cx5cx20B
  
  GPT supports whitespace in partition labels. Is it possible to use
  whitespace in PARTLABEL in /etc/crypttab?
 Seems like a call to cunescape() is missing somewhere. Patch welcome ;)

Actually I'd prefer if we could rework code like this to use
unquote_many_words(), which is much nicer anyway, and should give us
this for free...

Lennart

-- 
Lennart Poettering, Red Hat
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


Re: [systemd-devel] Changing how localed writes keymap for xorg

2015-02-12 Thread David Herrmann
Hi Colin

On Thu, Feb 12, 2015 at 1:27 AM, Colin Guthrie gm...@colin.guthr.ie wrote:
 at which point we need to ask the question: what makes keyboards so special?
 and the answer seems to be that your DE doesn't support hotplugged
 keyboards, per-user keyboard settings, etc. So it feels to me, and correct
 me if I'm wrong here, that you want to reshape the default handling so you
 don't have to fix it in your DE (I don't actually know which one you're
 using, sorry).

 Yeah, I kinda left that out deliberately as the use case is a bit
 special. This is basically a pre-DE mini-wizard that kicks in in live
 mode to ask the user what their locale is, setup the language, timezone
 and keyboard and then boots into the DE of choice, whether it be GNOME,
 or KDE or something else (those two being the main ones).

 In the case of GNOME, setting the keymap and such is respected (assuming
 there was no 00-keyboard.conf present when X was initialised), but
 language settings (LANG, LC_* etc.) are not, and thus we are forced to
 do a X restart there. For KDE, everything works fine, LANG, keymap etc
 is all fine, and we don't need to restart X for everything to kick in
 correctly which makes for a slightly nicer user experience.

 In our case we can simply arrange for there to be no 00-keyboard.conf
 present at init, so it's not the biggest deal in the world. The keymaps
 are set manually *and* any new keyboards that happen to be plugged in
 will be fine too (settings ultimately coming via udev properties in this
 case, but quite possibly appropriate daemons in the DEs will get
 involved at this stage now anyway).

 Essentially I was wanting the DE config stuff to be in addition to the
 keyboard being correct in the first place as I don't want to have to go
 around and deal with the same problem on several of the lighter-weight
 DEs which, frankly, are rubbish!

 Anyway, that's the background.

 Longer term, this scheme is pretty nasty anyway. When we move things
 over to the systemd user session it'll be harder to pause the X
 session init and we will probably (have to) totally reassess all this.
 It's pretty nasty to work with as it is, so I personally won't be sorry
 to rip it all out and just do something a lot nicer.

 It would also be good to allow for DE-provided first boot type wizards
 to run should they provide their own, and only use the generic one when
 the DE is too rubbish to do this :)

To summarize: Your wizard uses udev-properties to set keymap-settings,
because otherwise you'd have to restart X11 to reload its
configuration, right?

I agree with Peter here: The udev-feature shouldn't really be used.
Xorg only supports static configuration, if you want dynamic
configuration, use the Xinput/Xrandr properties provided by the
drivers. This is how dynamic configurations are done.

Regarding input configuration for non-X11: In systemd-console I use
the localed-API for locale configuration. I think we want something
similar for input-devices and monitor-configuration. Those daemons
could be easily run on the system bus *AND* on the user-bus, to get
system-defaults and user-overrides. But I haven't really thought it
through, it's just an idea.

Thanks
David
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


Re: [systemd-devel] [PATCH] preset-transient

2015-02-12 Thread Dimitri John Ledkov
On 11 February 2015 at 20:49, Lennart Poettering lenn...@poettering.net wrote:
 On Fri, 06.02.15 18:29, Didier Roche (didro...@ubuntu.com) wrote:

 Le 05/02/2015 17:11, Dimitri John Ledkov a écrit :
 Some context for this patch.

 Hey Dimitri, thanks for working on that. I'm just giving a broader context
 for everyone who followed the past discussion we had in december/january.

 This is a followup on our discussion and what we discussed on the /usr vs
 /etc email thread (to give the full context).
 
 I would like to support a new preset model, which has the following 
 properties:
 
   - distribution shipped defaults are enabled
   - and are applied to each boot/upgrade
   - without overriding any user configuration
 Said differently, the Debian/Ubuntu needs are that distro defaults are
 migrated. We would prefer an upstream solution for this than the current
 cache implementation by our install helper tools that Dimitri described
 below.
 We should be able to handle defaults per flavors in the ubuntu case
 (meaning, alternatives are respected, with a priority order based on
 filename), admins should be able to disable services that are enabled by
 default on the distro and admins overrides are always respected, even if the
 distro changed its default policy for a service from disabled to enabled or
 the contrary.

 We need for this to work the /dev/null symlink in /etc patch to disable
 known services that was discussed in the previous thread and agreed on.

 From the past discussions and during the hackfest, we agreed that presets
 were the way to go forward, but with slight changes that Dimitri explains
 below.

 
 In many ways it is very similar to existing functionality but not
 quite possible to achieve all of the above.
 
 Thus, I'm introducing a new optional functionality, new unit
 configuration directory, and new transient-preset configurations.
 
 On each boot, if TransientPreset=yes, presets from
 /usr/lib/systemd/system-preset-transient/*.preset are applied into
 configuration path /run/systemd/system-preset-transient/.

 Hum, we told at the sprint that we wanted to be that available for everyone,
 and not having any conditions. Distros which still desires only the existing
 behavior would not ship files in *-preset-transient directories.

 
 An upgrade tool, sysadmin can repeat that action at appropriate points
 by also calling: systemctl --runtime preset-all.

 This command is only for sys admins, on package upgrade/installation/removal
 (having units file or a new preset file), we would call as a trigger
 systemctl --daemon-reload, which then, would purge the transient runtime
 directories and reapply needed changes.

 
 If distribution integrates usage of Transient Presets, it gains a few
 very nice properties. Fresh installations, much upgrades. User/admin
 modifications are preserved. And there is no additional logic required
 to maintain separation / diffs between system-defaults and
 user-modifications. At the moment distributions like Debian (where
 most things are enabled by default) maintain a complex state in /var/
 which tracks which things were distro-enabled before/after the
 upgrade, as well as whether user/admin has disabled/enabled things
 before/after the upgrade and try hard to correctly reconcile the
 correct state for all units. However, with this patch, most of this
 segregation moves away.

 We discussed first that this could have gone in /var (this transient layer
 state is under our control) so that it's not called at every boot, however,
 /var isn't required at this very early stage to load units from systemd.
 We would like to not add those in another /etc directory on the broader goal
 of empty /etc by default.
 
 The remaining part, which is not addressed in this patch series, yet,
 is the ability to override .wants/ symlink from a higher order
 configuration directory. That is if the following symlinks are present:
   /etc/systemd/system/foo.service.wants/bar.service - /dev/null
   /usr/lib/systemd/system/foo.service.wants/bar.service - ../bar.service
 There is no wants dependency added from foo.service - bar.service.
 This bit is discussed in details and agreed upon on the mailing
 list. (Unwants thread has urls to the messages)
 
 Regards,
 
 Dimitri.
 
 Dimitri John Ledkov (1):
Add support for transient presets, applied on every boot.
 
   man/systemd-system.conf.xml |  1 +
   src/core/main.c | 30 +++
   src/core/system.conf|  1 +
   src/core/unit.c |  2 +-
   src/shared/install.c| 59 
  ++---
   src/shared/install.h|  2 +-
   src/shared/path-lookup.c|  2 ++
   7 files changed, 76 insertions(+), 21 deletions(-)
 


 Right now, I think that we shouldn't have a configuration flag for it, this
 should apply (as stated above) to any setup, and distros can opt in or out
 just by shipping those transient preset files.

 It seems to me that this code 

Re: [systemd-devel] [PATCH] preset-transient

2015-02-12 Thread Dimitri John Ledkov
On 11 February 2015 at 20:51, Lennart Poettering lenn...@poettering.net wrote:
 On Fri, 06.02.15 20:28, Dimitri John Ledkov (dimitri.j.led...@intel.com) 
 wrote:

  Hum, we told at the sprint that we wanted to be that available for 
  everyone,
  and not having any conditions. Distros which still desires only the 
  existing
  behavior would not ship files in *-preset-transient directories.

 Running any presets commands unconditionally, without any preset
 configuration is harmful.
 Prime example, if one doesn't ship any .preset (even the one that
 comes with systemd) shutdown.target gets activated and all that system
 does on boot is going to shutdown straight away.

 Hmm, not following? Can you elaborate?


With this patch, (as is, without taking all of the above mentioned feedback)
AND
transient-presets enabled via config option
AND
no .preset files shipped at all for neither of preset types
AND
no machine-id

 one will not be able to boot =) i guess, this only points
stronger to distro should be configured sanely and this is not a
toggle to play with.

(It seems like, after enable * a few things are enabled - e.g.
debug-shell.service console-shell.service, the boot reaches multiuser
target and one sees maintainance prompt, after which the system goes
to poweroff. I'm not quite sure how to debug this better, but my
suspicion is that console-shell is stopped, which has
ExecStopPost=-/usr/bin/systemctl poweroff. Maybe this is simply a bug
in some of the default units. Is enable * alone default policy
actually supported?)

  Right now, I think that we shouldn't have a configuration flag for it, this
  should apply (as stated above) to any setup, and distros can opt in or out
  just by shipping those transient preset files.
 

 Well, I understood, that we should allow both distros and user to
 opt-into either or both. Plus to successfully use transient-presets,
 one needs regular presets configured in concert as otherwise things go
 haywire as you have noted.

 Why would this be a user choice at all? This appears to be strictly a
 distro choice to me...

Yeah, I don't have a compeling argument here. User may want to extend
or tweak the distro-integration via e.g. /etc/systemd/system-presets |
transient-system-presets, but indeed I do not see why they would want
to use these functionalities if the distro didn't provide any sane
integration for any type of presets.


-- 
Regards,

Dimitri.

Intel Corporation (UK) Ltd. - Co. Reg. #1134945 - Pipers Way, Swindon SN3 1RJ.
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


Re: [systemd-devel] Failed units and Unit type .busname is not supported on this system

2015-02-12 Thread Tom Gundersen
On Thu, Feb 12, 2015 at 10:23 AM, John Lane syst...@jelmail.com wrote:
 On 06/02/15 17:12, John Lane wrote:
 Good afternoon. I have some errors in the boot sequence of a newly built
 system:

 I see:

 systemd[1]: Unit type .busname is not supported on this system.

 then later on:

 systemd-networkd[278]: Assertion 'bus' failed at
 src/libsystemd/sd-bus/bus-util.c:105, function
 bus_event_loop_with_idle(). Aborting.
 systemd[1]: Unit systemd-networkd.service entered failed state
 systemd-networkd.service failed.

 and

 systemd-logind[565]: Failed to connect to system bus: No such file
 or directory
 systemd-logind[565]: Failed to fully start up daemon: No such file
 or directory
 Failed to start Login Service.

 My systemctl status shows a degraded status with 3 failed units being

   UNIT LOAD   ACTIVE SUBDESCRIPTION
 ● systemd-logind.service   loaded failed failed Login Service
 ● systemd-networkd.service loaded failed failed Network Service
 ● systemd-networkd.socket  loaded failed failed networkd rtnetlink socket

 However, it gets to the login prompt, I can log in and everything works
 (as far as I can tell).

 I assume that the failed units are a result of the busname is not
 supported on this system but I have no clue about what that means and
 what to do about it. Searches have turned up nothing.

 System details:
 Linux tsodium 3.18.5-1-ARCH #1 SMP PREEMPT Fri Jan 30 07:17:14 CET 2015
 i686 GNU/Linux
 systemd 218
 +PAM -AUDIT -SELINUX -IMA -APPARMOR -SMACK -SYSVINIT +UTMP
 +LIBCRYPTSETUP +GCRYPT -GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS
 +KMOD +IDN
 built today from systemd-git 218.944.g30ae637-1

 I am using a git checkout because I am using functionality that isn't in
 218.

 Any suggestions appreciated.

 John


 ___
 systemd-devel mailing list
 systemd-devel@lists.freedesktop.org
 http://lists.freedesktop.org/mailman/listinfo/systemd-devel
 Just an update on the above. unit type .busname is not supported on
 this system isn't the cause of the problem that I was seeing (I still
 don't know why this appears or if it is significant in other ways but it
 would appear not to be so).

Most probably this was caused by the lack of a conditional in
systemd-networkd.busname (which was fixed a few days ago). Either way
it is not important (as you don't appear to be using kdbus).

 The failed units were a consequence of me
 using the ArchLinux systemd-git AUR package as part of a new system
 build. It's dependency list had omitted dbus and this caused the above
 breakages to occur do to the sysem not having dbus. Installing dbus
 fixed it. Problem solved.

Thanks for reporting back.

Cheers,

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


Re: [systemd-devel] [PATCH] Re: fstab mounts get unmounted during boot (.device unit bouncing?) -- solution

2015-02-12 Thread Lennart Poettering
On Thu, 12.02.15 11:58, Martin Pitt (martin.p...@ubuntu.com) wrote:

 Lennart Poettering [2015-02-12 11:22 +0100]:
   To make systemd robust against this, I fixed
   mount_load_proc_self_mountinfo() to actually do what it intends to do,
   instead of loading /etc/mtab (which is still util-linux' default for
   mnt_table_parse_mtab()).
  
  Urks, we never want to read /etc/mtab from PID 1, indeed. I am a bit
  puzzled by mnt_table_parse_mtab() thiugh. The name suggests it parses
  /etc/mtab files (which have the same format as /proc/self/mounts). But
  Can we really just arse /proc/self/mountinfo to it, which has a very
  different format?
 
 Yes, it arses it just fine :-) It supports the mtab, the fstab, and
 the mountinfo format:
 
   
 https://github.com/karelzak/util-linux/blob/master/libmount/src/tab_parse.c#L1047
 
 If you don't specify a file name, it defaults to /etc/mtab;
 mnt_has_regular_mtab() checks if /etc/mtab is a regular file, and if
 so, parses it as mtab format; if it's a symlink, then
 mnt_has_regular_mtab() is false. (See
 https://github.com/karelzak/util-linux/blob/master/libmount/src/utils.c#L772)
 
 If the passed filename (or /etc/mtab default) is a symlink, it falls
 back to line 1068 ff. where it ignores filename entirely. It first
 tries to parse /proc/self/mountinfo as MNT_FMT_MOUNTINFO, and if that
 fails, it falls back to parsing /proc/mounts (in old _PATH_PROC_MOUNTS
 format, i. e. mtab).
 
 So it doesn't matter that much what filename is, as long as it's not
 NULL or /etc/mtab, but for readability I still suggest using
 /proc/self/mountinfo, as that's what it will actually end up
 reading.
 
 FTR, I added a log_debug() to it (not contained in the submitted
 patch) and tested it with regular /etc/mtab, a symlink to /proc/mounts
 and a symlink to /proc/self/mountinfo, and it comes out just fine.

And the stuff from /run is always merged into it, regardless which
file is read?

Lennart

-- 
Lennart Poettering, Red Hat
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


Re: [systemd-devel] Whitespace in /etc/crypttab

2015-02-12 Thread Zbigniew Jędrzejewski-Szmek
On Thu, Feb 12, 2015 at 09:49:34AM +, John Lane wrote:
 I see
 http://cgit.freedesktop.org/systemd/systemd/commit/?id=84cc2abf3472b[1] that
 PARTLABEL= is supported in /etc/cryptab although it isn't
 documented[2]
 http://www.freedesktop.org/software/systemd/man/crypttab.html.
 
 [1] http://cgit.freedesktop.org/systemd/systemd/commit/?id=84cc2abf3472b
 [2] http://www.freedesktop.org/software/systemd/man/crypttab.html
It would be great to have it documented.

 Placing an entry in /etc/crypttab like
 
 cryptvol PARTLABEL=A\040B none
 
 results in device units like
 
 dev-disk-by\x2dpartlabel-A\x5cx5c040B
 
 I also tried A\x20B I get dev-disk-by\x2dpartlabel-A\x5cx5cx20B
 
 GPT supports whitespace in partition labels. Is it possible to use
 whitespace in PARTLABEL in /etc/crypttab?
Seems like a call to cunescape() is missing somewhere. Patch welcome ;)

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


Re: [systemd-devel] multi-user.target only wants network.service if I'm doing 'systemct show runlevel3.target'

2015-02-12 Thread Jóhann B. Guðmundsson


On 02/12/2015 04:38 AM, Michael Biebl wrote:

2015-02-11 20:12 GMT+01:00 Lennart Poettering lenn...@poettering.net:

So, I have discussed this with Kay, David, Daniel, and co. And we
kinda came to the conclusion that we might as well just drop the
configurability where runlevel3-5.target point to. If we drop that, we

Do you mean runlevel2-5, or is runlevel2 excluded for a reason?






Well we have more targets then there are run levels for example 
emergency and rescue both of which could be seen as run level 1
Run level 2 arguably should have been mapped to basic.target from the 
start and is causing confusion since it's mapped to the multi-user.target
Run level 3 as in the multi-user.target lacks network support ( even 
thou now it arguably could be added properly with systemd-networkd ), 
which is what users expect
Run level 4 cant be mapped to users custom boot target ( they have to 
manually link it themselves and since they have to do that they are 
simply better of using systemctl set-default my-custom-boot.target 
reboot and then change it back or isolate to it.

etc.

The fact is if shit hits the fan at bootup systemd really aught to 
handle that gracefully and drop users down to rescue.target and or 
emergency.target and if you switch targets later then you should wind up 
with only the exact services running as you would have booted directly 
to the target you isolated to.


Forcing users having to add a kernel command line ( 1,2,3 etc ) is 
archaic in the 21 century from my pov but unfortunately our huge timeout 
that happens at bootup contributes to users having to manually boot to a 
specific target ( or runlevel ) due to the fact users dont wait for that 
time out ( by my observation these years if users are used boot 
completing in 15s  having them wait for more then ca 30s tops reaches 
their patience threshold and they *will* in all cases hard power off the 
machine and power it on again which beats the purpose of the time out to 
begin with )


So arguably the entire concept of run levels ( and backward 
compatibility and support ) should be put to rest upstream and have 
downstream maintaining that compatibility support if they so much desire 
since it never applied to systemd and doing so has and is hindering 
adoption of the systemd concept of targets, causes confusion for users 
and arguably hinders us evolve to a better native solution to solve the 
usecases that inspired the existence of run levels to begin with.


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


Re: [systemd-devel] [PATCH] Add support for transient presets, applied on every boot.

2015-02-12 Thread Dimitri John Ledkov
On 11 February 2015 at 20:43, Lennart Poettering lenn...@poettering.net wrote:
 On Thu, 05.02.15 16:11, Dimitri John Ledkov (dimitri.j.led...@intel.com) 
 wrote:


 -static int get_config_path(UnitFileScope scope, bool runtime, const char 
 *root_dir, char **ret) {
 +static int get_config_path(UnitFileScope scope, bool runtime, bool preset, 
 const char *root_dir, char **ret) {
  char *p = NULL;
  int r;

 @@ -71,7 +71,10 @@ static int get_config_path(UnitFileScope scope, bool 
 runtime, const char *root_d
  case UNIT_FILE_SYSTEM:

  if (runtime)
 -p = path_join(root_dir, /run/systemd/system, 
 NULL);
 +if (preset)
 +p = path_join(root_dir, 
 /run/systemd/system-preset-transient, NULL);
 +else
 +p = path_join(root_dir,
 /run/systemd/system, NULL);

 Hmm, shouldn't we just apply this directly to /run/systemd/system?
 There's no real need to keep this separate?

 I mean if the user shall be able to undo changes made by these presets
 with systemctl --runtime disable it would be good not to introduce a
 new dir for all of this...

Yes, we can reuse existing dir for this. But was not entirely sure
about that initially when writting this, would simplify a few things
in this patch.

-- 
Regards,

Dimitri.

Intel Corporation (UK) Ltd. - Co. Reg. #1134945 - Pipers Way, Swindon SN3 1RJ.
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


Re: [systemd-devel] [PATCH] Re: fstab mounts get unmounted during boot (.device unit bouncing?) -- solution

2015-02-12 Thread Martin Pitt
Lennart Poettering [2015-02-12 11:22 +0100]:
  To make systemd robust against this, I fixed
  mount_load_proc_self_mountinfo() to actually do what it intends to do,
  instead of loading /etc/mtab (which is still util-linux' default for
  mnt_table_parse_mtab()).
 
 Urks, we never want to read /etc/mtab from PID 1, indeed. I am a bit
 puzzled by mnt_table_parse_mtab() thiugh. The name suggests it parses
 /etc/mtab files (which have the same format as /proc/self/mounts). But
 Can we really just arse /proc/self/mountinfo to it, which has a very
 different format?

Yes, it arses it just fine :-) It supports the mtab, the fstab, and
the mountinfo format:

  
https://github.com/karelzak/util-linux/blob/master/libmount/src/tab_parse.c#L1047

If you don't specify a file name, it defaults to /etc/mtab;
mnt_has_regular_mtab() checks if /etc/mtab is a regular file, and if
so, parses it as mtab format; if it's a symlink, then
mnt_has_regular_mtab() is false. (See
https://github.com/karelzak/util-linux/blob/master/libmount/src/utils.c#L772)

If the passed filename (or /etc/mtab default) is a symlink, it falls
back to line 1068 ff. where it ignores filename entirely. It first
tries to parse /proc/self/mountinfo as MNT_FMT_MOUNTINFO, and if that
fails, it falls back to parsing /proc/mounts (in old _PATH_PROC_MOUNTS
format, i. e. mtab).

So it doesn't matter that much what filename is, as long as it's not
NULL or /etc/mtab, but for readability I still suggest using
/proc/self/mountinfo, as that's what it will actually end up
reading.

FTR, I added a log_debug() to it (not contained in the submitted
patch) and tested it with regular /etc/mtab, a symlink to /proc/mounts
and a symlink to /proc/self/mountinfo, and it comes out just fine.

Thanks,

Martin

-- 
Martin Pitt| http://www.piware.de
Ubuntu Developer (www.ubuntu.com)  | Debian Developer  (www.debian.org)
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


Re: [systemd-devel] [PATCH] Re: fstab mounts get unmounted during boot (.device unit bouncing?) -- solution

2015-02-12 Thread Karel Zak
On Thu, Feb 12, 2015 at 10:40:15AM +0100, Martin Pitt wrote:
 So explicitly specify the file that we actually want to parse.
 
 [1] first boot after a distro upgrade, or a package bug, or administrators
 configuring it explicitly for some reason
 
 https://launchpad.net/bugs/1419623
 ---
  src/core/mount.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/src/core/mount.c b/src/core/mount.c
 index f3977e6..61fd526 100644
 --- a/src/core/mount.c
 +++ b/src/core/mount.c
 @@ -1566,7 +1566,7 @@ static int mount_load_proc_self_mountinfo(Manager *m, 
 bool set_flags) {
  if (!tb || !itr)
  return log_oom();
  
 -r = mnt_table_parse_mtab(tb, NULL);
 +r = mnt_table_parse_mtab(tb, /proc/self/mountinfo);


This is bad solution. It resolves the issue, but forces libmount to
not read /run/mount/utab.

It would be better to ignore this problem for now, I'll very probably
add a new build-system option to disable libmount mtab parsing at all.
The heuristic which libmount uses to decide between mtab and mountinfo
is unnecessary in mainstream distros.

Karel

-- 
 Karel Zak  k...@redhat.com
 http://karelzak.blogspot.com
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


Re: [systemd-devel] [PATCH] Re: fstab mounts get unmounted during boot (.device unit bouncing?) -- solution

2015-02-12 Thread Martin Pitt
Hey Karel,

Karel Zak [2015-02-12 12:25 +0100]:
  -r = mnt_table_parse_mtab(tb, NULL);
  +r = mnt_table_parse_mtab(tb, /proc/self/mountinfo);
 
 
 This is bad solution. It resolves the issue, but forces libmount to
 not read /run/mount/utab.

Can you please explain why? As far as I can see,
__mnt_table_parse_mtab() only skips reading /run/mount/utab if
reading /proc/self/mountinfo fails and it falls back to reading
/proc/mounts (as it immediately returns there in all cases, not just
in the failure case). This is probably unintended and a bug.

But we shouldn't actually hit that here, as we actually do expect
/proc/self/mountinfo to exist (systemd references it in a gazillion
places).

I. e. whether you pass NULL or /proc/self/mountinfo should not make
a difference if /etc/mtab is a symlink to /proc (as it should be the
case on every systemd installation) -- this patch would simply be a
no-op, as it would run the same code paths in libmount with and
without the patch. And if /etc/mtab is a file, then without the patch
it does mnt_table_parse_file(/etc/mtab) and then parses the utab, and
with the patch it parses /proc/self/mountinfo and then the utab.

So what goes wrong here?

Thanks,

Martin

-- 
Martin Pitt| http://www.piware.de
Ubuntu Developer (www.ubuntu.com)  | Debian Developer  (www.debian.org)
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


Re: [systemd-devel] [PATCH] preset-transient

2015-02-12 Thread Dimitri John Ledkov
On 11 February 2015 at 20:40, Lennart Poettering lenn...@poettering.net wrote:
 On Thu, 05.02.15 16:11, Dimitri John Ledkov (dimitri.j.led...@intel.com) 
 wrote:

 Some context for this patch.

 I would like to support a new preset model, which has the following 
 properties:

  - distribution shipped defaults are enabled
  - and are applied to each boot/upgrade
  - without overriding any user configuration

 In many ways it is very similar to existing functionality but not
 quite possible to achieve all of the above.

 Thus, I'm introducing a new optional functionality, new unit
 configuration directory, and new transient-preset configurations.

 On each boot, if TransientPreset=yes, presets from
 /usr/lib/systemd/system-preset-transient/*.preset are applied into
 configuration path /run/systemd/system-preset-transient/.

 Why do we need an option for this? Can't the logic be to do this
 unconditionally if the /run/systemd/system-preset-transient/ dir
 exists and is non-empty?


Well /run/systemd/system-preset-transient/ does not exist on boot, but
rather created when transient-presets are applied. I guess, it's a
typo, and you meant /usr/lib/systemd/system-preset-transient dir
exists and is non-empty. That would be good, however, unlike normal
presets it would not give the user option to opt-into/opt-out as
easily. (With normal presets /etc/machine-id is the flag file, which
is accessible to the user to provision/unprovision, together with any
desired overrides in /etc/systemd/system-preset/*.preset).

Would it be good if I change this portion of the patch logic as follows:
* drop all the configure/option flag cruft
* if /usr/lib/systemd/system-preset-transient/ or
/etc/systemd/system-preset-transient exist and are not empty - run
transient presets

The logic to apply system-presets remains the same. If a distro
chooses not to use system-presets, it should either guarantee
pre-generated /etc/machine-id, or ship disable * preset policy.

 Configuration options are for user/admins, but I am pretty sure this
 is a distro choice, not something the admin should be able to toggle
 without change the distro.

It is a distro choice to use presets, transient-presets, or both.
However, it seemed to me at the time that it should be offered to the
user to opt-out of distro choice, or opt-in into things not enabled by
distro. Thus I made it very explicit transient-presets config option.
I guess autodetecting them is mode of least surprise.

-- 
Regards,

Dimitri.

Intel Corporation (UK) Ltd. - Co. Reg. #1134945 - Pipers Way, Swindon SN3 1RJ.
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


Re: [systemd-devel] [PATCH 4/4] Always use recvmsg with MSG_CMSG_CLOEXEC

2015-02-12 Thread Lennart Poettering
On Tue, 10.02.15 21:26, Lennart Poettering (lenn...@poettering.net) wrote:

 On Tue, 10.02.15 12:06, Cristian Rodríguez (crrodrig...@opensuse.org) wrote:
 
 Well, all but two of these recvmsg() invocations apply to network
 sockets, which cannot receive fds, hence specifying the flag is kinda
 pointless...
 
 For the other two cases we should probably close all fds we
 receive... I mean receiving them and not doing anything with them is
 not any worse or better as doing so and having O_CLOEXEC set for
 them...
 
 That said, I think it probably makes sense to enforce the general rule
 that recvmsg() must be invoked with MSG_CMSG_CLOEXEC, hence I applied
 your patch and updated the CODING_STYLE to mention this.

And reverted again. It's not OK apparently to pass MSG_CMSG_CLOEXEC
for to recvmsg() on raw sockets and suchlike...

BTW: It is greatly appreciated to test patches before submitting
them. Thanks!

Lennart

-- 
Lennart Poettering, Red Hat
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


Re: [systemd-devel] [PATCH v3] Added support for Uplink Failure Detection using BindCarrier

2015-02-12 Thread Zbigniew Jędrzejewski-Szmek
On Thu, Feb 12, 2015 at 08:56:00AM +, Rauta, Alin wrote:
  Well, one option could be to keep a set of bound_by and bound_to links
  around for each link, and then just update that each time an interface
  comes, goes, or changes names.
 
 Yes, but the updates need to be done for all links and I'm not sure adding 
 this is a good thing.
 I'm now having 64 links on the switch and I need the failure detection in 
 networkd to be quite fast because however even now it's probably slower due 
 to evaluating dynamically the BindCarrier strings when comparing this with 
 the previous solution with an UFD group monitoring some interfaces and with 
 some internal counters knowing exactly when to issue link_down for an 
 interface. So adding bound_by and bound_to makes the solution even slower.

How many times per second will you be avaluating this?

 Besides this, having only one function sd_network_link_get_carrier_bound_to 
 makes also sense because only the behavior of bond_to links is controlled 
 by this feature. bound_by means almost nothing for an interface. A tool 
 like networkctl may take into account to display only the bound_to links 
 because that's what's relevant. The fact that networkctl displays both 
 bound_to and bound_by it's a good thing, but it doesn't mean each tool 
 should do that.

If a link goes down, isn't the bound_by list useful to look at links
which need to be checked and potentiallly brought down?

Zbyszek

 
 /Alin
 
 -Original Message-
 From: Lennart Poettering [mailto:lenn...@poettering.net] 
 Sent: Wednesday, February 11, 2015 6:03 PM
 To: Rauta, Alin
 Cc: zbys...@in.waw.pl; t...@jklm.no; systemd-devel@lists.freedesktop.org; 
 Kinsella, Ray
 Subject: Re: [PATCH v3] Added support for Uplink Failure Detection using 
 BindCarrier
 
 On Wed, 11.02.15 17:44, Rauta, Alin (alin.ra...@intel.com) wrote:
 
  Hi Lennart,
  
   +_public_ int sd_network_link_get_carriers(int ifindex, char ***ret) {
   +return network_get_link_strv(CARRIERS, ifindex, ret); }
   +
  
I think it would be better to have two calls here:
  
 int sd_network_link_get_carrier_bound_to(int ifindex, int **others);
 int sd_network_link_get_carrier_bound_by(int ifindex, int 
   **others);
  
  In terms of functionality,  sd_network_link_get_carriers  is 
  actually  sd_network_link_get_carrier_bound_to and is applicable to 
  bound to links just like BindCarrier= is available only for bound 
  to links. I wanted to save to systemd run files just minimum info.
  
  If I add sd_network_link_get_carrier_bound_by, then each time 
  link_save is called for a link I should query BindCarrier=s for 
  all interfaces to print each link that bounds the current interface.
  Then, if I rename a link I should call link_save for all available 
  links because the BindCarrier= can be interpreted in another way due 
  to wildcards.
 
 Well, one option could be to keep a set of bound_by and bound_to links around 
 for each link, and then just update that each time an interface comes, goes, 
 or changes names. That way you always have direct access to the bound links, 
 and don't have to resolve the globs each time you need them, but only when 
 they actually change?
 
 The reason why I figured having two calls for this would be useful is simply 
 to make it easy to write tools like networkctl, which wants to show this 
 information in both directions for each interface...
 
   +/* get the links that are bound to this port. */ static int 
   +get_downlinks(const char *name,
   + sd_rtnl_message *m,
   + LinkInfo **downlinks,
   + int *down_count) {
  
  Regarding get_uplinks and get_downlinks I can rename them to 
  get_links_bound_to and get_links_bound_by. Would this be fine ?
 
 Sure!
 
 But before you rework any of this, let's see what Tom has to say, he's the 
 networkd maintainer...
 
 Lennart
 
 --
 Lennart Poettering, Red Hat
 
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


Re: [systemd-devel] [PATCH] Re: fstab mounts get unmounted during boot (.device unit bouncing?) -- solution

2015-02-12 Thread Lennart Poettering
On Thu, 12.02.15 10:40, Martin Pitt (martin.p...@ubuntu.com) wrote:

 So right after we popped out of initramfs (which doesn't have an
 fstab, nor /etc/mtab, nor does it do anything else than mouting /
 read-only) we see all these mounts which can't possibly happen that
 early -- e. g. run-user-115.mount or /home/martin (which is on
 ecryptfs). So I finally discovered that a packaging bug in
 lxcfs turned /etc/mtab from a /proc/mounts symlink back into a file,
 and mount_load_proc_self_mountinfo() parsed that to instantiate all
 those mounts from the previous boot into mount unit, causing that
 effect.
 
 So of course we'll fix that packaging bug, but there are still times
 when /etc/mtab might be a file; e. g. the first time you boot systemd
 after an upgrade.
 
 To make systemd robust against this, I fixed
 mount_load_proc_self_mountinfo() to actually do what it intends to do,
 instead of loading /etc/mtab (which is still util-linux' default for
 mnt_table_parse_mtab()).

Urks, we never want to read /etc/mtab from PID 1, indeed. I am a bit
puzzled by mnt_table_parse_mtab() thiugh. The name suggests it parses
/etc/mtab files (which have the same format as /proc/self/mounts). But
Can we really just arse /proc/self/mountinfo to it, which has a very
different format?

Karel, can you elaborate on this?

I raelly want to keep /etc/mtab out of all codepaths in PID 1. What's
the right way to do that with libmnt? We want only the stuff from
/proc/self/mountinfo, plus the stuff from /run, merged into one!

Karel, is this patch by Martin what we should be doing?

 From 4d3bcd8cec801d7a2a773388ae281ca692a7f2d5 Mon Sep 17 00:00:00 2001
 From: Martin Pitt martin.p...@ubuntu.com
 Date: Thu, 12 Feb 2015 10:30:00 +0100
 Subject: [PATCH] core/mount: ensure that we parse /proc/self/mountinfo
 
 util-linux' mnt_table_parse_mtab() still defaults to parsing /etc/mtab. So if
 that is a file [1] , we parse outdated information during boot, leading to 
 creating
 mount units for nonexisting mounts which later have to get cleaned up. The
 cleanup races with mounting them from fstab, which sometimes causes fstab
 mounts to get unmounted again during boot.
 
 So explicitly specify the file that we actually want to parse.
 
 [1] first boot after a distro upgrade, or a package bug, or administrators
 configuring it explicitly for some reason
 
 https://launchpad.net/bugs/1419623
 ---
  src/core/mount.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/src/core/mount.c b/src/core/mount.c
 index f3977e6..61fd526 100644
 --- a/src/core/mount.c
 +++ b/src/core/mount.c
 @@ -1566,7 +1566,7 @@ static int mount_load_proc_self_mountinfo(Manager *m, 
 bool set_flags) {
  if (!tb || !itr)
  return log_oom();
  
 -r = mnt_table_parse_mtab(tb, NULL);
 +r = mnt_table_parse_mtab(tb, /proc/self/mountinfo);
  if (r  0)
  return r;
  
 -- 
 2.1.4
 


Lennart

-- 
Lennart Poettering, Red Hat
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


Re: [systemd-devel] [PATCH] Re: fstab mounts get unmounted during boot (.device unit bouncing?) -- solution

2015-02-12 Thread Karel Zak
On Thu, Feb 12, 2015 at 12:25:33PM +0100, Karel Zak wrote:
 On Thu, Feb 12, 2015 at 10:40:15AM +0100, Martin Pitt wrote:
  So explicitly specify the file that we actually want to parse.
  
  [1] first boot after a distro upgrade, or a package bug, or administrators
  configuring it explicitly for some reason
  
  https://launchpad.net/bugs/1419623
  ---
   src/core/mount.c | 2 +-
   1 file changed, 1 insertion(+), 1 deletion(-)
  
  diff --git a/src/core/mount.c b/src/core/mount.c
  index f3977e6..61fd526 100644
  --- a/src/core/mount.c
  +++ b/src/core/mount.c
  @@ -1566,7 +1566,7 @@ static int mount_load_proc_self_mountinfo(Manager *m, 
  bool set_flags) {
   if (!tb || !itr)
   return log_oom();
   
  -r = mnt_table_parse_mtab(tb, NULL);
  +r = mnt_table_parse_mtab(tb, /proc/self/mountinfo);
 
 
 This is bad solution. It resolves the issue, but forces libmount to
 not read /run/mount/utab.
 
 It would be better to ignore this problem for now, I'll very probably
 add a new build-system option to disable libmount mtab parsing at all.
 The heuristic which libmount uses to decide between mtab and mountinfo
 is unnecessary in mainstream distros.

I will also improve mnt_table_parse_mtab() to check if we read the
filesystems from kernel (from /proc) and if yes than it will always
read /run/mount/utab too. The result will be more robust for people
who use libmount with mtab parsing code.

Karel

-- 
 Karel Zak  k...@redhat.com
 http://karelzak.blogspot.com
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


Re: [systemd-devel] [PATCH] preset-transient

2015-02-12 Thread Lennart Poettering
On Thu, 12.02.15 11:05, Dimitri John Ledkov (dimitri.j.led...@intel.com) wrote:

 On 11 February 2015 at 20:51, Lennart Poettering lenn...@poettering.net 
 wrote:
  On Fri, 06.02.15 20:28, Dimitri John Ledkov (dimitri.j.led...@intel.com) 
  wrote:
 
   Hum, we told at the sprint that we wanted to be that available for 
   everyone,
   and not having any conditions. Distros which still desires only the 
   existing
   behavior would not ship files in *-preset-transient directories.
 
  Running any presets commands unconditionally, without any preset
  configuration is harmful.
  Prime example, if one doesn't ship any .preset (even the one that
  comes with systemd) shutdown.target gets activated and all that system
  does on boot is going to shutdown straight away.
 
  Hmm, not following? Can you elaborate?
 
 
 With this patch, (as is, without taking all of the above mentioned feedback)
 AND
 transient-presets enabled via config option
 AND
 no .preset files shipped at all for neither of preset types
 AND
 no machine-id
 
  one will not be able to boot =) i guess, this only points
 stronger to distro should be configured sanely and this is not a
 toggle to play with.

Actually systemd should be able to boot fine with a disable *
policy, i.e. zero services enabled. The really essential services are
enabled statically anyway...

 (It seems like, after enable * a few things are enabled - e.g.
 debug-shell.service console-shell.service, the boot reaches multiuser
 target and one sees maintainance prompt, after which the system goes
 to poweroff. I'm not quite sure how to debug this better, but my
 suspicion is that console-shell is stopped, which has
 ExecStopPost=-/usr/bin/systemctl poweroff. Maybe this is simply a bug
 in some of the default units. Is enable * alone default policy
 actually supported?)

Hmm, we explicitly disable debug-shell and console-shell in
90-systemd.preset to avoid confusion about these services...

Lennart

-- 
Lennart Poettering, Red Hat
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


Re: [systemd-devel] [PATCH] Re: fstab mounts get unmounted during boot (.device unit bouncing?) -- solution

2015-02-12 Thread Martin Pitt
Martin Pitt [2015-02-12 12:40 +0100]:
 Can you please explain why?

Nevermind, I see it now. So what actually would work is to call it
with a nonexisting file, a directory, a symlink, or just about
anything else which isn't a regular file. Thus
mnt_table_parse_mtab(tb, /) would actually work equally well and
would read utab again, but it's of course an ugly workaround..

Thanks for the IRC explanation!

Martin

-- 
Martin Pitt| http://www.piware.de
Ubuntu Developer (www.ubuntu.com)  | Debian Developer  (www.debian.org)
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


Re: [systemd-devel] Failed units and Unit type .busname is not supported on this system

2015-02-12 Thread Zbigniew Jędrzejewski-Szmek
On Thu, Feb 12, 2015 at 10:28:10AM +0100, Tom Gundersen wrote:
  Just an update on the above. unit type .busname is not supported on
  this system isn't the cause of the problem that I was seeing (I still
  don't know why this appears or if it is significant in other ways but it
  would appear not to be so).
 
 Most probably this was caused by the lack of a conditional in
 systemd-networkd.busname (which was fixed a few days ago). Either way
 it is not important (as you don't appear to be using kdbus).
...and it can be fixed by finding all .busname units ('systemctl
list-unit-files -t busname') and deleting them.

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


Re: [systemd-devel] avahi disconnects from bus with kdbus

2015-02-12 Thread Daniel Buch
No problem, i will try do some extensive testing the next couple of days.
kdbus is now added to kernel entry cmdline :)

2015-02-12 19:12 GMT+01:00 David Herrmann dh.herrm...@gmail.com:

 Hi

 On Wed, Feb 11, 2015 at 11:17 AM, Daniel Buch boogiewasth...@gmail.com
 wrote:
  Nice, everything works flawlessly with current git now. Good job!

 Thanks for testing! No idea which commit exactly fixed it, so if you
 see it again, please let us know.

 Thanks
 David

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


[systemd-devel] systemd-networkd mysteriously shutting down after launch

2015-02-12 Thread Keller, Jacob E
On Thu, 2015-02-12 at 20:15 +0100, Tom Gundersen wrote:
 On Thu, Feb 12, 2015 at 7:28 PM, Keller, Jacob E

Now I'm having an interesting issue with the current git of
systemd-networkd... It works just fine on load, and I get an ip address
and everything is happy. After some amount of time, systemd-networkd
goes into shutting down.. and I lose my ip address.. There is nothing
obvious in the log to indicate that it was turned off.

Any suggestions? I'm capturing a clean boot with the issue with
SYSTEMD_LOG_LEVEL=debug enabled for more information now.

Regards,
Jake
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


Re: [systemd-devel] systemd-networkd mysteriously shutting down after launch

2015-02-12 Thread Keller, Jacob E
On Thu, 2015-02-12 at 22:30 +, Keller, Jacob E wrote:
 On Thu, 2015-02-12 at 20:15 +0100, Tom Gundersen wrote:
  On Thu, Feb 12, 2015 at 7:28 PM, Keller, Jacob E
 
 Now I'm having an interesting issue with the current git of
 systemd-networkd... It works just fine on load, and I get an ip address
 and everything is happy. After some amount of time, systemd-networkd
 goes into shutting down.. and I lose my ip address.. There is nothing
 obvious in the log to indicate that it was turned off.
 
 Any suggestions? I'm capturing a clean boot with the issue with
 SYSTEMD_LOG_LEVEL=debug enabled for more information now.
 
 Regards,
 Jake

Here's the output... of systemctl status and journalctl after a boot
up..

My suspicion is that these lines are somehow related to the shutdown:

Feb 12 14:31:02 jekeller-copperpass systemd-networkd[1012]: Sent message 
type=method_call sender=n/a destination=org.freedesktop.DBus 
object=/org/freedesktop/DBus interface=org.freedesktop.DBus member=AddMatch 
cookie=26 reply_cookie=0 error=n/a
Feb 12 14:31:02 jekeller-copperpass systemd-networkd[1012]: Sent message 
type=method_call sender=n/a destination=org.freedesktop.DBus 
object=/org/freedesktop/DBus interface=org.freedesktop.DBus member=ReleaseName 
cookie=27 reply_cookie=0 error=n/a
Feb 12 14:31:02 jekeller-copperpass systemd-networkd[1012]: Got message 
type=signal sender=org.freedesktop.DBus destination=:1.3 
object=/org/freedesktop/DBus interface=org.freedesktop.DBus member=NameLost 
cookie=7 reply_cookie=0 error=n/a
Feb 12 14:31:02 jekeller-copperpass systemd-networkd[1012]: Got message 
type=signal sender=org.freedesktop.DBus destination=n/a 
object=/org/freedesktop/DBus interface=org.freedesktop.DBus 
member=NameOwnerChanged cookie=11 reply_cookie=0 error=n/a
Feb 12 14:31:02 jekeller-copperpass systemd-networkd[1012]: DHCP CLIENT 
(0x926441b5): FREE

I'm unsure what this is, 

-- Logs begin at Mon 2012-12-31 20:02:09 PST, end at Thu 2015-02-12 14:32:54 
PST. --
Feb 12 14:30:17 jekeller-copperpass systemd[1]: Starting Network Service...
Feb 12 14:30:18 jekeller-copperpass systemd-networkd[1012]: Sent message 
type=method_call sender=n/a destination=org.freedesktop.DBus 
object=/org/freedesktop/DBus interface=org.freedesktop.DBus member=Hello 
cookie=1 reply_cookie=0 error=n/a
Feb 12 14:30:18 jekeller-copperpass systemd-networkd[1012]: Got message 
type=method_return sender=org.freedesktop.DBus destination=:1.3 object=n/a 
interface=n/a member=n/a cookie=1 reply_cookie=1 error=n/a
Feb 12 14:30:18 jekeller-copperpass systemd-networkd[1012]: Sent message 
type=method_call sender=n/a destination=org.freedesktop.DBus 
object=/org/freedesktop/DBus interface=org.freedesktop.DBus member=AddMatch 
cookie=2 reply_cookie=0 error=n/a
Feb 12 14:30:18 jekeller-copperpass systemd-networkd[1012]: Sent message 
type=method_call sender=n/a destination=org.freedesktop.DBus 
object=/org/freedesktop/DBus interface=org.freedesktop.DBus member=RequestName 
cookie=3 reply_cookie=0 error=n/a
Feb 12 14:30:18 jekeller-copperpass systemd-networkd[1012]: timestamp of 
'/etc/systemd/network' changed
Feb 12 14:30:18 jekeller-copperpass systemd-networkd[1012]: timestamp of 
'/usr/lib/systemd/network' changed
Feb 12 14:30:18 jekeller-copperpass systemd-networkd[1012]: ens9: 
flags change: +MULTICAST +BROADCAST
Feb 12 14:30:18 jekeller-copperpass systemd-networkd[1012]: ens9: 
link 7 added
Feb 12 14:30:18 jekeller-copperpass systemd-networkd[1012]: device 
0x7fd996e0 has devpath 
'/devices/pci:00/:00:02.0/:06:00.0/:07:09.0/:09:00.0/net/ens9'
Feb 12 14:30:18 jekeller-copperpass systemd-networkd[1012]: device 
0x7fd996e0 filled with db file data
Feb 12 14:30:18 jekeller-copperpass systemd-networkd[1012]: ens9: 
udev initialized link
Feb 12 14:30:18 jekeller-copperpass systemd-networkd[1012]: ens9: 
saved original MTU: 1500
Feb 12 14:30:18 jekeller-copperpass systemd-networkd[1012]: ens8: 
flags change: +MULTICAST +BROADCAST
Feb 12 14:30:18 jekeller-copperpass systemd-networkd[1012]: ens8: 
link 6 added
Feb 12 14:30:18 jekeller-copperpass systemd-networkd[1012]: device 
0x7fd991112df0 has devpath 
'/devices/pci:00/:00:02.0/:06:00.0/:07:08.0/:08:00.0/net/ens8'
Feb 12 14:30:18 jekeller-copperpass systemd-networkd[1012]: device 
0x7fd991112df0 filled with db file data
Feb 12 14:30:18 jekeller-copperpass systemd-networkd[1012]: ens8: 
udev initialized link
Feb 12 14:30:18 jekeller-copperpass systemd-networkd[1012]: ens8: 
saved original MTU: 1500
Feb 12 14:30:18 jekeller-copperpass systemd-networkd[1012]: enp4s0f3: 
flags change: +MULTICAST +BROADCAST
Feb 12 14:30:18 jekeller-copperpass systemd-networkd[1012]: enp4s0f3: 
link 5 added
Feb 12 14:30:18 jekeller-copperpass systemd-networkd[1012]: device 
0x7fd991114470 has devpath 
'/devices/pci:00/:00:01.1/:04:00.3/net/enp4s0f3'
Feb 12 

Re: [systemd-devel] What's the correct way to configure encrypted volume and mount point?

2015-02-12 Thread John Lane
On 11/02/15 20:03, Lennart Poettering wrote:

 Well, no. It would add Wants= and After=, instead of Requires= and
 After=. But I figure what you wrote was just a typo?
yes what you say is what I meant.
 I think we should switch over to use WantsMountsFor for this
 unconditionally. After all we can always query the user as fallback...
that sounds sensible.

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


Re: [systemd-devel] Changing how localed writes keymap for xorg

2015-02-12 Thread Colin Guthrie
Hi,

[You can skip the middle hunk of this reply if you're not too interested
in use-case; it just gives some background. There are more important
questions towards the end tho' which I'd really appreciate feedback on!
Thanks!]

Peter Hutterer wrote on 11/02/15 22:30:
 On Wed, Feb 11, 2015 at 02:18:12PM +, Colin Guthrie wrote:
 CC'ing Peter Hutterer as the xorg input guy for his thoughts :)

 Lennart Poettering wrote on 11/02/15 11:46:
 On Wed, 11.02.15 10:43, Colin Guthrie (gm...@colin.guthr.ie) wrote:

 Hi,

 I've recently run into an annoying problem with the localed xorg.conf
 snippet.

 As it writes an xorg.conf.d snippet, this seems ot take priority over
 udev properties (xkblayout) etc. which Xorg has supported for some time.

 If x starts with this snippet in place and it has a layout of e.g us,
 but then, later a keyboard with a udev property of xkblayout fr is
 plugged in (don't worry about where that property comes from, this is a
 supported feature of the config/udev.c in xserver), it will still get
 the us keymap. This sucks!

 udev is not a place for configuration really. I mean, in a few cases
 (like seat assignments) it is what we do, but in general: no it's not
 the place for end-user configuration. 

 I am pretty sure that people want to assign keymaps with udev rules,
 are smart enough to remove the config snippet localed has written.

 Yeah, I'm sure they are smart enough... until localed kicks in and
 writes it again just because the user has logged into some other DE for
 a while
 
 IMO, this is because you're using it the wrong way around. The decision we
 made when introducing xorg.conf.d snippets ~6 years ago was that
 configuration overrides any system stuff. I was never a big fan of udev
 setting xkb layouts directly but it was needed for Debian at the time
 (iirc) and it's been there ever since. We don't support any other option
 being set in udev directly.

Thanks for sharing the background. I quite liked the idea generally, but
it's interesting to note both yourself and Lennart aren't big fans!

 The correct approach to configuration like you want it is to write an
 xorg.conf.d snippet. localed uses the 00 prefix for a reason, so it can be
 overwritten by anything that sorts higher. you can easily emulate the static
 defaults by having a udev PROGRAM rule that drops a 01-... xorg.conf.d
 snippet.

Yeah, I'm not really complaining about the snippet existing with 00, or
the ability to override that snippet (I specifically *don't* want to
override that snippet with another snippet in fact - I just don't like
the fact that udev properties (which are easier to change dynamically
and are read on hotplug events) override this init-time static config. I
get why it's done that way round and will not push to change it. It's
just annoying in this use case (see below for further explanation if
you're curious).

 Also, anything plugged in to Xorg after running localectl (thus updating
 00-keyboard.conf) will also get the us keymap (as that was what was in
 place at Xorg init time).

 Wouldn't it be better to do the following:

 1. deprecate the 00-keyboard.conf xorg.conf.d file
 2. Instead apply the locale settings in udev via xkb* properties

 No, certainly not. The Xorg fragment is actual
 configuration. Configuration should beat the rulesets really, which
 carry device metadata. 

 Well, I don't disagree, but it would be nice to have a way such that
 inserting a new USB keyboard after configuring the global default, that
 it *actually* takes effect. Currently, without some other layer on top
 (as in GNOME), localed does not achieve this, but the udev approach does.

 To summarise: currently localed requires an Xorg restart for the
 defaults to be used which is not very dynamic and hotpluggy which is
 the usual systemd mantra! Using udev rules would allow this to be
 dynamically supported out of the box - but it is arguably the wrong
 place to store configuration.
 
 It would also be inconsistent. X only reads config files on startup. You may
 want to configure other things at runtime like tapping, scrolling, or even
 what devices are to be ignored. All of this only takes effect on server
 restart.

Fair point.

 at which point we need to ask the question: what makes keyboards so special?
 and the answer seems to be that your DE doesn't support hotplugged
 keyboards, per-user keyboard settings, etc. So it feels to me, and correct
 me if I'm wrong here, that you want to reshape the default handling so you
 don't have to fix it in your DE (I don't actually know which one you're
 using, sorry).

Yeah, I kinda left that out deliberately as the use case is a bit
special. This is basically a pre-DE mini-wizard that kicks in in live
mode to ask the user what their locale is, setup the language, timezone
and keyboard and then boots into the DE of choice, whether it be GNOME,
or KDE or something else (those two being the main ones).

In the case of GNOME, setting the keymap and such is 

Re: [systemd-devel] [PATCH v3] Added support for Uplink Failure Detection using BindCarrier

2015-02-12 Thread Rauta, Alin
 Well, one option could be to keep a set of bound_by and bound_to links
 around for each link, and then just update that each time an interface
 comes, goes, or changes names.

Yes, but the updates need to be done for all links and I'm not sure adding this 
is a good thing.
I'm now having 64 links on the switch and I need the failure detection in 
networkd to be quite fast because however even now it's probably slower due to 
evaluating dynamically the BindCarrier strings when comparing this with the 
previous solution with an UFD group monitoring some interfaces and with some 
internal counters knowing exactly when to issue link_down for an interface. 
So adding bound_by and bound_to makes the solution even slower.

Besides this, having only one function sd_network_link_get_carrier_bound_to 
makes also sense because only the behavior of bond_to links is controlled by 
this feature. bound_by means almost nothing for an interface. A tool like 
networkctl may take into account to display only the bound_to links because 
that's what's relevant. The fact that networkctl displays both bound_to and 
bound_by it's a good thing, but it doesn't mean each tool should do that.

/Alin

-Original Message-
From: Lennart Poettering [mailto:lenn...@poettering.net] 
Sent: Wednesday, February 11, 2015 6:03 PM
To: Rauta, Alin
Cc: zbys...@in.waw.pl; t...@jklm.no; systemd-devel@lists.freedesktop.org; 
Kinsella, Ray
Subject: Re: [PATCH v3] Added support for Uplink Failure Detection using 
BindCarrier

On Wed, 11.02.15 17:44, Rauta, Alin (alin.ra...@intel.com) wrote:

 Hi Lennart,
 
  +_public_ int sd_network_link_get_carriers(int ifindex, char ***ret) {
  +return network_get_link_strv(CARRIERS, ifindex, ret); }
  +
 
   I think it would be better to have two calls here:
 
int sd_network_link_get_carrier_bound_to(int ifindex, int **others);
int sd_network_link_get_carrier_bound_by(int ifindex, int 
  **others);
 
 In terms of functionality,  sd_network_link_get_carriers  is 
 actually  sd_network_link_get_carrier_bound_to and is applicable to 
 bound to links just like BindCarrier= is available only for bound 
 to links. I wanted to save to systemd run files just minimum info.
 
 If I add sd_network_link_get_carrier_bound_by, then each time 
 link_save is called for a link I should query BindCarrier=s for 
 all interfaces to print each link that bounds the current interface.
 Then, if I rename a link I should call link_save for all available 
 links because the BindCarrier= can be interpreted in another way due 
 to wildcards.

Well, one option could be to keep a set of bound_by and bound_to links around 
for each link, and then just update that each time an interface comes, goes, or 
changes names. That way you always have direct access to the bound links, and 
don't have to resolve the globs each time you need them, but only when they 
actually change?

The reason why I figured having two calls for this would be useful is simply to 
make it easy to write tools like networkctl, which wants to show this 
information in both directions for each interface...

  +/* get the links that are bound to this port. */ static int 
  +get_downlinks(const char *name,
  + sd_rtnl_message *m,
  + LinkInfo **downlinks,
  + int *down_count) {
 
 Regarding get_uplinks and get_downlinks I can rename them to 
 get_links_bound_to and get_links_bound_by. Would this be fine ?

Sure!

But before you rework any of this, let's see what Tom has to say, he's the 
networkd maintainer...

Lennart

--
Lennart Poettering, Red Hat
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


[systemd-devel] [PATCH] Re: fstab mounts get unmounted during boot (.device unit bouncing?) -- solution

2015-02-12 Thread Martin Pitt
Hello again,

Martin Pitt [2015-02-11 23:42 +0100]:
 Lennart Poettering [2015-02-11 17:05 +0100]:
  Actually, the fact that the unit changes directly from dead to
  mounted is interesting. The unit does not go through mounting,
  which means that it's not the unit that is invoking the /bin/mount
  command for this but something else.. Do you see anything about this
  in the logs?
 
 Thanks for that hint, that's really useful.

So it was! I looked again at the debug output, and this looked really
fishy:

[5.627882] donald systemd[1]: Successfully created private D-Bus server.
[5.627887] donald systemd[1]: var-tmp.mount changed dead - mounted
[5.628023] donald systemd[1]: run-user-115.mount changed dead - mounted
[5.628120] donald systemd[1]: home-martin.mount changed dead - mounted
[5.628202] donald systemd[1]: dev-mqueue.mount changed dead - mounted
[5.628285] donald systemd[1]: dev-hugepages.mount changed dead - mounted
[5.628367] donald systemd[1]: sys-fs-fuse-connections.mount changed dead - 
mounted
[5.628448] donald systemd[1]: -.mount changed dead - mounted
[5.628528] donald systemd[1]: srv.mount changed dead - mounted
[5.628609] donald systemd[1]: Unit srv.mount is bound to inactive service. 
Stopping, too.

So right after we popped out of initramfs (which doesn't have an
fstab, nor /etc/mtab, nor does it do anything else than mouting /
read-only) we see all these mounts which can't possibly happen that
early -- e. g. run-user-115.mount or /home/martin (which is on
ecryptfs). So I finally discovered that a packaging bug in
lxcfs turned /etc/mtab from a /proc/mounts symlink back into a file,
and mount_load_proc_self_mountinfo() parsed that to instantiate all
those mounts from the previous boot into mount unit, causing that
effect.

So of course we'll fix that packaging bug, but there are still times
when /etc/mtab might be a file; e. g. the first time you boot systemd
after an upgrade.

To make systemd robust against this, I fixed
mount_load_proc_self_mountinfo() to actually do what it intends to do,
instead of loading /etc/mtab (which is still util-linux' default for
mnt_table_parse_mtab()).

Et voilà, boot now always works again!

Martin

-- 
Martin Pitt| http://www.piware.de
Ubuntu Developer (www.ubuntu.com)  | Debian Developer  (www.debian.org)
From 4d3bcd8cec801d7a2a773388ae281ca692a7f2d5 Mon Sep 17 00:00:00 2001
From: Martin Pitt martin.p...@ubuntu.com
Date: Thu, 12 Feb 2015 10:30:00 +0100
Subject: [PATCH] core/mount: ensure that we parse /proc/self/mountinfo

util-linux' mnt_table_parse_mtab() still defaults to parsing /etc/mtab. So if
that is a file [1] , we parse outdated information during boot, leading to creating
mount units for nonexisting mounts which later have to get cleaned up. The
cleanup races with mounting them from fstab, which sometimes causes fstab
mounts to get unmounted again during boot.

So explicitly specify the file that we actually want to parse.

[1] first boot after a distro upgrade, or a package bug, or administrators
configuring it explicitly for some reason

https://launchpad.net/bugs/1419623
---
 src/core/mount.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/core/mount.c b/src/core/mount.c
index f3977e6..61fd526 100644
--- a/src/core/mount.c
+++ b/src/core/mount.c
@@ -1566,7 +1566,7 @@ static int mount_load_proc_self_mountinfo(Manager *m, bool set_flags) {
 if (!tb || !itr)
 return log_oom();
 
-r = mnt_table_parse_mtab(tb, NULL);
+r = mnt_table_parse_mtab(tb, /proc/self/mountinfo);
 if (r  0)
 return r;
 
-- 
2.1.4



signature.asc
Description: Digital signature
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


Re: [systemd-devel] multi-user.target only wants network.service if I'm doing 'systemct show runlevel3.target'

2015-02-12 Thread Lennart Poettering
On Thu, 12.02.15 05:38, Michael Biebl (mbi...@gmail.com) wrote:

 2015-02-11 20:12 GMT+01:00 Lennart Poettering lenn...@poettering.net:
  So, I have discussed this with Kay, David, Daniel, and co. And we
  kinda came to the conclusion that we might as well just drop the
  configurability where runlevel3-5.target point to. If we drop that, we
 
 Do you mean runlevel2-5, or is runlevel2 excluded for a reason?

No, that was just a typo...

Happy to take a patch for this...

Lennart

-- 
Lennart Poettering, Red Hat
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


Re: [systemd-devel] Removing unnecessary includes

2015-02-12 Thread Lennart Poettering
On Wed, 11.02.15 23:46, Thomas H.P. Andersen (pho...@gmail.com) wrote:

 On Wed, Feb 11, 2015 at 12:39 PM, Lennart Poettering
 lenn...@poettering.net wrote:
  On Wed, 11.02.15 01:40, Thomas H.P. Andersen (pho...@gmail.com) wrote:
 
  Yep. Makes sense.
 
  Here is a status on what I have done so far.
 
  include-what-you-want does the following:
  1) sorts the includes
  2) adds missing headers for any symbols used
  3) adds forward declarations
  4) removes any unused headers (after step 2+3)
  5) changes some headers. (only saw sys/poll.h to poll.h for now)
 
  The diff we get out of that is too big a mess to locate what we want:
  the currently unused headers. To break it up I first did the sorting
  in separate step. (I have a patch to commit after 219 for some minor
  issues that came up from that). I then started to look at all the
  removals and one by one see if they make sense today, or was due to
  step 2/3/5, or was something we want to keep like missing.h. It is
  slow manual work but I will get there.
 
  It would be helpful to know if we might want 2, 3, and 5 done?
 
  What precisely do you mean by 3?
 
 E.g. for src/journal/mmap-cache.h it replaces
 #include sys/stat.h
 by
 struct stat;
 
 since we only use the struct but none of the functions. Saves time
 including that header and anything it brings in with it.

Oh, no, that sounds like an awful idea... We want readable, minimal
sources, but certainly don't want to fine-tune compilation times with
concepts like this...

Lennart

-- 
Lennart Poettering, Red Hat
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


Re: [systemd-devel] Failed units and Unit type .busname is not supported on this system

2015-02-12 Thread John Lane
On 06/02/15 17:12, John Lane wrote:
 Good afternoon. I have some errors in the boot sequence of a newly built
 system:

 I see:

 systemd[1]: Unit type .busname is not supported on this system.

 then later on:

 systemd-networkd[278]: Assertion 'bus' failed at
 src/libsystemd/sd-bus/bus-util.c:105, function
 bus_event_loop_with_idle(). Aborting.
 systemd[1]: Unit systemd-networkd.service entered failed state
 systemd-networkd.service failed.

 and

 systemd-logind[565]: Failed to connect to system bus: No such file
 or directory
 systemd-logind[565]: Failed to fully start up daemon: No such file
 or directory
 Failed to start Login Service.

 My systemctl status shows a degraded status with 3 failed units being

   UNIT LOAD   ACTIVE SUBDESCRIPTION
 ● systemd-logind.service   loaded failed failed Login Service
 ● systemd-networkd.service loaded failed failed Network Service
 ● systemd-networkd.socket  loaded failed failed networkd rtnetlink socket

 However, it gets to the login prompt, I can log in and everything works
 (as far as I can tell).

 I assume that the failed units are a result of the busname is not
 supported on this system but I have no clue about what that means and
 what to do about it. Searches have turned up nothing.

 System details:
 Linux tsodium 3.18.5-1-ARCH #1 SMP PREEMPT Fri Jan 30 07:17:14 CET 2015
 i686 GNU/Linux
 systemd 218
 +PAM -AUDIT -SELINUX -IMA -APPARMOR -SMACK -SYSVINIT +UTMP
 +LIBCRYPTSETUP +GCRYPT -GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS
 +KMOD +IDN
 built today from systemd-git 218.944.g30ae637-1

 I am using a git checkout because I am using functionality that isn't in
 218.

 Any suggestions appreciated.

 John


 ___
 systemd-devel mailing list
 systemd-devel@lists.freedesktop.org
 http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Just an update on the above. unit type .busname is not supported on
this system isn't the cause of the problem that I was seeing (I still
don't know why this appears or if it is significant in other ways but it
would appear not to be so). The failed units were a consequence of me
using the ArchLinux systemd-git AUR package as part of a new system
build. It's dependency list had omitted dbus and this caused the above
breakages to occur do to the sysem not having dbus. Installing dbus
fixed it. Problem solved.

Unit type .busname is not supported on this system

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


Re: [systemd-devel] Failed units and Unit type .busname is not supported on this system

2015-02-12 Thread Lennart Poettering
On Thu, 12.02.15 09:23, John Lane (syst...@jelmail.com) wrote:

 Just an update on the above. unit type .busname is not supported on
 this system isn't the cause of the problem that I was seeing (I still
 don't know why this appears or if it is significant in other ways but it
 would appear not to be so).

To quote myself from an earlier mail:

   This may be ignored.

   .busname units are only supported on kdbus systems.

Lennart

-- 
Lennart Poettering, Red Hat
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


[systemd-devel] Whitespace in /etc/crypttab

2015-02-12 Thread John Lane
Good morning,

This just something I noticed recently: It doesn't seem to be possble to
use whitespace in /etc/cryptab, for example in partition labels.

Contrast with the similar /etc/fstab file which supports octal escape
(\040).

I see
http://cgit.freedesktop.org/systemd/systemd/commit/?id=84cc2abf3472b[1] that
PARTLABEL= is supported in /etc/cryptab although it isn't
documented[2]
http://www.freedesktop.org/software/systemd/man/crypttab.html.

[1] http://cgit.freedesktop.org/systemd/systemd/commit/?id=84cc2abf3472b
[2] http://www.freedesktop.org/software/systemd/man/crypttab.html

Take a label A B. This would have device symlink like

/dev/disk/by-partlabel/A\x20B

where A\x20B is the output of systemd-escape A B

Placing an entry in /etc/crypttab like

cryptvol PARTLABEL=A\040B none

results in device units like

dev-disk-by\x2dpartlabel-A\x5cx5c040B

I also tried A\x20B I get dev-disk-by\x2dpartlabel-A\x5cx5cx20B

GPT supports whitespace in partition labels. Is it possible to use
whitespace in PARTLABEL in /etc/crypttab?

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


[systemd-devel] Suspend from wireless keyboard not working

2015-02-12 Thread Gustavo De Nardin (spuk)
Hello.

I'm trying to make my notebook (Lenovo Thinkpad X230) suspend when pressing
the sleep extra key on a wireless keyboard (Logitech K270 using the
Logitech unifying receiver).

I've been able to map the sleep key to the 'pauseplay' action in a
'/etc/udev/hwdb.d/70-keyboard.hwdb' file, for testing, and it works (as
pause/play, of course), but when I map it to 'suspend', nothing happens.
Pressing the suspend key on the notebook's own keyboard works as expected
(out of the box, no messing from my part).

I'm running Arch Linux, systemd-218-1, no desktop environment, just
WindowMaker. /etc/logind.conf has HandleSuspendKey on default
('#HandleSuspendKey=suspend').

I also just learned from /usr/share/doc/systemd/NEWS that since v210 logind
won't suspend when the notebook has the lid closed and is on a docking
station, which is my case. But even testing with lid open and out of the
dock, it won't suspend from the wireless keyboard.

What else would be needed? Where/what should I look for?

Thanks.

t'

-- 
(nil)
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


[systemd-devel] kdbus in d-bus project

2015-02-12 Thread Steven Noonan
Hi all,

Is anyone maintaining a patch series against upstream d-bus for kdbus
integration? I checked the kdbus-dev branch linked to by the kdbus
Google Code page:

https://review.tizen.org/git/?p=platform/upstream/dbus.git;a=shortlog;h=refs/heads/kdbus-dev

But it hasn't been updated in over a year, and in that time kdbus has
changed almost completely (i.e. now is kdbusfs...).

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


Re: [systemd-devel] ExecStop IPC over same socket used for activation?

2015-02-12 Thread Chris Leech
On Wed, Feb 11, 2015 at 09:29:29PM +0100, Lennart Poettering wrote:
 Ineed, analysis seems correct. I now made this change:
 
 http://lists.freedesktop.org/archives/systemd-devel/2015-February/028058.html
 
 Didn't test it though, please test if this fixes things for you!

Thanks Lennart,

I ran a test script that usually reproduced the issue in less than a
minute for the past few hours without any issues.  Looks good to me.

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


[systemd-devel] [PATCH] bootchart: display each CPU utilization/wait

2015-02-12 Thread WaLyong Cho
---
 src/bootchart/bootchart.c| 38 +-
 src/bootchart/bootchart.conf |  1 +
 src/bootchart/bootchart.h|  1 +
 src/bootchart/svg.c  | 65 +---
 4 files changed, 70 insertions(+), 35 deletions(-)

diff --git a/src/bootchart/bootchart.c b/src/bootchart/bootchart.c
index b49e2c9..2c2b329 100644
--- a/src/bootchart/bootchart.c
+++ b/src/bootchart/bootchart.c
@@ -87,6 +87,7 @@ bool arg_filter = true;
 bool arg_show_cmdline = false;
 bool arg_show_cgroup = false;
 bool arg_pss = false;
+bool arg_percpu = false;
 int samples;
 int arg_samples_len = DEFAULT_SAMPLES_LEN; /* we record len+1 (1 start sample) 
*/
 double arg_hz = DEFAULT_HZ;
@@ -122,6 +123,7 @@ static void parse_conf(void) {
 { Bootchart, ScaleX,   config_parse_double, 0, 
arg_scale_x },
 { Bootchart, ScaleY,   config_parse_double, 0, 
arg_scale_y },
 { Bootchart, ControlGroup, config_parse_bool,   0, 
arg_show_cgroup },
+{ Bootchart, PerCPU,   config_parse_bool,   0, 
arg_percpu  },
 { NULL, NULL, NULL, 0, NULL }
 };
 
@@ -151,6 +153,7 @@ static void help(void) {
   -F, --no-filter   Disable filtering of unimportant or 
ephemeral processes\n
   -C, --cmdline Display full command lines with 
arguments\n
   -c, --control-group   Display process control group\n
+  --per-cpu Draw each CPU utilization and wait 
bar also\n
   -h, --helpDisplay this message\n\n
 See bootchart.conf for more information.\n,
 program_invocation_short_name,
@@ -163,20 +166,26 @@ static void help(void) {
 }
 
 static int parse_argv(int argc, char *argv[]) {
+
+enum {
+ARG_PERCPU,
+};
+
 static const struct option options[] = {
-{rel,   no_argument,NULL,  'r'},
-{freq,  required_argument,  NULL,  'f'},
-{samples,   required_argument,  NULL,  'n'},
-{pss,   no_argument,NULL,  'p'},
-{output,required_argument,  NULL,  'o'},
-{init,  required_argument,  NULL,  'i'},
-{no-filter, no_argument,NULL,  'F'},
-{cmdline,   no_argument,NULL,  'C'},
-{control-group, no_argument,NULL,  'c'},
-{help,  no_argument,NULL,  'h'},
-{scale-x,   required_argument,  NULL,  'x'},
-{scale-y,   required_argument,  NULL,  'y'},
-{entropy,   no_argument,NULL,  'e'},
+{rel,   no_argument,NULL,  'r'   },
+{freq,  required_argument,  NULL,  'f'   },
+{samples,   required_argument,  NULL,  'n'   },
+{pss,   no_argument,NULL,  'p'   },
+{output,required_argument,  NULL,  'o'   },
+{init,  required_argument,  NULL,  'i'   },
+{no-filter, no_argument,NULL,  'F'   },
+{cmdline,   no_argument,NULL,  'C'   },
+{control-group, no_argument,NULL,  'c'   },
+{help,  no_argument,NULL,  'h'   },
+{scale-x,   required_argument,  NULL,  'x'   },
+{scale-y,   required_argument,  NULL,  'y'   },
+{entropy,   no_argument,NULL,  'e'   },
+{per-cpu,   no_argument,NULL,  ARG_PERCPU},
 {}
 };
 int c, r;
@@ -237,6 +246,9 @@ static int parse_argv(int argc, char *argv[]) {
 case 'e':
 arg_entropy = true;
 break;
+case ARG_PERCPU:
+arg_percpu = true;
+break;
 case 'h':
 help();
 return 0;
diff --git a/src/bootchart/bootchart.conf b/src/bootchart/bootchart.conf
index c73328f..2d7cb61 100644
--- a/src/bootchart/bootchart.conf
+++ b/src/bootchart/bootchart.conf
@@ -22,3 +22,4 @@
 #ScaleX=100
 #ScaleY=20
 #ControlGroup=no
+#PerCPU=no
diff --git a/src/bootchart/bootchart.h b/src/bootchart/bootchart.h
index 2c37835..26de0dd 100644
--- a/src/bootchart/bootchart.h
+++ b/src/bootchart/bootchart.h
@@ -118,6 +118,7 @@ extern bool arg_show_cmdline;
 extern bool arg_show_cgroup;
 extern bool arg_pss;
 extern bool arg_entropy;
+extern bool arg_percpu;
 extern bool initcall;
 extern int samples;
 extern int cpus;
diff --git a/src/bootchart/svg.c b/src/bootchart/svg.c
index e5569e1..e770625 100644
--- 

Re: [systemd-devel] multi-user.target only wants network.service if I'm doing 'systemct show runlevel3.target'

2015-02-12 Thread Andrei Borzenkov
В Wed, 11 Feb 2015 21:19:16 +0100
Lennart Poettering lenn...@poettering.net пишет:

  
  But the problem is not limited to legacy initscripts. It makes it
  generally unsafe to have aliases via symlinks. Aliases were always
  meant for compatibility but this problems exactly means that
  compatibility is broken here - when you replace unit A with
  compatibility link to unit B things may be broken unless you always
  refer to A when you refer to B. At which point why have alias at all?
 
 I think it's completely Ok that dependencies on aliases only work as
 long as they are referenced at least once by them. This isn't really
 that surprising a behaviour I think. 
 

Sorry if I was not clear. User had WantedBy=A.target in the past and
other places had Want/Require=A.target. Now A.target - B.target and
all other places were adjusted to Want/Require=B.target. As was
demonstrated all user units that were using WantedBy=A.target are now
effectively broken.

Aliases imply that they are interchangeable. If they are not that must
be at least quite clear and explicitly stated so in manual. If aliases
are not interchangeable than the only use case I can see is for one way
migration from old to new name but exactly this use case is broken.
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


Re: [systemd-devel] [PATCH v3] Added support for Uplink Failure Detection using BindCarrier

2015-02-12 Thread Andrei Borzenkov
В Thu, 12 Feb 2015 15:25:08 +0100
Zbigniew Jędrzejewski-Szmek zbys...@in.waw.pl пишет:

 On Thu, Feb 12, 2015 at 12:52:00PM +, Rauta, Alin wrote:
   Yes, but the updates need to be done for all links and I'm not sure 
   adding this is a good thing.
   I'm now having 64 links on the switch and I need the failure detection in 
   networkd to be quite fast because however even now it's probably slower 
   due to evaluating dynamically the BindCarrier strings when comparing this 
   with the previous solution with an UFD group monitoring some interfaces 
   and with some internal counters knowing exactly when to issue link_down 
   for an interface. So adding bound_by and bound_to makes the solution 
   even slower.
  
   How many times per second will you be avaluating this?
  Each time an event happens: a link appears, disappears, changes flags or 
  names. 
 Yes, I know the causes. I'm asking how often they can realisticly occur.
 

You misunderstand. It is not how often they occur but how fast reaction
is. When (final) uplink goes down we want to bring dependent interfaces
down as soon as possible.

   Besides this, having only one function 
   sd_network_link_get_carrier_bound_to makes also sense because only the 
   behavior of bond_to links is controlled by this feature. bound_by 
   means almost nothing for an interface. A tool like networkctl may take 
   into account to display only the bound_to links because that's what's 
   relevant. The fact that networkctl displays both bound_to and 
   bound_by it's a good thing, but it doesn't mean each tool should do 
   that.
  
   If a link goes down, isn't the bound_by list useful to look at links 
   which need to be checked and potentiallly brought down?
  It can be useful, that's why networkctl has the updates, but are talking 
  about the showing functionality or about the run-time up-down game 
  between interfaces ?
 
 The latter.
 
 Zbyszek
 ___
 systemd-devel mailing list
 systemd-devel@lists.freedesktop.org
 http://lists.freedesktop.org/mailman/listinfo/systemd-devel

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


Re: [systemd-devel] avahi disconnects from bus with kdbus

2015-02-12 Thread Daniel Buch
Hi again,

I found another problem, again with avahi-daemon but in combination with
Telepathy haze.
feb 13 08:26:39 dbuch-laptop systemd-coredump[1211]: Process 1167
(telepathy-haze) of user 1000 dumped core.

 Stack trace of thread
1167:
 #0  0x7fe0c9557ae0
g_logv (libglib-2.0.so.0)
 #1  0x7fe0c9557d1f
g_log (libglib-2.0.so.0)
 #2  0x0041261c
n/a (telepathy-haze)
 #3  0x7fe0c955091d
g_main_context_dispatch (libglib-2.0.so.0)
 #4  0x7fe0c9550cf8
n/a (libglib-2.0.so.0)
 #5  0x7fe0c9551022
g_main_loop_run (libglib-2.0.so.0)
 #6  0x7fe0c9214631
tp_run_connection_manager (libtelepathy-glib.so.0)
 #7  0x0040e73b
n/a (telepathy-haze)
 #8  0x7fe0c8b1e800
__libc_start_main (libc.so.6)
 #9  0x0040e7ad
n/a (telepathy-haze)
feb 13 08:26:42 dbuch-laptop systemd[642]: Starting DBUS1:
org.freedesktop.Telepathy.ConnectionManager.haze...
feb 13 08:26:42 dbuch-laptop systemd[642]: Started DBUS1:
org.freedesktop.Telepathy.ConnectionManager.haze.
feb 13 08:26:42 dbuch-laptop systemd[1]: Starting Avahi mDNS/DNS-SD Stack...
feb 13 08:26:42 dbuch-laptop avahi-daemon[1217]: Found user 'avahi' (UID
84) and group 'avahi' (GID 84).
feb 13 08:26:42 dbuch-laptop avahi-daemon[1217]: Successfully dropped root
privileges.
feb 13 08:26:42 dbuch-laptop avahi-daemon[1217]: avahi-daemon 0.6.31
starting up.
feb 13 08:26:42 dbuch-laptop avahi-daemon[1217]: Successfully called
chroot().
feb 13 08:26:42 dbuch-laptop avahi-daemon[1217]: Successfully dropped
remaining capabilities.
feb 13 08:26:42 dbuch-laptop avahi-daemon[1217]: Loading service file
/services/sftp-ssh.service.
feb 13 08:26:42 dbuch-laptop avahi-daemon[1217]: Process 313 died: No such
process; trying to remove PID file. (/var/run/avahi-daemon//pid)
feb 13 08:26:42 dbuch-laptop systemd[1]: Started Avahi mDNS/DNS-SD Stack.
feb 13 08:26:42 dbuch-laptop avahi-daemon[1217]: Loading service file
/services/ssh.service.
feb 13 08:26:42 dbuch-laptop avahi-daemon[1217]: Joining mDNS multicast
group on interface wlp3s0.IPv4 with address 192.168.1.2.
feb 13 08:26:42 dbuch-laptop avahi-daemon[1217]: New relevant interface
wlp3s0.IPv4 for mDNS.
feb 13 08:26:42 dbuch-laptop avahi-daemon[1217]: Network interface
enumeration completed.
feb 13 08:26:42 dbuch-laptop avahi-daemon[1217]: Registering new address
record for fe80::eab1:fcff:fec4:eae1 on wlp3s0.*.
feb 13 08:26:42 dbuch-laptop avahi-daemon[1217]: Registering new address
record for 192.168.1.2 on wlp3s0.IPv4.
feb 13 08:26:42 dbuch-laptop avahi-daemon[1217]: Registering HINFO record
with values 'X86_64'/'LINUX'.
feb 13 08:26:42 dbuch-laptop systemd-bus-proxyd[329]: Failed to send
message to bus: Operation not permitted
feb 13 08:26:42 dbuch-laptop avahi-daemon[1217]: Disconnected from D-Bus,
exiting.
feb 13 08:26:42 dbuch-laptop avahi-daemon[1217]: Got SIGTERM, quitting.
feb 13 08:26:42 dbuch-laptop avahi-daemon[1217]: Leaving mDNS multicast
group on interface wlp3s0.IPv4 with address 192.168.1.2.
feb 13 08:26:42 dbuch-laptop avahi-daemon[1217]: avahi-daemon 0.6.31
exiting.

This happens when you try to log on empathy, more specifically Peoples
Nearby.

Let me know if you want additional logs or anything.

Cheers,
Daniel

2015-02-12 23:46 GMT+01:00 Daniel Buch boogiewasth...@gmail.com:

 No problem, i will try do some extensive testing the next couple of days.
 kdbus is now added to kernel entry cmdline :)

 2015-02-12 19:12 GMT+01:00 David Herrmann dh.herrm...@gmail.com:

 Hi

 On Wed, Feb 11, 2015 at 11:17 AM, Daniel Buch boogiewasth...@gmail.com
 wrote:
  Nice, everything works flawlessly with current git now. Good job!

 Thanks for testing! No idea which commit exactly fixed it, so if you
 see it again, please let us know.

 Thanks
 David



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


Re: [systemd-devel] [PATCH] rules: Fix by-path of mmc RPMB partitions and don't blkid them

2015-02-12 Thread Martin Pitt
Martin Pitt [2015-02-12 19:52 +0100]:
 Lennart Poettering [2015-02-12 18:50 +0100]:
   http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=090d25fe224c0
  
  Looks simple enough. Though I wonder if [0-9] is the right match,
  shouldn't it also cover multiple numbers there?
 
 Hm, yes. fnmatch() doesn't support a regexp-like one or more digits;
 it's less precise, but as the kernel doesn't generate arbitrary device
 names but at most things like mmcblk0p1, extending the glob to
 mmcblk[0-9]*rpmb is actually safe.

Pushed now with this change:

  http://cgit.freedesktop.org/systemd/systemd/commit/?id=b87b01c

Martin
-- 
Martin Pitt| http://www.piware.de
Ubuntu Developer (www.ubuntu.com)  | Debian Developer  (www.debian.org)


signature.asc
Description: Digital signature
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


Re: [systemd-devel] [PATCH v3] Added support for Uplink Failure Detection using BindCarrier

2015-02-12 Thread Zbigniew Jędrzejewski-Szmek
On Thu, Feb 12, 2015 at 12:52:00PM +, Rauta, Alin wrote:
  Yes, but the updates need to be done for all links and I'm not sure adding 
  this is a good thing.
  I'm now having 64 links on the switch and I need the failure detection in 
  networkd to be quite fast because however even now it's probably slower due 
  to evaluating dynamically the BindCarrier strings when comparing this with 
  the previous solution with an UFD group monitoring some interfaces and with 
  some internal counters knowing exactly when to issue link_down for an 
  interface. So adding bound_by and bound_to makes the solution even 
  slower.
 
  How many times per second will you be avaluating this?
 Each time an event happens: a link appears, disappears, changes flags or 
 names. 
Yes, I know the causes. I'm asking how often they can realisticly occur.

  Besides this, having only one function 
  sd_network_link_get_carrier_bound_to makes also sense because only the 
  behavior of bond_to links is controlled by this feature. bound_by means 
  almost nothing for an interface. A tool like networkctl may take into 
  account to display only the bound_to links because that's what's 
  relevant. The fact that networkctl displays both bound_to and 
  bound_by it's a good thing, but it doesn't mean each tool should do that.
 
  If a link goes down, isn't the bound_by list useful to look at links 
  which need to be checked and potentiallly brought down?
 It can be useful, that's why networkctl has the updates, but are talking 
 about the showing functionality or about the run-time up-down game between 
 interfaces ?

The latter.

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


Re: [systemd-devel] systemd-networkd not discovering all devices at bootup, and thus no network is configured

2015-02-12 Thread Zbigniew Jędrzejewski-Szmek
On Wed, Feb 11, 2015 at 09:32:00PM +0100, Lennart Poettering wrote:
 On Wed, 11.02.15 20:22, Keller, Jacob E (jacob.e.kel...@intel.com) wrote:
 
I actually see the same behavior now again, so the removal of
biosdevname does not solve this problem! :(

Is there any more information I can provide?
   
   Hmm, it appears as if networkd completely misses the netlink messages
   describing your em0 link.
   
  
  Yes. I believe that possibly the netlink messages are occurring too
  early before networkd has started. Thus, when I restart the service
  after startup it works fine.
 
 Well, the first thing after subscribing to links coming/going that
 networkd does is query the kernel for the list of devices it has. This
 means that it should always get all links, regardless when it is started.
 
   To debug this it might be worse adding debug log messages to
   manager_rtnl_process_link() to see if any rtnl messages announcing the
   interface are received by networkd. If no such message arrives there,
   then this indicates a kernel issue, otherwise a bug in networkd.
   
   Lennart
   
  
  How would I go about doing that? I am guessing that means modifying the
  source of networkd?
 
 Correct.
 
  I'm also somewhat unfamiliar with the best practice for installing a
  local copy of systemd from source rather than from the Fedora RPMs..
 
 Most of us tend to run git versions of systemd, and simply build them
 with ./autogen.sh c  sudo make install. But of course, you should
 know what you do then, and there's no easy path back to the FEdora version...

For the case of trying to install a specific utility from git, full
installation is overkill. It's enough to do
  git clone
  ./autogen.sh c  make
  install ./systemd-networkd /usr/lib/systemd/

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


Re: [systemd-devel] [PATCH] Re: fstab mounts get unmounted during boot (.device unit bouncing?) -- solution

2015-02-12 Thread Lennart Poettering
On Thu, 12.02.15 13:27, Karel Zak (k...@redhat.com) wrote:

 On Thu, Feb 12, 2015 at 12:01:13PM +0100, Lennart Poettering wrote:
  And the stuff from /run is always merged into it, regardless which
  file is read?
 
  No, if you specify any filename and the file exists than it does not
  read from /run, I have fixed this mistake
 
 
 https://github.com/karelzak/util-linux/commit/60d29f827b94097fb718dcb02fad6ccb571bdb2b
 
  so don't use Martin's patch on systems with util-linux  2.26 (now
  -rc2, stable next week).

I will not apply it to systemd git.

If I am right then as soon as you fixed libmount so that the whole
handling of /etc/mtab can be turned off, then you will make that the
default in Fedora, and no changes to systemd will be necessary at all,
correct?

Lennart

-- 
Lennart Poettering, Red Hat
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


Re: [systemd-devel] [PATCH] Re: fstab mounts get unmounted during boot (.device unit bouncing?) -- solution

2015-02-12 Thread Karel Zak
On Thu, Feb 12, 2015 at 03:38:13PM +0100, Lennart Poettering wrote:
 If I am right then as soon as you fixed libmount so that the whole
 handling of /etc/mtab can be turned off, then you will make that the
 default in Fedora, and no changes to systemd will be necessary at all,
 correct?

 Correct.

Karel


-- 
 Karel Zak  k...@redhat.com
 http://karelzak.blogspot.com
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


Re: [systemd-devel] [PATCH] Re: fstab mounts get unmounted during boot (.device unit bouncing?) -- solution

2015-02-12 Thread Karel Zak
On Thu, Feb 12, 2015 at 12:01:13PM +0100, Lennart Poettering wrote:
 And the stuff from /run is always merged into it, regardless which
 file is read?

 No, if you specify any filename and the file exists than it does not
 read from /run, I have fixed this mistake


https://github.com/karelzak/util-linux/commit/60d29f827b94097fb718dcb02fad6ccb571bdb2b

 so don't use Martin's patch on systems with util-linux  2.26 (now
 -rc2, stable next week).

Karel

-- 
 Karel Zak  k...@redhat.com
 http://karelzak.blogspot.com
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


Re: [systemd-devel] systemd-networkd not discovering all devices at bootup, and thus no network is configured

2015-02-12 Thread Tom Gundersen
On Thu, Feb 12, 2015 at 11:45 AM, Lennart Poettering
lenn...@poettering.net wrote:
 On Wed, 11.02.15 22:28, Keller, Jacob E (jacob.e.kel...@intel.com) wrote:

 On Wed, 2015-02-11 at 21:46 +0100, Lennart Poettering wrote:
  On Wed, 11.02.15 20:36, Keller, Jacob E (jacob.e.kel...@intel.com) wrote:
 
 Yes. I believe that possibly the netlink messages are occurring too
 early before networkd has started. Thus, when I restart the service
 after startup it works fine.
   
Well, the first thing after subscribing to links coming/going that
networkd does is query the kernel for the list of devices it has. This
means that it should always get all links, regardless when it is 
started.
  
   What about network device renames? Devices are renamed after they
   appear. Is it also possible that networkd is started too early and thus
   the devices haven't actually appeared yet? But.. then it should get the
   message once it does appear? (assuming here that it continues listening
   to rtnl messages about links)
 
  networkd should get all netlink msgs about all of this just fine, and
  be able to track renames and everything.
 
   How difficult would it be to create an RPM?
 
  Well, you can get the spec file from fedpkg and then use it on a
  tarball from systemd git made with make dist. But you probably need
  to make a number of updates to the .spec file. Unless you are an RPM
  guru I wouldn't bother.
 
  Lennart
 

 Ok. I got the upstream systemd installed. Now I get a very different
 behavior, which I am unsure of.

 I cut off the last message as it repeated some odd ten thousand times or
 so... Presumably retry/failing...

 At any rate, it appears possible that some configuration is wrong, or
 similar? Any suggestions/thoughts now?

 Feb 11 14:21:47 jekeller-copperpass systemd-networkd[1068]: enp4s0f0
 : flags change: +UP
 Feb 11 14:21:47 jekeller-copperpass systemd-networkd[1068]: enp4s0f0
 : enp4s0f0: could not bring up interface: Invalid argument

 OK so this is already weird.

This should now be fixed in git (5c3072eab6d2e11d89452987b017541d4654ac05).

 Feb 11 14:21:52 jekeller-copperpass systemd-networkd[1068]: DHCP CLIENT 
 (0xc7096673): could not receive message from raw socket: Invalid argument

 Hmm, this one might actually be caused by
 d6d810fbf8071f8510450dbacd1d083f37603656. WIll revert that, please
 retest then!

 Lennart

 --
 Lennart Poettering, Red Hat
 ___
 systemd-devel mailing list
 systemd-devel@lists.freedesktop.org
 http://lists.freedesktop.org/mailman/listinfo/systemd-devel
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


Re: [systemd-devel] [systemd-commits] 5 commits - Makefile.am man/systemd-networkd-wait-online.service.xml src/libsystemd src/network src/systemd TODO units/systemd-networkd.service.in units/systemd-n

2015-02-12 Thread Tom Gundersen
On Mon, Feb 2, 2015 at 8:59 PM, Lennart Poettering
lenn...@poettering.net wrote:
 On Mon, 02.02.15 03:00, Tom Gundersen (tome...@kemper.freedesktop.org) wrote:


 +static int systemd_netlink_fd(int *ret) {
 +int n, fd, rtnl_fd = -1;
 +
 +n = sd_listen_fds(true);
 +if (n = 0)
 +return -EINVAL;
 +
 +for (fd = SD_LISTEN_FDS_START; fd  SD_LISTEN_FDS_START + n; fd ++) 
 {
 +if (sd_is_socket(fd, AF_NETLINK, SOCK_RAW, -1)  0) {
 +if (rtnl_fd = 0)
 +return -EINVAL;
 +
 +rtnl_fd = fd;
 +}
 +}
 +
 +if (rtnl_fd  0)
 +return -EINVAL;
 +
 +*ret = rtnl_fd;
 +
 +return 0;
 +}

 BTW, if a function that returns an fd, can just do so as return value,
 rather than as call-by-ref argument, since fds are = 0 and errors are
  0, and hence we can use the full int range then.


 +int sd_rtnl_new_from_netlink(sd_rtnl **ret, int fd) {

 Can't his one be folded into sd_rtnl_open_fd()? It does one more step,
 invoking bind() on the fd, but if we handling double binding
 correctly, then I think that would be the cleaner API?

FTR: these suggestions have now been implemented in git.

Thanks!

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


[systemd-devel] [PATCH] rules: Fix by-path of mmc RPMB partitions and don't blkid them

2015-02-12 Thread Martin Pitt
Linux 3.10+ exposes RPMB (Replay Protected Memory Block) partitions of MMC
devices [1] ; trying to read them with blkid or other unspecific means will
cause kernel buffer I/O errors and timeouts. So don't run blkid on these.

Also ensure that /dev/disk/by-path creates proper symlinks and exposes the
-rpmb partition separately, instead of letting the normal partition symlink
point to the rpbm device (this is a race condition).

[1] 
http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=090d25fe224c0

https://launchpad.net/bugs/1333140
---
 rules/60-persistent-storage.rules | 6 +-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/rules/60-persistent-storage.rules 
b/rules/60-persistent-storage.rules
index 475b151..19fc4dc 100644
--- a/rules/60-persistent-storage.rules
+++ b/rules/60-persistent-storage.rules
@@ -53,7 +53,8 @@ KERNEL==mspblk[0-9]p[0-9], ENV{ID_NAME}==?*, 
ENV{ID_SERIAL}==?*, SYMLINK+=
 
 # by-path (parent device path)
 ENV{DEVTYPE}==disk, DEVPATH!=*/virtual/*, IMPORT{builtin}=path_id
-ENV{DEVTYPE}==disk, ENV{ID_PATH}==?*, SYMLINK+=disk/by-path/$env{ID_PATH}
+ENV{DEVTYPE}==disk, ENV{ID_PATH}==?*, KERNEL==mmcblk[0-9]rpmb, 
SYMLINK+=disk/by-path/$env{ID_PATH}-rpmb
+ENV{DEVTYPE}==disk, ENV{ID_PATH}==?*, KERNEL!=mmcblk[0-9]rpmb, 
SYMLINK+=disk/by-path/$env{ID_PATH}
 ENV{DEVTYPE}==partition, ENV{ID_PATH}==?*, 
SYMLINK+=disk/by-path/$env{ID_PATH}-part%n
 
 # skip unpartitioned removable media devices from drivers which do not send 
change events
@@ -66,6 +67,9 @@ KERNEL==sr*, ENV{DISK_EJECT_REQUEST}!=?*, 
ENV{ID_CDROM_MEDIA_TRACK_COUNT_DAT
 KERNEL==sr*, ENV{DISK_EJECT_REQUEST}!=?*, 
ENV{ID_CDROM_MEDIA_TRACK_COUNT_DATA}==?*, 
ENV{ID_CDROM_MEDIA_SESSION_LAST_OFFSET}==, \
   IMPORT{builtin}=blkid --noraid
 
+# don't try to read Replay Protected Memory Block partitions
+KERNEL==mmcblk[0-9]rpmb, GOTO=persistent_storage_end
+
 # probe filesystem metadata of disks
 KERNEL!=sr*, IMPORT{builtin}=blkid
 
-- 
2.1.4

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


Re: [systemd-devel] [PATCH] Re: fstab mounts get unmounted during boot (.device unit bouncing?) -- solution

2015-02-12 Thread Martin Pitt
Hey Lennart and Karel,

Lennart Poettering [2015-02-12 15:38 +0100]:
 I will not apply it to systemd git.

Ack. I put a hacked version into the Debian package for now, as we'll
have to live with util-linux 2.25 for the impending release:

 http://anonscm.debian.org/cgit/pkg-systemd/systemd.git/commit/?id=999fb5e2b0a0

(This will read /run/mount/utab, but it's certainly not upstream
material).

 If I am right then as soon as you fixed libmount so that the whole
 handling of /etc/mtab can be turned off, then you will make that the
 default in Fedora, and no changes to systemd will be necessary at all,
 correct?

\o/ looking forward to let /etc/mtab die a bit more :-)

Thanks,

Martin

-- 
Martin Pitt| http://www.piware.de
Ubuntu Developer (www.ubuntu.com)  | Debian Developer  (www.debian.org)
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


Re: [systemd-devel] systemd-networkd not discovering all devices at bootup, and thus no network is configured

2015-02-12 Thread Keller, Jacob E
On Thu, 2015-02-12 at 14:23 +0100, Tom Gundersen wrote:
 On Thu, Feb 12, 2015 at 11:45 AM, Lennart Poettering
 lenn...@poettering.net wrote:
  On Wed, 11.02.15 22:28, Keller, Jacob E (jacob.e.kel...@intel.com) wrote:
 
  On Wed, 2015-02-11 at 21:46 +0100, Lennart Poettering wrote:
   On Wed, 11.02.15 20:36, Keller, Jacob E (jacob.e.kel...@intel.com) wrote:
  
  Yes. I believe that possibly the netlink messages are occurring too
  early before networkd has started. Thus, when I restart the service
  after startup it works fine.

 Well, the first thing after subscribing to links coming/going that
 networkd does is query the kernel for the list of devices it has. 
 This
 means that it should always get all links, regardless when it is 
 started.
   
What about network device renames? Devices are renamed after they
appear. Is it also possible that networkd is started too early and thus
the devices haven't actually appeared yet? But.. then it should get the
message once it does appear? (assuming here that it continues listening
to rtnl messages about links)
  
   networkd should get all netlink msgs about all of this just fine, and
   be able to track renames and everything.
  
How difficult would it be to create an RPM?
  
   Well, you can get the spec file from fedpkg and then use it on a
   tarball from systemd git made with make dist. But you probably need
   to make a number of updates to the .spec file. Unless you are an RPM
   guru I wouldn't bother.
  
   Lennart
  
 
  Ok. I got the upstream systemd installed. Now I get a very different
  behavior, which I am unsure of.
 
  I cut off the last message as it repeated some odd ten thousand times or
  so... Presumably retry/failing...
 
  At any rate, it appears possible that some configuration is wrong, or
  similar? Any suggestions/thoughts now?
 
  Feb 11 14:21:47 jekeller-copperpass systemd-networkd[1068]: enp4s0f0   
   : flags change: +UP
  Feb 11 14:21:47 jekeller-copperpass systemd-networkd[1068]: enp4s0f0   
   : enp4s0f0: could not bring up interface: Invalid argument
 
  OK so this is already weird.
 
 This should now be fixed in git (5c3072eab6d2e11d89452987b017541d4654ac05).
 
  Feb 11 14:21:52 jekeller-copperpass systemd-networkd[1068]: DHCP CLIENT 
  (0xc7096673): could not receive message from raw socket: Invalid argument
 
  Hmm, this one might actually be caused by
  d6d810fbf8071f8510450dbacd1d083f37603656. WIll revert that, please
  retest then!
 
  Lennart
 
  --
  Lennart Poettering, Red Hat
  ___
  systemd-devel mailing list
  systemd-devel@lists.freedesktop.org
  http://lists.freedesktop.org/mailman/listinfo/systemd-devel

Ok, I'll try with latest Git first, and if it still fails I'll try
reverting the patch Lennart suggested.

Thanks for the help!

Regards,
Jake
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel