As of v3.2-rc1~84^2~1, struct inode.i_nlink is now const to prevent
direct modification.

Original patch was:

From c4442772286c0a1fdb99500d65e7d6f295388feb Mon Sep 17 00:00:00 2001
From: Anders Kaseorg <andersk@mit.edu>
Date: Sun, 20 Nov 2011 19:00:00 -0500
Subject: [PATCH] Linux: 3.2: Use set_nlink to update i_nlink
Change-Id: I685aa6e8638e8fe864f1a6a7e428dfb6839ebcea

Since handling m4 changes is annoying with spec files, we assume
that set_nlink is available.  This patch will break on old versions
of Linux, specifically prior to v3.1-8781-gd211858.

diff --git a/src/afs/LINUX/osi_vfsops.c b/src/afs/LINUX/osi_vfsops.c
index 596d064..d32720f 100644
--- a/src/afs/LINUX/osi_vfsops.c
+++ b/src/afs/LINUX/osi_vfsops.c
@@ -439,7 +439,7 @@ void
 vattr2inode(struct inode *ip, struct vattr *vp)
 {
     ip->i_ino = vp->va_nodeid;
-    ip->i_nlink = vp->va_nlink;
+    set_nlink(ip, vp->va_nlink);
     ip->i_blocks = vp->va_blocks;
 #ifdef STRUCT_INODE_HAS_I_BLKBITS
     ip->i_blkbits = AFS_BLKBITS;
