Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 907939 - sys-kernel/gentoo-sources-6.1.31 can not remount rootfs RW
Summary: sys-kernel/gentoo-sources-6.1.31 can not remount rootfs RW
Status: RESOLVED TEST-REQUEST
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: Normal normal (vote)
Assignee: Gentoo Kernel Bug Wranglers and Kernel Maintainers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-06-06 06:27 UTC by Bill Prendergast
Modified: 2023-07-02 15:05 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Bill Prendergast 2023-06-06 06:27:21 UTC
grub defaults to configuring the rootfs to be initially mounted RO, and openrc and systemd remount the rootfs to RW early during boot process.

This is on two machines
1) desktop using uefi, gpt partitions and systemd
2) headless using bios (old MB), gpt partitions and openrc

openrc rc.log snippet:
 * Remounting root filesystem read/write ...
mount: /: cannot remount /dev/sda5 read-write, is write-protected.
       dmesg(1) may have more information after failed mount system call.
 * Root filesystem could not be mounted read/write
 [ !! ]
 * Remounting filesystems ...
mount: /: cannot remount /dev/sda5 read-write, is write-protected.
       dmesg(1) may have more information after failed mount system call.
 [ ok ]
 * Updating /etc/mtab ...
 * /etc is not writable; unable to create /etc/mtab
 [ !! ]

dmesg snippet:
[    9.193440] EXT4-fs warning (device sda5): ext4_enable_quotas:6997: Failed to enable quota tracking (type=0, err=-30, ino=3). Please run e2fsck to fix.


dmesg (from an earlier boot, in "recovery" mode, and manual remount):
[   80.473545] sda5: Can't mount, would change RO state

for this earlier boot, "fsck.ext4 -f /dev/sda5" was run in the recovery shell (-f force as the filesystem was marked clean) however fsck.ext4 reported the filesystem clean in all stages
then "mount -o remount,rw /" was run which gave rise to the dmesg output above about changing RO state.



systemd snippet:
Jun 06 15:34:09 binah kernel: EXT4-fs warning (device sda5): ext4_enable_quotas:6997: Failed to enable quota tracking (type=0, err=-30, ino=3). Please run e2fsck to fix.
Jun 06 15:34:09 binah systemd-remount-fs[241]: mount: /: cannot remount /dev/sda5 read-write, is write-protected.
Jun 06 15:34:09 binah systemd-remount-fs[241]:        dmesg(1) may have more information after failed mount system call.
Jun 06 15:34:09 binah systemd-remount-fs[239]: /bin/mount for / exited with exit status 32
Jun 06 15:34:09 binah systemd[1]: systemd-remount-fs.service: Main process exited, code=exited, status=1/FAILURE
Jun 06 15:34:09 binah systemd[1]: systemd-remount-fs.service: Failed with result 'exit-code'.
Jun 06 15:34:09 binah systemd[1]: Failed to start systemd-remount-fs.service


This systemd machine is unusable with rootfs still mounted RO as other units fail to start properly leaving among other things the network interface without ip addresses and so unable to support logins due to non-reachability of ldap.


As there are no existing bugs already filed I'm assuming journaled quotas are causing this issue (the only system I have with traditional quota files ( aquota.{group,user} ) is x86 and so 6.1.31 wasn't stabilised).

Rebooting the two machines and selecting the previous 6.1.28 kernel, they both booted fine and without dmesg errors regarding the ext4 quotas.

The new 6.1.31 kernels were built using the ".config" copied from the 6.1.28 kernel source trees (on each respective machine).

Reproducible: Always
Comment 1 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2023-06-06 06:31:44 UTC
I took a very quick look and saw https://lore.kernel.org/all/647DEC75.7080300@huawei.com/, not sure if that's it.
Comment 2 Bill Prendergast 2023-06-06 06:36:44 UTC
forgot fstab line and filesystem features:

# ROOTFS
PARTUUID=<UUID> / ext4 noatime,user_xattr,acl,usrquota,grpquota 0 1


# tune2fs -l /dev/sda5
Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery extent 64bit flex_bg encrypt sparse_super large_file huge_file dir_nlink extra_isize quota metadata_csum

Filesystem flags: signed_directory_hash
Default mount options: user_xattr acl
Filesystem state: clean

these are identical between the openrc and systemd machines (well the actual PARTUUID is different)
Comment 3 Mike Pagano gentoo-dev 2023-06-06 13:18:05 UTC
(In reply to Bill Prendergast from comment #2)
> forgot fstab line and filesystem features:
> 
> # ROOTFS
> PARTUUID=<UUID> / ext4 noatime,user_xattr,acl,usrquota,grpquota 0 1
> 
> 
> # tune2fs -l /dev/sda5
> Filesystem features: has_journal ext_attr resize_inode dir_index filetype
> needs_recovery extent 64bit flex_bg encrypt sparse_super large_file
> huge_file dir_nlink extra_isize quota metadata_csum
> 
> Filesystem flags: signed_directory_hash
> Default mount options: user_xattr acl
> Filesystem state: clean
> 
> these are identical between the openrc and systemd machines (well the actual
> PARTUUID is different)

Can you do a bisect between the last working kernel and the first non-working kernel ?