schedule_work(&m->trigger_event); 
queue_work(kmultipathd, &m->trigger_event); 
static int switch_pg_num(struct multipath *m, const char *pgstr){	struct priority_group *pg;	unsigned pgnum;	unsigned long flags;	if (!pgstr || (sscanf(pgstr, "%u", &pgnum) != 1) || !pgnum ||	    (pgnum > m->nr_priority_groups)) {		DMWARN("invalid PG number supplied to switch_pg_num");		return -EINVAL;	}	spin_lock_irqsave(&m->lock, flags);	list_for_each_entry(pg, &m->priority_groups, list) {		pg->bypassed = 0;		if (--pgnum)			continue;		m->current_pgpath = NULL;		m->current_pg = NULL;		m->next_pg = pg;	}	spin_unlock_irqrestore(&m->lock, flags);	schedule_work(&m->trigger_event);	return 0;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/c557308e1f4b6f7d6144a06e8f98c467814f3aed/dm-mpath.c/buggy/drivers/md/dm-mpath.c