[systemd-devel] [systemd-commits] 3 commits - src/fsckd src/shared

David Herrmann dh.herrmann at gmail.com
Mon Mar 16 12:44:35 PDT 2015


Hi

On Mon, Mar 16, 2015 at 6:58 PM, Didier Roche <didrocks at ubuntu.com> wrote:
> Le 16/03/2015 18:41, Zbigniew Jędrzejewski-Szmek a écrit :
>>
>> On Mon, Mar 16, 2015 at 10:33:54AM -0700, Tom Gundersen wrote:
>>>
>>>   src/fsckd/fsckd.c |   13 ++++++++++---
>>>   src/shared/util.c |    4 ++++
>>>   src/shared/util.h |    2 ++
>>>   3 files changed, 16 insertions(+), 3 deletions(-)
>>>
>>> New commits:
>>> commit e26169bd48c64753510a1194abdf4fb5dc907123
>>> Author: Didier Roche <didrocks at ubuntu.com>
>>> Date:   Tue Mar 10 10:05:19 2015 +0100
>>>
>>>      fsckd: check if plymouth is running before attempting connection
>>>
>>> diff --git a/src/fsckd/fsckd.c b/src/fsckd/fsckd.c
>>> index f24715c..6b35fc2 100644
>>> --- a/src/fsckd/fsckd.c
>>> +++ b/src/fsckd/fsckd.c
>>> @@ -231,9 +231,12 @@ static int manager_connect_plymouth(Manager *m) {
>>>           union sockaddr_union sa = PLYMOUTH_SOCKET;
>>>           int r;
>>>   +        if (!plymouth_running())
>>> +                return 0;
>>
>> Why do we need to do this check? We try to connect right below, and
>> we'll get a connection error if plymouth is not running.
>
>
> The issue is that we are raising a warning if we can't communicate to the
> socket while connecting. This behavior puzzled some users looking at their
> logs when they didn't get plymouth running early enough or at all (repeating
> connection warnings).
> There were 2 options:
> - downgrading the warning to a debug, which may never give a hint if the
> user is expecting to see something in plymouth and never get any connection
> - have the plymouth_running() check.

Why not check the error-code of connect()? Not sure what unix-sockets
return for unknown entries, but should be easy to figure out. Probably
EHOSTDOWN or EHOSTUNREACH? You'd safe a system-call and helper
function this way.

Thanks
David


More information about the systemd-devel mailing list