On Mon, 27.03.17 22:27, Mantas Mikulėnas (graw...@gmail.com) wrote:

> On Mon, Mar 27, 2017 at 10:20 PM, Chris Murphy <li...@colorremedies.com>
> wrote:
> 
> > Ok so the dirty file system problem always happens with all pk offline
> > updates on Fedora using either ext4 or XFS with any layout; and it's
> > easy to reproduce.
> >
> > 1. Clean install any version of Fedora, defaults.
> > 2. Once Gnome Software gives notification of updates, Restart & Install
> > 3. System reboots, updates are applied, system reboots again.
> > 4. Now check the journal filtering for 'fsck' and you'll see it
> > replayed the journals; if using XFS check the filter for "XFS" and
> > you'll see the kernel did journal replace at mount time.
> >
> > Basically systemd is rebooting even though the remoun-ro fails
> > multiple times, due to plymouth running off root fs and being exempt
> > from being killed, and then reboots anyway, leaving the file system
> > dirty. So it seems like a flaw to me to allow an indefinite exemption
> > from killing a process that's holding a volume rw, preventing
> > remount-ro before reboot.
> >
> > So there's a risk that in other configurations this makes either ext4
> > and XFS systems unbootable following an offline update.
> 
> So on the one hand it's probably a Plymouth bug or misconfiguration (it
> shouldn't mark itself exempt unless it runs off an in-memory initramfs).

Correct. Plymouth shouldn't mark it itself this way, unless it runs
from the initrd. The documentation says this very explicitly:

   Again: if your code is being run from the root file system, then
   this logic suggested above is NOT for you. Sorry. Talk to us, we
   can probably help you to find a different solution to your problem.

See
https://www.freedesktop.org/wiki/Software/systemd/RootStorageDaemons/.

That said, a file system remaining mounting during shutdown is ugly
but shouldn't result in dataloss, as we do call sync() before
reboot(), and so does any other init system (see other mail).

Hence, there are two bugs here:

a) an ugliness in plymouth (or the way it is used by fedora's package
   update logic), resulting in something that is mostly a
   cosmetic problem

b) XFS is simply broken, if we call sync() it should sync metadata,
   that happens to be triggered by a).

Lennart

-- 
Lennart Poettering, Red Hat
_______________________________________________
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/systemd-devel

Reply via email to