diff options
author | root <root@artemis.panaceas.org> | 2015-12-25 15:00:15 +0000 |
---|---|---|
committer | root <root@artemis.panaceas.org> | 2015-12-25 15:00:15 +0000 |
commit | ddd86436f4e3643c04b797f858dab95d5f2e4de9 (patch) | |
tree | bfe7a780cf9a2f4fc33aec32c82e625e79dece1f /backport-include/linux/kref.h | |
download | backports-3.10.19-1-ddd86436f4e3643c04b797f858dab95d5f2e4de9.tar.gz backports-3.10.19-1-ddd86436f4e3643c04b797f858dab95d5f2e4de9.tar.bz2 backports-3.10.19-1-ddd86436f4e3643c04b797f858dab95d5f2e4de9.zip |
Diffstat (limited to 'backport-include/linux/kref.h')
-rw-r--r-- | backport-include/linux/kref.h | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/backport-include/linux/kref.h b/backport-include/linux/kref.h new file mode 100644 index 0000000..d7b6381 --- /dev/null +++ b/backport-include/linux/kref.h @@ -0,0 +1,26 @@ +#ifndef __BACKPORT_KREF_H +#define __BACKPORT_KREF_H +#include_next <linux/kref.h> +#include <linux/version.h> + +#if LINUX_VERSION_CODE < KERNEL_VERSION(3,8,0) +#include <linux/atomic.h> + +/* This was backported to some kernels (e.g. 3.2.44 and 3.4.41), mask it */ +#define kref_get_unless_zero LINUX_BACKPORT(kref_get_unless_zero) + +/* This backports: + * + * commit 4b20db3de8dab005b07c74161cb041db8c5ff3a7 + * Author: Thomas Hellstrom <thellstrom@vmware.com> + * Date: Tue Nov 6 11:31:49 2012 +0000 + * + * kref: Implement kref_get_unless_zero v3 + */ +static inline int __must_check kref_get_unless_zero(struct kref *kref) +{ + return atomic_add_unless(&kref->refcount, 1, 0); +} +#endif + +#endif /* __BACKPORT_KREF_H */ |