On Tue, Sep 09, 2025 at 07:29:02PM +0800, Wu Guanghao wrote: > When starting a Fedora virtual machine using QEMU, if the device corresponding > to the root directory is the entire disk or a disk partition, the device > recorded in /proc/self/mounts will be /dev/root instead of the true device. How does this /dev/root situation occur? My fedora VMs show the real root device and not /dev/root in /proc/self/mounts, so it's not clear to me why /dev/root is being reported here? This smells of a custom boot sequence that is mounting the root filesystem on a temporary initramfs /dev/root node (which then gets removed once the initramfs is done) rather than using pivot_root to move the real root fs into place once the real device nodes have been initialised and the root fs mounted using them... > This can lead to the failure of executing commands such as xfs_growfs/xfs_info. > > $ cat /proc/self/mounts > /dev/root / xfs rw,seclabel,relatime,attr2,inode64,logbufs=8,logbsize=32k,noquota 0 0 > devtmpfs /dev devtmpfs rw,seclabel,relatime,size=4065432k,nr_inodes=1016358,mode=755 0 0 > ... > > $ mount > /dev/sda3 on / type xfs (rw,relatime,seclabel,attr2,inode64,logbufs=8,logbsize=32k,noquota) > devtmpfs on /dev type devtmpfs (rw,relatime,seclabel,size=4065432k,nr_inodes=1016358,mode=755) > ... > > $ xfs_growfs / > xfs_growfs: / is not a mounted XFS filesystem > > $ xfs_growfs /dev/sda3 > xfs_growfs: /dev/sda3 is not a mounted XFS filesystem > > $ xfs_info / > /: cannot find mount point.# > > So, if the root device is found to be /dev/root, we need to obtain the > corresponding real device first. IMO, having a bogus device in /proc/self/mounts output is the problem that needs to be fixed here. Working around a broken /dev/root device in every userspace utility that reads /proc/self/mounts does not feel like the right way to address this problem. -Dave. -- Dave Chinner david@xxxxxxxxxxxxx