<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Jul 8, 2021 at 3:16 AM Rob Landley <<a href="mailto:rob@landley.net">rob@landley.net</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On 7/8/21 2:46 AM, Rob Landley wrote:<br>
>> i scratched my head for a while about how to get that behavior in toybox<br>
>> (assuming the resolution is to sigh, shake our fists at the clouds, and work<br>
>> around this linux oddity), and it seems like we could use the fact that<br>
>> error_msg() will have incremented toys.exitval, and add that to the CFG_MV `if`<br>
>> above?<br>
> <br>
> Sibling directories. If we're not stopping at one error then we may pop up one<br>
> and descend down again, and THOSE we still want to delete. It's gotta either<br>
> pass through the return code or the child needs to poke ->parent.<br>
> <br>
> Sigh, I'll throw it on the todo heap. How time critical is this?<br>
> <br>
> Rob<br>
> <br>
> P.S. The logical thing to do is return DIRTREE_SAVE for the failure to delete<br>
> and then have the parent check to see if it ->child is null...<br>
<br>
Alright, I pushed a commit that passes the tests. (And added a -i test while I<br>
was there.) Did several unrelated cleanups that I probably should have made into<br>
a separate patch but I'm trying to get a release out before I vanish into<br>
another $DAYJOB contract and the todo heap is teetering...<br>
<br>
Did I fix it? Did I break it? My laptop hasn't got cgroups (or 2) mounted<br>
because the whole point of devuan is NOT having systemd, and I still haven't got<br>
mkroot to the point I can do tests in a toy environment under qemu.<br></blockquote><div><br></div><div>if you're thinking "this test isn't new, and toybox mv had worked like this for a long time, why the breakage now?" it seems like the test wasn't being run until someone built a kernel with CONFIG_CGROUP_NET_PRIO=y which then caused this test to run where it wasn't being run before. </div><div><br></div><div>i'm told the reason for this weird behavior is that basically "/proc/cgroups is the API", so rmdir(2) is how you remove a group, but you can't remove the virtual files within a group, so there's this hack in the kernel.</div><div><br></div><div>anyway, i've synced AOSP (thanks for the fix!) and handed the bug back to the folks who just wanted to configure their kernel :-)</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
Rob<br>
_______________________________________________<br>
Toybox mailing list<br>
<a href="mailto:Toybox@lists.landley.net" target="_blank">Toybox@lists.landley.net</a><br>
<a href="http://lists.landley.net/listinfo.cgi/toybox-landley.net" rel="noreferrer" target="_blank">http://lists.landley.net/listinfo.cgi/toybox-landley.net</a><br>
</blockquote></div></div>