up(&md->suspend_lock);  
int dm_resume(struct mapped_device *md){	int r = -EINVAL;	struct bio *def;	struct dm_table *map = NULL;	down_write(&md->lock);	if (!dm_suspended(md)) {		up_write(&md->lock);		goto out;	}	map = dm_get_table(md);	if (!map || !dm_table_get_size(map)) {		up_write(&md->lock);		goto out;	}	dm_table_resume_targets(map);	clear_bit(DMF_SUSPENDED, &md->flags);	clear_bit(DMF_BLOCK_IO, &md->flags);	def = bio_list_get(&md->deferred);	__flush_deferred_io(md, def);	up_write(&md->lock);	__unlock_fs(md);	dm_table_unplug_all(map);	r = 0;out:	dm_table_put(map);	return r;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/2ca3310e78912a527d7d2c62c01da7cbf7346b8d/dm.c/clean/drivers/md/dm.c