X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=lustre%2Fptlrpc%2Fgss%2Fgss_mech_switch.c;h=7c5b8307a149e68c8b0a31ea4e22960af0f7e8a6;hp=4aa45f4d22230b67592303a0231c53d72349bdb5;hb=8c47378b057e72d6125f4baffe8721e0734d0d3f;hpb=e3a7c58aebafce40323db54bf6056029e5af4a70 diff --git a/lustre/ptlrpc/gss/gss_mech_switch.c b/lustre/ptlrpc/gss/gss_mech_switch.c index 4aa45f4..7c5b830 100644 --- a/lustre/ptlrpc/gss/gss_mech_switch.c +++ b/lustre/ptlrpc/gss/gss_mech_switch.c @@ -3,6 +3,8 @@ * * Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved. * + * Copyright (c) 2012, Intel Corporation. + * * Author: Eric Mei */ @@ -41,9 +43,6 @@ * */ -#ifndef EXPORT_SYMTAB -# define EXPORT_SYMTAB -#endif #define DEBUG_SUBSYSTEM S_SEC #ifdef __KERNEL__ #include @@ -67,47 +66,47 @@ #include "gss_api.h" static CFS_LIST_HEAD(registered_mechs); -static cfs_spinlock_t registered_mechs_lock = CFS_SPIN_LOCK_UNLOCKED; +static DEFINE_SPINLOCK(registered_mechs_lock); int lgss_mech_register(struct gss_api_mech *gm) { - cfs_spin_lock(®istered_mechs_lock); - cfs_list_add(&gm->gm_list, ®istered_mechs); - cfs_spin_unlock(®istered_mechs_lock); - CWARN("Register %s mechanism\n", gm->gm_name); - return 0; + spin_lock(®istered_mechs_lock); + cfs_list_add(&gm->gm_list, ®istered_mechs); + spin_unlock(®istered_mechs_lock); + CWARN("Register %s mechanism\n", gm->gm_name); + return 0; } void lgss_mech_unregister(struct gss_api_mech *gm) { - cfs_spin_lock(®istered_mechs_lock); - cfs_list_del(&gm->gm_list); - cfs_spin_unlock(®istered_mechs_lock); - CWARN("Unregister %s mechanism\n", gm->gm_name); + spin_lock(®istered_mechs_lock); + cfs_list_del(&gm->gm_list); + spin_unlock(®istered_mechs_lock); + CWARN("Unregister %s mechanism\n", gm->gm_name); } struct gss_api_mech *lgss_mech_get(struct gss_api_mech *gm) { - __cfs_module_get(gm->gm_owner); - return gm; + __module_get(gm->gm_owner); + return gm; } struct gss_api_mech *lgss_name_to_mech(char *name) { - struct gss_api_mech *pos, *gm = NULL; - - cfs_spin_lock(®istered_mechs_lock); - cfs_list_for_each_entry(pos, ®istered_mechs, gm_list) { - if (0 == strcmp(name, pos->gm_name)) { - if (!cfs_try_module_get(pos->gm_owner)) - continue; - gm = pos; - break; - } - } - cfs_spin_unlock(®istered_mechs_lock); - return gm; + struct gss_api_mech *pos, *gm = NULL; + + spin_lock(®istered_mechs_lock); + cfs_list_for_each_entry(pos, ®istered_mechs, gm_list) { + if (0 == strcmp(name, pos->gm_name)) { + if (!try_module_get(pos->gm_owner)) + continue; + gm = pos; + break; + } + } + spin_unlock(®istered_mechs_lock); + return gm; } @@ -125,26 +124,26 @@ int mech_supports_subflavor(struct gss_api_mech *gm, __u32 subflavor) struct gss_api_mech *lgss_subflavor_to_mech(__u32 subflavor) { - struct gss_api_mech *pos, *gm = NULL; - - cfs_spin_lock(®istered_mechs_lock); - cfs_list_for_each_entry(pos, ®istered_mechs, gm_list) { - if (!cfs_try_module_get(pos->gm_owner)) - continue; - if (!mech_supports_subflavor(pos, subflavor)) { - cfs_module_put(pos->gm_owner); - continue; - } - gm = pos; - break; - } - cfs_spin_unlock(®istered_mechs_lock); - return gm; + struct gss_api_mech *pos, *gm = NULL; + + spin_lock(®istered_mechs_lock); + cfs_list_for_each_entry(pos, ®istered_mechs, gm_list) { + if (!try_module_get(pos->gm_owner)) + continue; + if (!mech_supports_subflavor(pos, subflavor)) { + module_put(pos->gm_owner); + continue; + } + gm = pos; + break; + } + spin_unlock(®istered_mechs_lock); + return gm; } void lgss_mech_put(struct gss_api_mech *gm) { - cfs_module_put(gm->gm_owner); + module_put(gm->gm_owner); } /* The mech could probably be determined from the token instead, but it's just