Bug 2218844
Summary: | [RHEL 9] rename() duplicates paths for a file on NFSv4 volume | ||
---|---|---|---|
Product: | Red Hat Enterprise Linux 9 | Reporter: | Zhi Li <yieli> |
Component: | kernel | Assignee: | Jeff Layton <jlayton> |
kernel sub component: | NFS | QA Contact: | Zhi Li <yieli> |
Status: | CLOSED ERRATA | Docs Contact: | |
Severity: | unspecified | ||
Priority: | unspecified | CC: | bcodding, jiyin, jlayton, jwboyer, nfs-team, shdunne, xzhou, yoyang |
Version: | 9.3 | Keywords: | Regression, Triaged |
Target Milestone: | rc | ||
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | kernel-5.14.0-362.4.1.el9_3 | Doc Type: | If docs needed, set a value |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2023-11-07 08:49:05 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: | |||
Bug Depends On: | |||
Bug Blocks: | 2209174 |
Description
Zhi Li
2023-06-30 08:22:32 UTC
Hi team, Has anyone looked into this regression? Finally bisected back to: 638e3e7d9493 nfsd: use the getattr operation to fetch i_version Could be the assumption about change attr for directories is incorrect? I am digging in, but maybe you see the problem right away Jeff? This doesn't reproduce on: 615e95831ec3 (HEAD -> bisect) Merge tag 'v6.6-vfs.ctime' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs Jeff suspects this is the xfs change attr issue he's already fixed upstream, and has a couple of directions to choose from for a fix here, so handing this over. Here's my single-system reproducer (commented lines are for a non-restart bisect attempt): #!/bin/bash set -o xtrace set -o errexit umount -a -t nfs4 sudo rmmod nfsv4 nfsv3 nfs || true #sudo systemctl stop nfs-server #sudo umount /proc/fs/nfsd || true #sleep 1 #sudo rmmod nfsd rpcsec_gss_krb5 auth_rpcgss lockd nfs_acl || true # #LOCALVERSION="" make -C /devel/linux-nfs -j10 M=fs/nfs #LOCALVERSION="" make -C /devel/linux-nfs -j10 M=fs/nfsd # #sudo insmod /devel/linux-nfs/fs/nfs/nfs.ko #sudo insmod /devel/linux-nfs/fs/nfs/nfsv4.ko #sudo modprobe lockd #sudo modprobe nfs_acl #sudo modprobe auth_rpcgss #sudo modprobe rpcsec_gss_krb5 #sudo insmod /devel/linux-nfs/fs/nfsd/nfsd.ko sudo systemctl start nfs-server mkdir /mnt/localhost1 || true mkdir /mnt/localhost2 || true mount -t nfs -ov4,sec=sys,noac,nosharecache localhost:/exports /mnt/localhost1 mount -t nfs -ov4,sec=sys,noac,nosharecache localhost:/exports /mnt/localhost2 rm -rf /exports/{A,B} mkdir /mnt/localhost1/{A,B} touch /mnt/localhost1/A/f mv /mnt/localhost1/A/f /mnt/localhost1/B/ cat /mnt/localhost2/B/f mv /mnt/localhost2/B/f /mnt/localhost2/A/ mv /mnt/localhost1/A/f /mnt/localhost1/B/ umount -a -t nfs4 This turns out to be an ancient nfsd bug, that only manifested with the changes to how we fetch and present the change attr. Patch posted here for upstream: https://lore.kernel.org/linux-nfs/ZPyMyv1nNFV2whKP@tissot.1015granger.net/T/#t Moving to VERIFIED according to the comment#26. Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory (Important: kernel security, bug fix, and enhancement update), and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHSA-2023:6583 |