Le 10/03/2015 08:33, Martin Pitt a écrit :
Lennart Poettering [2015-03-09 19:11 +0100]:

Oh, and I am only realizing now that the whole thing doesn't do *at
all* what we discussed. The idea was to invoke the actual fsck tools
with their stdout connected directly to fsckd. Instead the old
systemd-fsck tool still is the one that parses the fsck output and
which now simply forwards that info.
That didn't actually come up during review, but that sounds like a
nice idea! I see two structures:

  - s-fsck runs fsck and forwards its stdout/err fds to fsckd, and then
    fsckd does all the parsing. This would also automatically eliminate
    the intermediate socket handling from above.

We will still need the cancel message back socket (so below).

Or, more radically:

  - eliminate the current functionality of s-fsck and just make that
    send a request to s-fsckd to check a new device name.  s-fsckd
    would then spawn off /usr/sbin/fsck by itself and start parsing its
    output. That's more complex handling of its children (but not too
    bad), and completely avoids passing around data through sockets,
    and s-fsck would be a trivial five-liner.

Just a note if we go that path, then systemd-fsck*.service would always be successful as only passing the request, but then, any cancellation of a fsck in progress or worse, any fsck failing won't mark the corresponding systemd-fsck@ instance as failed.

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

Reply via email to