diff options
Diffstat (limited to 'drivers/md/dm-ioctl.c')
| -rw-r--r-- | drivers/md/dm-ioctl.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/md/dm-ioctl.c b/drivers/md/dm-ioctl.c index 200a0688f717..54ec737195e0 100644 --- a/drivers/md/dm-ioctl.c +++ b/drivers/md/dm-ioctl.c | |||
| @@ -230,11 +230,20 @@ static int dm_hash_insert(const char *name, const char *uuid, struct mapped_devi | |||
| 230 | 230 | ||
| 231 | static void __hash_remove(struct hash_cell *hc) | 231 | static void __hash_remove(struct hash_cell *hc) |
| 232 | { | 232 | { |
| 233 | struct dm_table *table; | ||
| 234 | |||
| 233 | /* remove from the dev hash */ | 235 | /* remove from the dev hash */ |
| 234 | list_del(&hc->uuid_list); | 236 | list_del(&hc->uuid_list); |
| 235 | list_del(&hc->name_list); | 237 | list_del(&hc->name_list); |
| 236 | unregister_with_devfs(hc); | 238 | unregister_with_devfs(hc); |
| 237 | dm_set_mdptr(hc->md, NULL); | 239 | dm_set_mdptr(hc->md, NULL); |
| 240 | |||
| 241 | table = dm_get_table(hc->md); | ||
| 242 | if (table) { | ||
| 243 | dm_table_event(table); | ||
| 244 | dm_table_put(table); | ||
| 245 | } | ||
| 246 | |||
| 238 | dm_put(hc->md); | 247 | dm_put(hc->md); |
| 239 | if (hc->new_map) | 248 | if (hc->new_map) |
| 240 | dm_table_put(hc->new_map); | 249 | dm_table_put(hc->new_map); |
