This is a copy of the bug from Red Hat Bugzilla (https://bugzilla.redhat.com/show_bug.cgi?id=872629). There is no activity there for a while - that's why I am posting it here. RHEL OpenVZ kernel doesn't process fuse inode numbers properly: Now it stores attr->ino at inode->i_ino, returns attr->ino at the first time and then returns inode->i_ino if the attribute timeout isn't expired. That's wrong on 32 bit platforms because attr->ino is 64 bit and inode->i_ino is 32 bit in this case. It can cause problems e.g. with NFS server running on top of GluserFS that gets different inode numbers time by time: "NFS: server server error: fileid changed" I have a patch "fuse: fix stat call on 32 bit platforms" that fixes this problem by saving 64 bit ino in fuse_inode structure and returning it everything when getattr comes. Also squash attr->ino into inode->i_ino explicitly. The patch was merged into the mainline and some stable releases (v3.0.35, v3.2.21, v3.4.3 and v2.6.32.60 too) but I don't see it in the latest RHEL OpenVZ kernel patch for 2.6.32 kernel. The commit id in mainline: 45c72cd73c788dd18c8113d4a404d6b4a01decf1 The link to the commit merged into 2.6.32.60 kernel: http://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=commit;h=db8a784af98d392a51fa25bb651bf90a982044e3
kernel-image-ovz-el-2.6.32-alt85 -> sisyphus: * Sun Mar 31 2013 Led <led@altlinux> 2.6.32-alt85 - fuse: fix stat call on 32 bit platforms (ALT#28767)