mdc_changelog_cdev_init forgot to remove entries from list if
chardev allocation failed
Change-Id: Ic76b5320bf80c7f7f60c7682bda4bc37a0b300bd
Fixes:
d0423abc1ad ("LU-12506 changelog: support large number of MDT")
Signed-off-by: Oleg Drokin <green@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/47480
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Lai Siyao <lai.siyao@whamcloud.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
rc = chlg_minor_alloc(&minor);
if (rc)
- GOTO(out_unlock, rc);
+ GOTO(out_listrm, rc);
device_initialize(&entry->ced_device);
entry->ced_device.devt = MKDEV(MAJOR(mdc_changelog_dev), minor);
out_minor:
chlg_minor_free(minor);
+out_listrm:
list_del_init(&obd->u.cli.cl_chg_dev_linkage);
list_del(&entry->ced_link);