On Sun, Sep 05 2021, Russ Allbery wrote:

We could, but it does indicate an actual problem, so I'd love to
understand more about why this is happening. If ZFS does change the inodes on every reboot, another possible solution may be to ensure that expireover fixes the inode references (I'm not sure that it does right now in cases where it didn't need to change anything during expiration), which
means the messages will only happen once after each reboot.

This has been nagging at me, and after giving it some more thought, I am remembering something now -- the exact timing is lost, and I apologize for not thinking of it before.

This was running inside a Docker container. Initially I installed some things, then tar'd up /var/{lib,spool}/news in preparation for making them into Docker volumes. I did make the volumes, and unpacked the tarball over them. Was this coinciding with the log messages? That I don't know, but it's the most plausible explanation I have right now. The volumes were on a different ZFS dataset so that would certainly have different inode numbers. Again, I apologize for not thinking of this before.

I assume ZFS can't be changing them constantly without a reboot or a remounting of the file system, since presumably that would break lots of
other software.

I'm sure this is right. I will note that people may like to be able to mount a ZFS snapshot -- which would certainly have a different st_dev or st_ino -- without 50,000 errors. But it may well be that I had forgotten this.

- John

Reply via email to