Re: [PATCH RFC v2] xfs: Print XFS UUID on mount and umount events.
From: "Darrick J. Wong" <djwong@kernel.org>
Date: 2021-05-21 16:06:21
On Fri, May 21, 2021 at 11:03:11AM +0200, lukas@herbolt.com wrote:
quoted
Are you going to wire up fs uuid logging for the other filesystems that support them?Well, I wasn't planning to but I can take a look on other FS as well Ext4 and Btrfs for start.quoted
What happens w.r.t. uuid disambiguation if someone uses a nouuid mount to mount a filesystem with the same uuid as an already-mounted xfs?I a not sure I understand the "nouuid mount". I don't think there can be XFS with empty uuid value in SB. And printing the message is independent on the mount method (mount UUID="" ...; mount /dev/sdX ...;).
I meant specifically: mount /dev/mapper/fubar /mnt <snapshot fubar to fubar.bak> Oh no, I deleted something in fubar, let's retrieve it from fubar.bak! mount /dev/mapper/fubar.bak /opt # fails because same uuid as fubar mount /dev/mapper/fubar.bak /opt -o nouuid --D
On 20.05.2021 17:23, Darrick J. Wong wrote:quoted
On Wed, May 19, 2021 at 05:22:48PM +0200, Lukas Herbolt wrote:quoted
As of now only device names are printed out over __xfs_printk(). The device names are not persistent across reboots which in case of searching for origin of corruption brings another task to properly identify the devices. This patch add XFS UUID upon every mount/umount event which will make the identification much easier.A few questions.... Are you going to wire up fs uuid logging for the other filesystems that support them? What happens w.r.t. uuid disambiguation if someone uses a nouuid mount to mount a filesystem with the same uuid as an already-mounted xfs? The changes themselves look ok, but I'm wondering what the use case is here. --Dquoted
Signed-off-by: Lukas Herbolt <redacted> --- V2: Drop void casts and fix long lines fs/xfs/xfs_log.c | 10 ++++++---- fs/xfs/xfs_super.c | 2 +- 2 files changed, 7 insertions(+), 5 deletions(-)diff --git a/fs/xfs/xfs_log.c b/fs/xfs/xfs_log.c index 06041834daa31..8f4f671fd80d5 100644 --- a/fs/xfs/xfs_log.c +++ b/fs/xfs/xfs_log.c@@ -570,12 +570,14 @@ xfs_log_mount( int min_logfsbs; if (!(mp->m_flags & XFS_MOUNT_NORECOVERY)) { - xfs_notice(mp, "Mounting V%d Filesystem", - XFS_SB_VERSION_NUM(&mp->m_sb)); + xfs_notice(mp, "Mounting V%d Filesystem %pU", + XFS_SB_VERSION_NUM(&mp->m_sb), + &mp->m_sb.sb_uuid); } else { xfs_notice(mp, -"Mounting V%d filesystem in no-recovery mode. Filesystem will beinconsistent.", - XFS_SB_VERSION_NUM(&mp->m_sb)); +"Mounting V%d filesystem %pU in no-recovery mode. Filesystem will be inconsistent.", + XFS_SB_VERSION_NUM(&mp->m_sb), + &mp->m_sb.sb_uuid); ASSERT(mp->m_flags & XFS_MOUNT_RDONLY); }diff --git a/fs/xfs/xfs_super.c b/fs/xfs/xfs_super.c index e5e0713bebcd8..a4b8a5ad8039f 100644 --- a/fs/xfs/xfs_super.c +++ b/fs/xfs/xfs_super.c@@ -1043,7 +1043,7 @@ xfs_fs_put_super( if (!sb->s_fs_info) return; - xfs_notice(mp, "Unmounting Filesystem"); + xfs_notice(mp, "Unmounting Filesystem %pU", &mp->m_sb.sb_uuid); xfs_filestream_unmount(mp); xfs_unmountfs(mp); --2.31.1