aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/vfs_compat.h
diff options
context:
space:
mode:
authorDarik Horn <[email protected]>2011-12-16 15:15:12 -0600
committerBrian Behlendorf <[email protected]>2011-12-16 20:02:52 -0800
commit28eb9213d89cb25438fcecb86e735cc3edc26ea4 (patch)
treecc7fd47f23fac75f81ed6d888d6d84aa00711e9c /include/linux/vfs_compat.h
parente6101ea87f5127c549d520aad124290857218fa5 (diff)
Linux 3.2 compat: set_nlink()
Directly changing inode->i_nlink is deprecated in Linux 3.2 by commit SHA: bfe8684869601dacfcb2cd69ef8cfd9045f62170 Use the new set_nlink() kernel function instead. Signed-off-by: Brian Behlendorf <[email protected]> Closes: #462
Diffstat (limited to 'include/linux/vfs_compat.h')
-rw-r--r--include/linux/vfs_compat.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/include/linux/vfs_compat.h b/include/linux/vfs_compat.h
index 825a7fd3b..371bbc1d1 100644
--- a/include/linux/vfs_compat.h
+++ b/include/linux/vfs_compat.h
@@ -94,4 +94,19 @@ bdi_setup_and_register(struct backing_dev_info *bdi,char *name,unsigned int cap)
}
#endif /* HAVE_BDI && !HAVE_BDI_SETUP_AND_REGISTER */
+/*
+ * 3.2-rc1 API change,
+ * Add set_nlink() if it is not exported by the Linux kernel.
+ *
+ * i_nlink is read-only in Linux 3.2, but it can be set directly in
+ * earlier kernels.
+ */
+#ifndef HAVE_SET_NLINK
+static inline void
+set_nlink(struct inode *inode, unsigned int nlink)
+{
+ inode->i_nlink = nlink;
+}
+#endif /* HAVE_SET_NLINK */
+
#endif /* _ZFS_VFS_H */