fprintf(stderr, "%s %d %s %s %d %d\n",
fprintf(stderr, "%s %d %s %s %Zd %Zd\n",
static int iscsi_lunit_create(u32 tid, u32 lun, char *args){	int err;	char nlm_ev[8912], *p, *q, *type = NULL, *path = NULL;	char dtype[] = "stgt_vsd";	struct stgt_event *ev;	struct nlmsghdr *nlh = (struct nlmsghdr *) nlm_ev;	fprintf(stderr, "%s %d %s\n", __FUNCTION__, __LINE__, args);	if (isspace(*args))		args++;	if ((p = strchr(args, '\n')))		*p = '\0';	while ((p = strsep(&args, ","))) {		if (!p)			continue;		if (!(q = strchr(p, '=')))			continue;		*q++ = '\0';		if (!strcmp(p, "Path"))			path = q;		else if (!strcmp(p, "Type"))			type = q;	}	if (!type)		type = dtype;	if (!path) {		fprintf(stderr, "%s %d NULL path\n", __FUNCTION__, __LINE__);		return -EINVAL;	}	fprintf(stderr, "%s %d %s %s %d %d\n",		__FUNCTION__, __LINE__, type, path, strlen(path), sizeof(*ev));	memset(nlm_ev, 0, sizeof(nlm_ev));	nlmsg_init(nlh, getpid(), 0, STGT_UEVENT_DEVICE_CREATE,		   NLMSG_SPACE(sizeof(*ev) + strlen(path)), 0);	ev = NLMSG_DATA(nlh);	ev->u.c_device.tid = tid;	ev->u.c_device.dev_id = lun;	strncpy(ev->u.c_device.type, type, sizeof(ev->u.c_device.type));	memcpy((char *) ev + sizeof(*ev), path, strlen(path));	err = ipc_cmnd_execute(nlm_ev, nlh->nlmsg_len);	return err;}