In linux's 'struct inode', i_nlink is now read-only for some reason. They provide an inline function to set it: set_nlink(struct inode *, unsigned) Attaching a patch... Reproducible: Always
Okay i'm having trouble with uploading files... probably due to my KDE update. Here's the patch: --- openafs-1.6.0/src/afs/LINUX/osi_vfsops.c 2012-01-07 17:50:01.437528708 -0800 +++ openafs-1.6.0/src/afs/LINUX/osi_vfsops.c 2012-01-07 17:50:39.531045712 -0800 @@ -24,6 +24,10 @@ #include "osi_compat.h" +#ifndef LINUX_VERSION_CODE +# include <linux/version.h> +#endif + struct vcache *afs_globalVp = 0; struct vfs *afs_globalVFS = 0; struct vfsmount *afs_cacheMnt; @@ -439,7 +443,11 @@ vattr2inode(struct inode *ip, struct vattr *vp) { ip->i_ino = vp->va_nodeid; +#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0) + set_nlink(ip, vp->va_nlink); +#else ip->i_nlink = vp->va_nlink; +#endif ip->i_blocks = vp->va_blocks; ip->i_blkbits = AFS_BLKBITS; #endif
Here's the commit that broke openafs-kernel: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a78ef704a8dd430225955f0709b22d4a6ba21deb It doesn't seem like a big deal...
please try the latest 1.6.1 pre1 ebuild in portage and report.
Failed for me using gentoo-sources-3.2.0-r1, openafs-1.6.1_pre1, and heimdal-1.5.1-r1. If this was supposed to work against a 3.2 kernel, what test case *was* found to work? I would guess it was probably tested against mit-krb but not heimdal. (Just guessing.) More at Bug #398253.
I can't do it right now; 1.6.1_pre1 has the same fix according to git.openafs.org so I'm satisfied. The heimdal stuff isn't relevant to this bug, and probably linux-3.2 isn't relevant to bug #398253.