scoutfs: only release lockspace/workqueues in lock_destroy if they exist

Mount failure means these might be NULL.

Signed-off-by: Mark Fasheh <mfasheh@versity.com>
This commit is contained in:
Mark Fasheh
2017-07-06 18:17:22 -05:00
parent 19f6f40fee
commit 136cbbed29
+3
View File
@@ -560,12 +560,15 @@ void scoutfs_lock_destroy(struct super_block *sb)
int ret; int ret;
if (linfo) { if (linfo) {
if (linfo->downconvert_wq)
destroy_workqueue(linfo->downconvert_wq); destroy_workqueue(linfo->downconvert_wq);
unregister_shrinker(&linfo->shrinker); unregister_shrinker(&linfo->shrinker);
if (linfo->ls) {
ret = dlm_release_lockspace(linfo->ls, 2); ret = dlm_release_lockspace(linfo->ls, 2);
if (ret) if (ret)
scoutfs_info(sb, "Error %d releasing lockspace %s\n", scoutfs_info(sb, "Error %d releasing lockspace %s\n",
ret, linfo->ls_name); ret, linfo->ls_name);
}
free_lock_tree(sb); free_lock_tree(sb);