+10
−4
Loading
stable inclusion from stable-v6.1.92 commit 4db0e08ef9aceee6947ebdb387439b5600e7564f category: bugfix bugzilla: https://gitee.com/openeuler/kernel/issues/IBB6IN Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=4db0e08ef9aceee6947ebdb387439b5600e7564f -------------------------------- [ Upstream commit 76e58901 ] In the next patch, we're going to prohibit log recovery if the primary superblock contains an unrecognized rocompat feature bit even on readonly mounts. This requires removing all the code in the log mounting process that temporarily disables the readonly state. Unfortunately, inode inactivation disables itself on readonly mounts. Clearing the iunlinked lists after log recovery needs inactivation to run to free the unreferenced inodes, which (AFAICT) is the only reason why log mounting plays games with the readonly state in the first place. Therefore, change the inactivation predicates to allow inactivation during log recovery of a readonly mount. Fixes: 400cf2265d55 ("[Backport] xfs: fix log recovery when unknown rocompat bits are set") Signed-off-by:Darrick J. Wong <djwong@kernel.org> Reviewed-by:
Dave Chinner <dchinner@redhat.com> Signed-off-by:
Leah Rumancik <leah.rumancik@gmail.com> Acked-by:
Darrick J. Wong <djwong@kernel.org> Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by:
Zizhi Wo <wozizhi@huawei.com>