Bug #61924
opentar: file changed as we read it (unless cephfs mounted with norbytes)
0%
Description
Ceph: Pacific. When using tar heavily (such as compiling a linux kernel into distro-specific packages), when the compile directory is a cephfs kernel mount: the compile errors out with
tar: file changed as we read it
Rebooting with 'norbytes' added to the mount string reduces but doesn't avoid that error. In both cases lazytime is also a mount option. Trying again with 'relatime' doesn't fix it either.
Updated by Venky Shankar 10 months ago
Hi Harry,
Harry Coin wrote:
Ceph: Pacific. When using tar heavily (such as compiling a linux kernel into distro-specific packages), when the compile directory is a cephfs kernel mount: the compile errors out with
Could you list out the kernel version? I remember (at least) one cap bug where the kernel would not flush caps causing error like these when using tar.
tar: file changed as we read it
Rebooting with 'norbytes' added to the mount string reduces but doesn't avoid that error. In both cases lazytime is also a mount option. Trying again with 'relatime' doesn't fix it either.
The issue here is that the size and ctime for a directory changes between two stat calls, Using norbytes should resolve this since that turns off using recursive stats for filling in st_size in stat.
Updated by Venky Shankar 10 months ago
Venky Shankar wrote:
Hi Harry,
Harry Coin wrote:
Ceph: Pacific. When using tar heavily (such as compiling a linux kernel into distro-specific packages), when the compile directory is a cephfs kernel mount: the compile errors out with
Could you list out the kernel version? I remember (at least) one cap bug where the kernel would not flush caps causing error like these when using tar.
tar: file changed as we read it
Rebooting with 'norbytes' added to the mount string reduces but doesn't avoid that error. In both cases lazytime is also a mount option. Trying again with 'relatime' doesn't fix it either.
The issue here is that the size and ctime for a directory changes between two stat calls, Using norbytes should resolve this since that turns off using recursive stats for filling in st_size in stat.
Could you share the required information please?