summarylogtreecommitdiffstats
path: root/0002-Linux-4.4-Use-locks_lock_file_wait.patch
diff options
context:
space:
mode:
Diffstat (limited to '0002-Linux-4.4-Use-locks_lock_file_wait.patch')
-rw-r--r--0002-Linux-4.4-Use-locks_lock_file_wait.patch56
1 files changed, 56 insertions, 0 deletions
diff --git a/0002-Linux-4.4-Use-locks_lock_file_wait.patch b/0002-Linux-4.4-Use-locks_lock_file_wait.patch
new file mode 100644
index 00000000000..0f0bc4f1efb
--- /dev/null
+++ b/0002-Linux-4.4-Use-locks_lock_file_wait.patch
@@ -0,0 +1,56 @@
+From b7b656c5240eb4b62a5905370759daa4f1b03521 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Michael=20La=C3=9F?= <lass@mail.uni-paderborn.de>
+Date: Mon, 18 Jan 2016 19:58:00 +0100
+Subject: [PATCH 2/3] Linux 4.4: Use locks_lock_file_wait
+
+The locks API was changed in Linux 4.4, introducing locks_lock_file_wait
+(e55c34a66f87e78fb1fc6b623b78c5ad74b475af) and removing
+flock_lock_file_wait (616fb38fa7a9599293e05ae1fa9acfaf73922434).
+
+locks_lock_file_wait can be used as a drop-in replacement so define
+flock_lock_file_wait as an alias for it.
+
+Reviewed-on: https://gerrit.openafs.org/12170
+Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
+Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
+Tested-by: BuildBot <buildbot@rampaginggeek.com>
+(cherry picked from commit 58d82226a555d3781a5cb45e5cc177727628ebd8)
+
+Change-Id: Icceae3906c1a612fb9104b860e519bb7f94d25d3
+---
+ acinclude.m4 | 3 +++
+ src/afs/LINUX/osi_compat.h | 4 ++++
+ 2 files changed, 7 insertions(+)
+
+diff --git a/acinclude.m4 b/acinclude.m4
+index a7a7cb6..afad50b 100644
+--- a/acinclude.m4
++++ b/acinclude.m4
+@@ -976,6 +976,9 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*)
+ AC_CHECK_LINUX_FUNC([kernel_setsockopt],
+ [#include <linux/net.h>],
+ [kernel_setsockopt(NULL, 0, 0, NULL, 0);])
++ AC_CHECK_LINUX_FUNC([locks_lock_file_wait],
++ [#include <linux/fs.h>],
++ [locks_lock_file_wait(NULL, NULL);])
+ AC_CHECK_LINUX_FUNC([page_follow_link],
+ [#include <linux/fs.h>],
+ [page_follow_link(0,0);])
+diff --git a/src/afs/LINUX/osi_compat.h b/src/afs/LINUX/osi_compat.h
+index 47450e6..4d484c1 100644
+--- a/src/afs/LINUX/osi_compat.h
++++ b/src/afs/LINUX/osi_compat.h
+@@ -47,6 +47,10 @@ typedef struct path afs_linux_path_t;
+ # endif
+ #endif
+
++#if defined(HAVE_LINUX_LOCKS_LOCK_FILE_WAIT)
++# define flock_lock_file_wait locks_lock_file_wait
++#endif
++
+ #if !defined(HAVE_LINUX_DO_SYNC_READ) && !defined(STRUCT_FILE_OPERATIONS_HAS_READ_ITER)
+ static inline int
+ do_sync_read(struct file *fp, char *buf, size_t count, loff_t *offp) {
+--
+2.7.4
+