浏览代码

ceph: only unregister registered bdi

Signed-off-by: Sage Weil <sage@newdream.net>
Sage Weil 15 年之前
父节点
当前提交
e0e3271074
共有 1 个文件被更改,包括 2 次插入1 次删除
  1. 2 1
      fs/ceph/super.c

+ 2 - 1
fs/ceph/super.c

@@ -942,7 +942,8 @@ static void ceph_kill_sb(struct super_block *s)
 	dout("kill_sb %p\n", s);
 	dout("kill_sb %p\n", s);
 	ceph_mdsc_pre_umount(&client->mdsc);
 	ceph_mdsc_pre_umount(&client->mdsc);
 	kill_anon_super(s);    /* will call put_super after sb is r/o */
 	kill_anon_super(s);    /* will call put_super after sb is r/o */
-	bdi_unregister(&client->backing_dev_info);
+	if (s->s_bdi == &client->backing_dev_info)
+		bdi_unregister(&client->backing_dev_info);
 	bdi_destroy(&client->backing_dev_info);
 	bdi_destroy(&client->backing_dev_info);
 	ceph_destroy_client(client);
 	ceph_destroy_client(client);
 }
 }