diff options
author | Darik Horn <[email protected]> | 2011-12-16 15:15:12 -0600 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2011-12-16 20:02:52 -0800 |
commit | 28eb9213d89cb25438fcecb86e735cc3edc26ea4 (patch) | |
tree | cc7fd47f23fac75f81ed6d888d6d84aa00711e9c /include/linux | |
parent | e6101ea87f5127c549d520aad124290857218fa5 (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')
-rw-r--r-- | include/linux/Makefile.in | 1 | ||||
-rw-r--r-- | include/linux/vfs_compat.h | 15 |
2 files changed, 16 insertions, 0 deletions
diff --git a/include/linux/Makefile.in b/include/linux/Makefile.in index 5e04eb4ef..e50b89b9b 100644 --- a/include/linux/Makefile.in +++ b/include/linux/Makefile.in @@ -70,6 +70,7 @@ am__aclocal_m4_deps = \ $(top_srcdir)/config/kernel-rq-for-each_segment.m4 \ $(top_srcdir)/config/kernel-rq-is_sync.m4 \ $(top_srcdir)/config/kernel-security-inode-init.m4 \ + $(top_srcdir)/config/kernel-set-nlink.m4 \ $(top_srcdir)/config/kernel-truncate-setsize.m4 \ $(top_srcdir)/config/kernel-xattr-handler.m4 \ $(top_srcdir)/config/kernel.m4 \ 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 */ |