2011/4/25 Lennart Poettering <lenn...@poettering.net>: > On Fri, 22.04.11 15:04, fykc...@gmail.com (fykc...@gmail.com) wrote: > >> Hi all, >> >> plymouth in Ubuntu 10.04 supports fsck progress report, and also >> provides a chance for user to cancel running fsck. How to implement >> this feature with systemd and plymouth? > > It's actually a really hard problem. For example, what do you do when > you have multiple disks which are fsck'ed in parallel or serial? You'd > then have to integrate their individual progress bars somehow. It seems ubuntu's implementation uses limited 'progress bars'. I guess any more fsck progress reports will no be displayed.
> >> I did some investigation, found: >> 1. ubuntu patches on_update() of plymouth/src/main.c, it will filter >> out status message from fsck, if message starts with "fsck:". >> 2. ubuntu provides a plymouth theme -- ubuntu-logo, which is of type >> script, and has some fsck related stuff. >> >> I guess we need: >> 1. Support "detailed status report" in plymouth, e.g. colon separated >> fields. >> 2. Hook fsck detailed message to each theme in plymouth ? >> 3. Emit fsck message to plymouth in systemd-fsck. >> 4. How to support user-cancellable fsck? > >> Any idea? > > Here's what I'd suggest: We already have systemd-fsck, which we could > beef up slightly to pass progress data to a tiny AF_UNIX socket > activated service (let's call it fsckd) which integrates the data from > multiple instances of systemd-fsck and sends it off to plymouth. And if > a cancel request is received from plymouth it would send off SIGINT to > the the systemd-fsck instances which it got data from. > > This could be done in a relative easy and elegant way by having > systemd-fsck just pass the socket it created as channel to fsckd as -C > fd to to fsck. That way only fsckd would have to parse the progress data > from fsck, and it would talk directly to fsck which would allow fsckd to > figure out the fsck PID via SCM_CREDENTIALS, so that fsckd would know > what to kill. Good idea. Thanks. -- Regards, - cee1 _______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel