Linux 3.18: key_type no longer has a match op
authorMarc Dionne <marc.dionne@your-file-system.com>
Thu, 23 Oct 2014 15:27:55 +0000 (11:27 -0400)
committerD Brashear <shadow@your-file-system.com>
Fri, 31 Oct 2014 12:38:02 +0000 (08:38 -0400)
Structure key_type no longer has a match op, and
overriding the default matching has to be done
differently.

Our current match op doesn't do anything special so there's
no need to try to override the defaults; just remove the
assignment of .match and the associated function.

Change-Id: I0ee195e47f40688d9a71ea62a0b87a4265363f05
Reviewed-on: http://gerrit.openafs.org/11563
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: D Brashear <shadow@your-file-system.com>

acinclude.m4
src/afs/LINUX/osi_groups.c

index 549eea3..aa5e15c 100644 (file)
@@ -890,8 +890,9 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*)
                 AC_CHECK_LINUX_STRUCT([file_operations], [sendfile], [fs.h])
                 AC_CHECK_LINUX_STRUCT([file_system_type], [mount], [fs.h])
                 AC_CHECK_LINUX_STRUCT([inode_operations], [truncate], [fs.h])
-                AC_CHECK_LINUX_STRUCT([key_type], [preparse], [key-type.h])
                 AC_CHECK_LINUX_STRUCT([key_type], [instantiate_prep], [key-type.h])
+                AC_CHECK_LINUX_STRUCT([key_type], [match], [key-type.h])
+                AC_CHECK_LINUX_STRUCT([key_type], [preparse], [key-type.h])
                 AC_CHECK_LINUX_STRUCT([nameidata], [path], [namei.h])
                 AC_CHECK_LINUX_STRUCT([proc_dir_entry], [owner], [proc_fs.h])
                 AC_CHECK_LINUX_STRUCT([super_block], [s_bdi], [fs.h])
index f3f87c2..f1d97a6 100644 (file)
@@ -498,10 +498,12 @@ error:
     return code;
 }
 
+#if defined(STRUCT_KEY_TYPE_HAS_MATCH)
 static int afs_pag_match(const struct key *key, const void *description)
 {
        return strcmp(key->description, description) == 0;
 }
+#endif
 
 static void afs_pag_destroy(struct key *key)
 {
@@ -527,7 +529,9 @@ struct key_type key_type_afs_pag =
 #else
     .instantiate = afs_pag_instantiate,
 #endif
+#if defined(STRUCT_KEY_TYPE_HAS_MATCH)
     .match       = afs_pag_match,
+#endif
     .destroy     = afs_pag_destroy,
 };