* GPL HEADER END
*/
/*
- * Copyright (c) 2011, 2014, Intel Corporation.
+ * Copyright (c) 2014, 2016, Intel Corporation.
*
* Copyright 2012 Xyratex Technology Limited
*/
RETURN(-ENODEV);
}
- if (arg != NULL) {
- if (strlen(arg) + 1 > sizeof(policy->pol_arg)) {
- CERROR("NRS: arg '%s' is too long\n", arg);
- GOTO(out, rc = -E2BIG);
- }
- strncpy(policy->pol_arg, arg, sizeof(policy->pol_arg));
- }
-
/**
* Serialize policy starting across the NRS head
*/
}
}
+ if (arg != NULL) {
+ if (strlcpy(policy->pol_arg, arg, sizeof(policy->pol_arg)) >=
+ sizeof(policy->pol_arg)) {
+ CERROR("NRS: arg '%s' is too long\n", arg);
+ GOTO(out, rc = -E2BIG);
+ }
+ } else {
+ policy->pol_arg[0] = '\0';
+ }
+
policy->pol_state = NRS_POL_STATE_STARTED;
if (policy->pol_flags & PTLRPC_NRS_FL_FALLBACK) {
rc = ptlrpc_nrs_policy_register(&nrs_conf_tbf);
if (rc != 0)
GOTO(fail, rc);
+
+ rc = ptlrpc_nrs_policy_register(&nrs_conf_delay);
+ if (rc != 0)
+ GOTO(fail, rc);
#endif /* HAVE_SERVER_SUPPORT */
RETURN(rc);