DDF: ensure dl->devname is freed when processing a 'delete device' update.

As this code runs in 'monitor' it cannot just free memory,
it must add it to a list for 'manager' to free.
Fortunate update->space_list exists for just this purpose.
dl->devname might be small, so put it in update->space and
put dl in update->space_list.

Signed-off-by: NeilBrown <neilb@suse.de>
This commit is contained in:
NeilBrown 2014-05-21 13:27:54 +10:00
parent 30da0fa89b
commit de9107744b
1 changed files with 3 additions and 3 deletions

View File

@ -4597,10 +4597,10 @@ static void ddf_process_phys_update(struct supertype *st,
if (dl->pdnum == (signed)ent) {
close(dl->fd);
dl->fd = -1;
/* FIXME this doesn't free
* dl->devname */
update->space = dl;
*dlp = dl->next;
update->space = dl->devname;
*(void**)dl = update->space_list;
update->space_list = (void**)dl;
break;
}
}