diff options
Diffstat (limited to 'drivers/staging/lustre/lustre/ptlrpc/sec_config.c')
-rw-r--r-- | drivers/staging/lustre/lustre/ptlrpc/sec_config.c | 78 |
1 files changed, 14 insertions, 64 deletions
diff --git a/drivers/staging/lustre/lustre/ptlrpc/sec_config.c b/drivers/staging/lustre/lustre/ptlrpc/sec_config.c index e7f2f3332..7ff948fe1 100644 --- a/drivers/staging/lustre/lustre/ptlrpc/sec_config.c +++ b/drivers/staging/lustre/lustre/ptlrpc/sec_config.c @@ -48,27 +48,6 @@ #include "ptlrpc_internal.h" -const char *sptlrpc_part2name(enum lustre_sec_part part) -{ - switch (part) { - case LUSTRE_SP_CLI: - return "cli"; - case LUSTRE_SP_MDT: - return "mdt"; - case LUSTRE_SP_OST: - return "ost"; - case LUSTRE_SP_MGC: - return "mgc"; - case LUSTRE_SP_MGS: - return "mgs"; - case LUSTRE_SP_ANY: - return "any"; - default: - return "err"; - } -} -EXPORT_SYMBOL(sptlrpc_part2name); - enum lustre_sec_part sptlrpc_target_sec_part(struct obd_device *obd) { const char *type = obd->obd_type->typ_name; @@ -180,7 +159,7 @@ static void sptlrpc_rule_init(struct sptlrpc_rule *rule) /* * format: network[.direction]=flavor */ -int sptlrpc_parse_rule(char *param, struct sptlrpc_rule *rule) +static int sptlrpc_parse_rule(char *param, struct sptlrpc_rule *rule) { char *flavor, *dir; int rc; @@ -234,9 +213,8 @@ int sptlrpc_parse_rule(char *param, struct sptlrpc_rule *rule) return 0; } -EXPORT_SYMBOL(sptlrpc_parse_rule); -void sptlrpc_rule_set_free(struct sptlrpc_rule_set *rset) +static void sptlrpc_rule_set_free(struct sptlrpc_rule_set *rset) { LASSERT(rset->srs_nslot || (rset->srs_nrule == 0 && rset->srs_rules == NULL)); @@ -246,12 +224,11 @@ void sptlrpc_rule_set_free(struct sptlrpc_rule_set *rset) sptlrpc_rule_set_init(rset); } } -EXPORT_SYMBOL(sptlrpc_rule_set_free); /* * return 0 if the rule set could accommodate one more rule. */ -int sptlrpc_rule_set_expand(struct sptlrpc_rule_set *rset) +static int sptlrpc_rule_set_expand(struct sptlrpc_rule_set *rset) { struct sptlrpc_rule *rules; int nslot; @@ -280,22 +257,24 @@ int sptlrpc_rule_set_expand(struct sptlrpc_rule_set *rset) rset->srs_nslot = nslot; return 0; } -EXPORT_SYMBOL(sptlrpc_rule_set_expand); static inline int rule_spec_dir(struct sptlrpc_rule *rule) { return (rule->sr_from != LUSTRE_SP_ANY || rule->sr_to != LUSTRE_SP_ANY); } + static inline int rule_spec_net(struct sptlrpc_rule *rule) { return (rule->sr_netid != LNET_NIDNET(LNET_NID_ANY)); } + static inline int rule_match_dir(struct sptlrpc_rule *r1, struct sptlrpc_rule *r2) { return (r1->sr_from == r2->sr_from && r1->sr_to == r2->sr_to); } + static inline int rule_match_net(struct sptlrpc_rule *r1, struct sptlrpc_rule *r2) { @@ -306,8 +285,8 @@ static inline int rule_match_net(struct sptlrpc_rule *r1, * merge @rule into @rset. * the @rset slots might be expanded. */ -int sptlrpc_rule_set_merge(struct sptlrpc_rule_set *rset, - struct sptlrpc_rule *rule) +static int sptlrpc_rule_set_merge(struct sptlrpc_rule_set *rset, + struct sptlrpc_rule *rule) { struct sptlrpc_rule *p = rset->srs_rules; int spec_dir, spec_net; @@ -391,17 +370,16 @@ int sptlrpc_rule_set_merge(struct sptlrpc_rule_set *rset, return 0; } -EXPORT_SYMBOL(sptlrpc_rule_set_merge); /** * given from/to/nid, determine a matching flavor in ruleset. * return 1 if a match found, otherwise return 0. */ -int sptlrpc_rule_set_choose(struct sptlrpc_rule_set *rset, - enum lustre_sec_part from, - enum lustre_sec_part to, - lnet_nid_t nid, - struct sptlrpc_flavor *sf) +static int sptlrpc_rule_set_choose(struct sptlrpc_rule_set *rset, + enum lustre_sec_part from, + enum lustre_sec_part to, + lnet_nid_t nid, + struct sptlrpc_flavor *sf) { struct sptlrpc_rule *r; int n; @@ -428,20 +406,6 @@ int sptlrpc_rule_set_choose(struct sptlrpc_rule_set *rset, return 0; } -EXPORT_SYMBOL(sptlrpc_rule_set_choose); - -void sptlrpc_rule_set_dump(struct sptlrpc_rule_set *rset) -{ - struct sptlrpc_rule *r; - int n; - - for (n = 0; n < rset->srs_nrule; n++) { - r = &rset->srs_rules[n]; - CDEBUG(D_SEC, "<%02d> from %x to %x, net %x, rpc %x\n", n, - r->sr_from, r->sr_to, r->sr_netid, r->sr_flvr.sf_rpc); - } -} -EXPORT_SYMBOL(sptlrpc_rule_set_dump); /********************************** * sptlrpc configuration support * @@ -836,20 +800,6 @@ out: flavor_set_flags(sf, from, to, 1); } -/** - * called by target devices, determine the expected flavor from - * certain peer (from, nid). - */ -void sptlrpc_target_choose_flavor(struct sptlrpc_rule_set *rset, - enum lustre_sec_part from, - lnet_nid_t nid, - struct sptlrpc_flavor *sf) -{ - if (sptlrpc_rule_set_choose(rset, from, LUSTRE_SP_ANY, nid, sf) == 0) - get_default_flavor(sf); -} -EXPORT_SYMBOL(sptlrpc_target_choose_flavor); - #define SEC_ADAPT_DELAY (10) /** @@ -871,7 +821,7 @@ void sptlrpc_conf_client_adapt(struct obd_device *obd) if (imp) { spin_lock(&imp->imp_lock); if (imp->imp_sec) - imp->imp_sec_expire = get_seconds() + + imp->imp_sec_expire = ktime_get_real_seconds() + SEC_ADAPT_DELAY; spin_unlock(&imp->imp_lock); } |