staging: lustre: libcfs: remove lnet upcall code
Removing lnet upcall infrastructure completely as nobody uses it anymore. The upcall causes a delay before calling BUG() and might even cause a hang making getting a crash dump unreliable or containing outdated info. Signed-off-by: Alexander Zarochentsev <alexander.zarochentsev@seagate.com> Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-8418 Seagate-bug-id: MRP-2939 Reviewed-on: http://review.whamcloud.com/21440 Reviewed-by: Andreas Dilger <andreas.dilger@intel.com> Reviewed-by: James Simmons <uja.ornl@yahoo.com> Reviewed-by: Oleg Drokin <oleg.drokin@intel.com> Signed-off-by: James Simmons <jsimmons@infradead.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
989a0d7dfe
commit
4ec941d68c
|
@ -125,7 +125,6 @@ extern struct miscdevice libcfs_dev;
|
||||||
/**
|
/**
|
||||||
* The path of debug log dump upcall script.
|
* The path of debug log dump upcall script.
|
||||||
*/
|
*/
|
||||||
extern char lnet_upcall[1024];
|
|
||||||
extern char lnet_debug_log_upcall[1024];
|
extern char lnet_debug_log_upcall[1024];
|
||||||
|
|
||||||
extern struct cfs_wi_sched *cfs_sched_rehash;
|
extern struct cfs_wi_sched *cfs_sched_rehash;
|
||||||
|
|
|
@ -169,8 +169,6 @@ do { \
|
||||||
#define ntohs(x) ___ntohs(x)
|
#define ntohs(x) ___ntohs(x)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
void libcfs_run_upcall(char **argv);
|
|
||||||
void libcfs_run_lbug_upcall(struct libcfs_debug_msg_data *msg);
|
|
||||||
void libcfs_debug_dumplog(void);
|
void libcfs_debug_dumplog(void);
|
||||||
int libcfs_debug_init(unsigned long bufsize);
|
int libcfs_debug_init(unsigned long bufsize);
|
||||||
int libcfs_debug_cleanup(void);
|
int libcfs_debug_cleanup(void);
|
||||||
|
|
|
@ -57,7 +57,6 @@
|
||||||
|
|
||||||
#include <linux/kallsyms.h>
|
#include <linux/kallsyms.h>
|
||||||
|
|
||||||
char lnet_upcall[1024] = "/usr/lib/lustre/lnet_upcall";
|
|
||||||
char lnet_debug_log_upcall[1024] = "/usr/lib/lustre/lnet_debug_log_upcall";
|
char lnet_debug_log_upcall[1024] = "/usr/lib/lustre/lnet_debug_log_upcall";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -92,58 +91,6 @@ void libcfs_run_debug_log_upcall(char *file)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void libcfs_run_upcall(char **argv)
|
|
||||||
{
|
|
||||||
int rc;
|
|
||||||
int argc;
|
|
||||||
static const char * const envp[] = {
|
|
||||||
"HOME=/",
|
|
||||||
"PATH=/sbin:/bin:/usr/sbin:/usr/bin",
|
|
||||||
NULL
|
|
||||||
};
|
|
||||||
|
|
||||||
argv[0] = lnet_upcall;
|
|
||||||
argc = 1;
|
|
||||||
while (argv[argc])
|
|
||||||
argc++;
|
|
||||||
|
|
||||||
LASSERT(argc >= 2);
|
|
||||||
|
|
||||||
rc = call_usermodehelper(argv[0], argv, (char **)envp, 1);
|
|
||||||
if (rc < 0 && rc != -ENOENT) {
|
|
||||||
CERROR("Error %d invoking LNET upcall %s %s%s%s%s%s%s%s%s; check /sys/kernel/debug/lnet/upcall\n",
|
|
||||||
rc, argv[0], argv[1],
|
|
||||||
argc < 3 ? "" : ",", argc < 3 ? "" : argv[2],
|
|
||||||
argc < 4 ? "" : ",", argc < 4 ? "" : argv[3],
|
|
||||||
argc < 5 ? "" : ",", argc < 5 ? "" : argv[4],
|
|
||||||
argc < 6 ? "" : ",...");
|
|
||||||
} else {
|
|
||||||
CDEBUG(D_HA, "Invoked LNET upcall %s %s%s%s%s%s%s%s%s\n",
|
|
||||||
argv[0], argv[1],
|
|
||||||
argc < 3 ? "" : ",", argc < 3 ? "" : argv[2],
|
|
||||||
argc < 4 ? "" : ",", argc < 4 ? "" : argv[3],
|
|
||||||
argc < 5 ? "" : ",", argc < 5 ? "" : argv[4],
|
|
||||||
argc < 6 ? "" : ",...");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void libcfs_run_lbug_upcall(struct libcfs_debug_msg_data *msgdata)
|
|
||||||
{
|
|
||||||
char *argv[6];
|
|
||||||
char buf[32];
|
|
||||||
|
|
||||||
snprintf(buf, sizeof(buf), "%d", msgdata->msg_line);
|
|
||||||
|
|
||||||
argv[1] = "LBUG";
|
|
||||||
argv[2] = (char *)msgdata->msg_file;
|
|
||||||
argv[3] = (char *)msgdata->msg_fn;
|
|
||||||
argv[4] = buf;
|
|
||||||
argv[5] = NULL;
|
|
||||||
|
|
||||||
libcfs_run_upcall(argv);
|
|
||||||
}
|
|
||||||
EXPORT_SYMBOL(libcfs_run_lbug_upcall);
|
|
||||||
|
|
||||||
/* coverity[+kill] */
|
/* coverity[+kill] */
|
||||||
void __noreturn lbug_with_loc(struct libcfs_debug_msg_data *msgdata)
|
void __noreturn lbug_with_loc(struct libcfs_debug_msg_data *msgdata)
|
||||||
{
|
{
|
||||||
|
@ -158,7 +105,6 @@ void __noreturn lbug_with_loc(struct libcfs_debug_msg_data *msgdata)
|
||||||
dump_stack();
|
dump_stack();
|
||||||
if (!libcfs_panic_on_lbug)
|
if (!libcfs_panic_on_lbug)
|
||||||
libcfs_debug_dumplog();
|
libcfs_debug_dumplog();
|
||||||
libcfs_run_lbug_upcall(msgdata);
|
|
||||||
if (libcfs_panic_on_lbug)
|
if (libcfs_panic_on_lbug)
|
||||||
panic("LBUG");
|
panic("LBUG");
|
||||||
set_task_state(current, TASK_UNINTERRUPTIBLE);
|
set_task_state(current, TASK_UNINTERRUPTIBLE);
|
||||||
|
|
|
@ -365,14 +365,6 @@ static struct ctl_table lnet_table[] = {
|
||||||
.mode = 0444,
|
.mode = 0444,
|
||||||
.proc_handler = &proc_cpt_table,
|
.proc_handler = &proc_cpt_table,
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
|
||||||
.procname = "upcall",
|
|
||||||
.data = lnet_upcall,
|
|
||||||
.maxlen = sizeof(lnet_upcall),
|
|
||||||
.mode = 0644,
|
|
||||||
.proc_handler = &proc_dostring,
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
.procname = "debug_log_upcall",
|
.procname = "debug_log_upcall",
|
||||||
.data = lnet_debug_log_upcall,
|
.data = lnet_debug_log_upcall,
|
||||||
|
|
Loading…
Reference in New Issue