When running on 5.3 or 5.4 kernels and mounting a Netapp filer via NFSv3
and accessing the .snapshot directory, "fileid changed" errors appear
in dmesg. Reverting these 2 patches solves the issue:
eb3d8f42231aec: NFS: Fix inode fileid checks in attribute revalidation code
7e10cc25bfa0dd: NFS: Don't refresh attributes with mounted-on-file information
Various condition checks changed around printing that error in these
commits, but I'm unclear whether the errors are spurious or something
I should actually be concerned about. Thoughts?
Phil
On Fri, Feb 28, 2020 at 11:29:24AM -0500, Olga Kornievskaia wrote:
> On Wed, Feb 26, 2020 at 9:39 PM Phil Oester <[email protected]> wrote:
> >
> > When running on 5.3 or 5.4 kernels and mounting a Netapp filer via NFSv3
> > and accessing the .snapshot directory, "fileid changed" errors appear
> > in dmesg. Reverting these 2 patches solves the issue:
> >
> > eb3d8f42231aec: NFS: Fix inode fileid checks in attribute revalidation code
> > 7e10cc25bfa0dd: NFS: Don't refresh attributes with mounted-on-file information
> >
> > Various condition checks changed around printing that error in these
> > commits, but I'm unclear whether the errors are spurious or something
> > I should actually be concerned about. Thoughts?
> >
>
> Hi Phil,
>
> Can you provide a bit more about your Netapp setup? Netapp version and
> any kind of setup you have enabled (like are you using qtrees? have
> you toggles v4-fsid-change?) ,. I can't reproduce this on my setup.
Hi Olga,
The Netapp is running Ontap 9.6P2. This particular volume has no qtrees.
Also I have not toggled v4-fsid-change, but as noted I am mounting the
volume via NFSv3, so this should not be related.
Some additional information I've found: the fileid changes also occur on
a 4.19.106 kernel, but on that kernel there is no error printed. So this
again leads me to believe that this is a common occurrence, but the conditionals
which changed in 5.3+ kernels only now are causing it to be printed.
From 4.19.106:
[root@hq1-kvm9 (stg) poester] # ls -i /var/lib/libvirt/images/.snapshot | grep daily.2020-02-2._0010
70566464 daily.2020-02-28_0010
70573019 daily.2020-02-29_0010
[root@hq1-kvm9 (stg) poester] # ls -i /var/lib/libvirt/images/.snapshot | grep daily.2020-02-2._0010
70566464 daily.2020-02-28_0010
70573019 daily.2020-02-29_0010
[root@hq1-kvm9 (stg) poester] # find /var/lib/libvirt/images/.snapshot > /dev/null
[root@hq1-kvm9 (stg) poester] # ls -i /var/lib/libvirt/images/.snapshot | grep daily.2020-02-2._0010
70566464 daily.2020-02-28_0010
70572864 daily.2020-02-29_0010 <=== Note fileid changed here
Nothing showed up in dmesg on that kernel, but in the 5.4.latest stable kernel
that would cause the "fileid changed" error to print.
Thanks,
Phil