xfs: publish UUID in struct super_block
authorAmir Goldstein <amir73il@gmail.com>
Fri, 28 Apr 2017 15:10:53 +0000 (08:10 -0700)
committerDarrick J. Wong <darrick.wong@oracle.com>
Fri, 28 Apr 2017 15:10:53 +0000 (08:10 -0700)
Copy the uuid of the filesystem to struct super_block s_uuid field,
as several other filesystems already do.  Copy regardless of the nouuid
mount option, because other filesystems also do not guaranty uniqueness
of the s_uuid field in super_block struct.

Signed-off-by: Amir Goldstein <amir73il@gmail.com>
Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
fs/xfs/xfs_mount.c

index 688ebff1f66384a309cca74539cbe4d27172b177..2eaf8185916610ee115ebd98f8869f2df59b5fe9 100644 (file)
@@ -73,6 +73,10 @@ xfs_uuid_mount(
        uuid_t                  *uuid = &mp->m_sb.sb_uuid;
        int                     hole, i;
 
+       /* Publish UUID in struct super_block */
+       BUILD_BUG_ON(sizeof(mp->m_super->s_uuid) != sizeof(uuid_t));
+       memcpy(&mp->m_super->s_uuid, uuid, sizeof(uuid_t));
+
        if (mp->m_flags & XFS_MOUNT_NOUUID)
                return 0;