- id.nid = libcfs_str2nid(argv[1]);
- if (id.nid == LNET_NID_ANY) {
- fprintf (stderr, "Can't parse nid \"%s\"\n", argv[1]);
- return -1;
+ sep = strchr(argv[1], '-');
+ if (sep == NULL) {
+ id.pid = LNET_PID_ANY;
+ id.nid = libcfs_str2nid(argv[1]);
+ if (id.nid == LNET_NID_ANY) {
+ fprintf (stderr, "Can't parse nid \"%s\"\n", argv[1]);
+ return -1;
+ }
+ } else {
+ char *end;
+
+ if (argv[1][0] == 'u' ||
+ argv[1][0] == 'U')
+ id.pid = strtoul(&argv[1][1], &end, 0) | LNET_PID_USERFLAG;
+ else
+ id.pid = strtoul(argv[1], &end, 0);
+
+ id.nid = libcfs_str2nid(sep + 1);
+
+ if (end != sep ||
+ id.nid == LNET_NID_ANY) {
+ fprintf(stderr, "Can't parse process id \"%s\"\n", argv[1]);
+ return -1;
+ }