<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Tue, Mar 28, 2017 at 5:01 PM, Chris Murphy <span dir="ltr"><<a href="mailto:lists@colorremedies.com" target="_blank">lists@colorremedies.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On Mon, Mar 27, 2017 at 1:27 PM, Mantas Mikulėnas <<a href="mailto:grawity@gmail.com">grawity@gmail.com</a>> wrote:<br>
> On Mon, Mar 27, 2017 at 10:20 PM, Chris Murphy <<a href="mailto:lists@colorremedies.com">lists@colorremedies.com</a>><br>
> wrote:<br>
>><br>
>> Ok so the dirty file system problem always happens with all pk offline<br>
>> updates on Fedora using either ext4 or XFS with any layout; and it's<br>
>> easy to reproduce.<br>
>><br>
>> 1. Clean install any version of Fedora, defaults.<br>
>> 2. Once Gnome Software gives notification of updates, Restart & Install<br>
>> 3. System reboots, updates are applied, system reboots again.<br>
>> 4. Now check the journal filtering for 'fsck' and you'll see it<br>
>> replayed the journals; if using XFS check the filter for "XFS" and<br>
>> you'll see the kernel did journal replace at mount time.<br>
>><br>
>> Basically systemd is rebooting even though the remoun-ro fails<br>
>> multiple times, due to plymouth running off root fs and being exempt<br>
>> from being killed, and then reboots anyway, leaving the file system<br>
>> dirty. So it seems like a flaw to me to allow an indefinite exemption<br>
>> from killing a process that's holding a volume rw, preventing<br>
>> remount-ro before reboot.<br>
>><br>
>> So there's a risk that in other configurations this makes either ext4<br>
>> and XFS systems unbootable following an offline update.<br>
><br>
><br>
> So on the one hand it's probably a Plymouth bug or misconfiguration (it<br>
> shouldn't mark itself exempt unless it runs off an in-memory initramfs).<br>
<br>
</span>OK. But does it even make sense to have a process exempt from killing,<br>
when it's going to get killed by reboot? Seems to me once we're at<br>
remount-ro or umount time, nothing is exempt, they need to be forcibly<br>
killed, clean up the file system, and then reboot.<br></blockquote><div><br></div><div>Processes are killed *before* the remount/unmount stage. The primary users of kill-exemption would therefore be daemons which *provide* access to the root filesystem, e.g. iscsid, rpc helper daemons, or even ntfs-3g. (Naturally these are expected to be running from the initramfs.)<br><br></div><div>So the same applies to plymouth, IMO -- it should only mark itself exempt if it runs from the initramfs and knows that it won't interfere.<br></div><div><br></div><div>(Unrelated, but I should also mention that systemd-shutdown has a "shutdown initramfs" feature, where it can jump *back* to the initramfs and let its "/shutdown" script do additional cleanup steps.)<br></div><div><br clear="all"></div></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr">Mantas Mikulėnas <<a href="mailto:grawity@gmail.com" target="_blank">grawity@gmail.com</a>></div></div>
</div></div>