aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ceph/super.c
diff options
context:
space:
mode:
authorSage Weil <sage@newdream.net>2009-12-21 21:04:26 -0800
committerSage Weil <sage@newdream.net>2009-12-23 08:17:18 -0800
commite0e3271074e1ebd0b80a912a457ce03c971bcd66 (patch)
tree1af28d179afc54010d78c675ecc73ab4b514ad0f /fs/ceph/super.c
parentceph: do not touch_caps while iterating over caps list (diff)
downloadlinux-dev-e0e3271074e1ebd0b80a912a457ce03c971bcd66.tar.xz
linux-dev-e0e3271074e1ebd0b80a912a457ce03c971bcd66.zip
ceph: only unregister registered bdi
Signed-off-by: Sage Weil <sage@newdream.net>
Diffstat (limited to 'fs/ceph/super.c')
-rw-r--r--fs/ceph/super.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/ceph/super.c b/fs/ceph/super.c
index b9cb8cebcdc1..cd81c84e96fc 100644
--- a/fs/ceph/super.c
+++ b/fs/ceph/super.c
@@ -942,7 +942,8 @@ static void ceph_kill_sb(struct super_block *s)
dout("kill_sb %p\n", s);
ceph_mdsc_pre_umount(&client->mdsc);
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);
ceph_destroy_client(client);
}