Re: boot failure after kernel update, imap claims in-use inode 661690 is free, would correct imap

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Mar 15, 2017 at 12:13:55PM -0700, Darrick J. Wong wrote:
> On Wed, Mar 15, 2017 at 12:11:22PM -0600, Chris Murphy wrote:
> > On Wed, Mar 15, 2017 at 1:23 AM, Darrick J. Wong
> > <darrick.wong@xxxxxxxxxx> wrote:
> > 
> > >
> > > So... you fire up gnome-software, click "Update", it downloads rpms to
> > > the hard disk, reboots, (presumably) installs the rpms, reboots again,
> > > and after the /second/ reboot grub just barfs up a grub> prompt?
> > 
> > Correct.
> > 
> > 
> > > Now I'm curious how systemd actually triggers the reboot.  Unmounting
> > > would seem to force the log and push the AIL, which (you'd think) would
> > > be enough.  But maybe systemd is doing something weird?  Or maybe
> > > post-update we fail to unmount / ?
> > 
> > If I boot with the following parameters, and use virsh console to
> > track what's going on right after the updating,
> > 
> > systemd.log_level=debug systemd.log_target=console console=ttyS0,38400
> > 
> > 
> > 
> > Sending SIGTERM to remaining processes...
> > Sending SIGKILL to remaining processes...
> > Process 304 (plymouthd) has been marked to be excluded from killing.
> > It is running from the root file system, and thus likely to block
> > re-mounting of the root file system to read-only. Please consider
> > moving it into an initrd file system instead.
> 
> Heh.  So the splash screen is still running and we can't unmount /.
> Consequently systemd remounts the fs readonly...
> 
> > Unmounting file systems.
> > Remounting '/tmp' read-only with options 'seclabel'.
> > Unmounting /tmp.
> > Remounting '/' read-only with options 'seclabel,attr2,inode64,noquota'.
> > Remounting '/' read-only with options 'seclabel,attr2,inode64,noquota'.
> > Remounting '/' read-only with options 'seclabel,attr2,inode64,noquota'.
> 
> (I wonder why it does this three times?)

Because systemd (v229, anyway) doesn't ever unmount /; it merely tries
to remount it readonly.  Regrettably it /also/ throws away the return
code from the mount call so there's no way to positively confirm my
current theory, which is that we don't actually succeed at the
remount-ro request and that's why the log needs recovery after the
reboot.

So maybe plymouthd, or journald, or systemd, or something else entirely
still holds a writable file descriptor to somewhere on the rootfs.  I
guess you could build a custom systemd that actually logs the return
value....

> > All filesystems unmounted.
> > Deactivating swaps.
> > All swaps deactivated.
> > Detaching loop devices.
> > device-enumerator: scan all dirs
> >   device-enumerator: scanning /sys/bus
> >   device-enumerator: scanning /sys/class
> > All loop devices detached.
> > Detaching DM devices.
> > device-enumerator: scan all dirs
> >   device-enumerator: scanning /sys/bus
> >   device-enumerator: scanning /sys/class
> > All DM devices detached.
> > Spawned /usr/lib/systemd/system-shutdown/mdadm.shutdown as 8408.
> > /usr/lib/systemd/system-shutdown/mdadm.shutdown succeeded.
> > system-shutdown succeeded.
> > Failed to read reboot parameter file: No such file or directory
> > Rebooting.
> > [   52.963598] Unregister pv shared memory for cpu 0
> > [   52.965736] Unregister pv shared memory for cpu 1
> > [   52.966795] sd 1:0:0:0: [sda] Synchronizing SCSI cache
> > [   52.991220] reboot: Restarting system
> > [   52.993119] reboot: machine restart
> 
> ...and reboots, having not unmounted, and (I guess?) without forcing the
> log to write all of the logged changes back to the metadata.  They
> changes are safely recorded /in/ the log....
> 
> > <no further entries, VM shuts down>
> > 
> > However, I get a different result. This time I get a stale grub menu
> > with a single kernel option (same as if the update hadn't happened).
> > If I boot, kernel messages reports log replay. When I reboot again,
> 
> ...because mounting replays them and after that the metadata is up to
> date.
> 
> Strange, though, because afaict we xfs_attr_quiesce seems to do the
> right things when we remount rw->ro, so you wouldn't think that there
> would be a need to recover.  Maybe there's something funny going on
> w.r.t. the three messages about remounting readonly?

Or maybe we're simply /not/ remounting readonly despite the log
messages, as mentioned above.

--D

> > now I have a two kernel grub menu. I'm guessing the slowness of
> > systemd debug is resulting in the difference; more time to commit the
> > changes?
> >
> > Anyway, it looks / is remounted read-only before reboot. Note, this is
> > a single partition/volume setup, so /boot/grub2/grub.cfg being
> > modified by grubby is on the fs being remounted read-only and reboot
> > time.
> 
> --D
> 
> > 
> > 
> > 
> > -- 
> > Chris Murphy
> > --
> > To unsubscribe from this list: send the line "unsubscribe linux-xfs" in
> > the body of a message to majordomo@xxxxxxxxxxxxxxx
> > More majordomo info at  http://vger.kernel.org/majordomo-info.html
> --
> To unsubscribe from this list: send the line "unsubscribe linux-xfs" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-xfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [XFS Filesystem Development (older mail)]     [Linux Filesystem Development]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux RAID]     [Linux SCSI]


  Powered by Linux