On Fri, Jun 18, 2021 at 11:54:10AM -0700, Darrick J. Wong wrote: > From: Darrick J. Wong <djwong@xxxxxxxxxx> > > Consolidate the shutdown messages to a single line containing the > reason, the passed-in flags, the source of the shutdown, and the end > result. This means we now only have one line to look for when > debugging, which is useful when the fs goes down while something else is > flooding dmesg. > > Signed-off-by: Darrick J. Wong <djwong@xxxxxxxxxx> > --- > fs/xfs/xfs_fsops.c | 16 ++++++++-------- > 1 file changed, 8 insertions(+), 8 deletions(-) > > > diff --git a/fs/xfs/xfs_fsops.c b/fs/xfs/xfs_fsops.c > index b7f979eca1e2..6ed29b158312 100644 > --- a/fs/xfs/xfs_fsops.c > +++ b/fs/xfs/xfs_fsops.c > @@ -538,25 +538,25 @@ xfs_do_force_shutdown( > > if (flags & SHUTDOWN_FORCE_UMOUNT) { > xfs_alert(mp, > -"User initiated shutdown received. Shutting down filesystem"); > +"User initiated shutdown (0x%x) received. Shutting down filesystem", > + flags); > return; > } So SHUTDOWN_FORCE_UMOUNT can actually be used together with SHUTDOWN_LOG_IO_ERROR so printing something more specific could be useful, although I'd prefer text over the hex flags. > if (flags & SHUTDOWN_CORRUPT_INCORE) { > xfs_alert_tag(mp, XFS_PTAG_SHUTDOWN_CORRUPT, > -"Corruption of in-memory data detected. Shutting down filesystem"); > +"Corruption of in-memory data (0x%x) detected at %pS (%s:%d). Shutting down filesystem", > + flags, __return_address, fname, lnnum); > if (XFS_ERRLEVEL_HIGH <= xfs_error_level) > xfs_stack_trace(); > } else if (logerror) { > xfs_alert_tag(mp, XFS_PTAG_SHUTDOWN_LOGERROR, > - "Log I/O Error Detected. Shutting down filesystem"); > +"Log I/O error (0x%x) detected at %pS (%s:%d). Shutting down filesystem", > + flags, __return_address, fname, lnnum); > } else { > xfs_alert_tag(mp, XFS_PTAG_SHUTDOWN_IOERROR, > - "I/O Error Detected. Shutting down filesystem"); > +"I/O error (0x%x) detected at %pS (%s:%d). Shutting down filesystem", > + flags, __return_address, fname, lnnum); > } However once we get here, flags can have exactly one specific value, so printing it (especially as unreadable hex value) is completely pointless.