[arch-general] BTRFS scrub from systemd unit

Sean Greenslade sean at seangreenslade.com
Wed Mar 19 22:40:47 EDT 2014


On Wed, Mar 19, 2014 at 10:35:38PM -0400, Mark Lee wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA256
> 
> On 03/19/2014 10:34 PM, Sean Greenslade wrote:
> > On Wed, Mar 19, 2014 at 09:42:46PM -0400, Mark Lee wrote:
> >> -----BEGIN PGP SIGNED MESSAGE-----
> >> Hash: SHA256
> >>
> >> On 03/19/2014 09:40 PM, Sean Greenslade wrote:
> >>> On Thu, Mar 20, 2014 at 01:06:18AM +0000, Mauro Santos wrote:
> >>>> On 20-03-2014 00:41, Sean Greenslade wrote:
> >>>>> Hi, folks. I've been noodling over this rather odd issue I've been
> >>>>> having, and I thought I'd get a second opinion on things. 
> >>>>> <SNIP>
> >>>>> So I'm stumped, here. Anyone have any clue as to what's happening?
> >>>>>
> >>>>> Thanks,
> >>>>>
> >>>>> --Sean
> >>>>>
> >>>>
> >>>> Just a guess but you might want to change the unit type to simple
> >>>> instead of oneshot.
> >>>>
> >>>> -- 
> >>>> Mauro Santos
> >>>
> >>> I thought of that, but it just does the same thing. The scrub command
> >>> returns after forking(?) back the real scrub process. Now, maybe if
> >>> someone has a clever way of making the service detect when the scrub
> >>> finishes, I could do a remainafterexit unit, but I can't see a way to do
> >>> that.
> >>>
> >>> --Sean
> >>>
> >> Salutations,
> >>
> >> If it's supposed to fork, you may want to switch to type=forking.
> >>
> >> See <http://www.freedesktop.org/software/systemd/man/systemd.service.html>
> >>
> >> Regards,
> >> Mark
> > 
> > I did an strace on the start scrub process, but my knowledge on its
> > output is limited. I _believe_ this line means that it is forking, but
> > can someone else confirm this?
> > 
> > clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7ffbb9fddb50) = 713
> > 
> > 
> > --Sean
> > 
> Salutations,
> 
> Did you try to just switch to type=forking?
> 
> Regards,
> Mark

Just tried it and it seems to be working. And if the clone line's return
value is to be believed, systemd's automatic PID guesser seems to be
working as well. Fantastic! Thanks, guys.

--Sean


More information about the arch-general mailing list