ceph: fix null pointer dereference in send_mds_reconnect()
authorYan, Zheng <zyan@redhat.com>
Tue, 7 Apr 2015 07:51:08 +0000 (15:51 +0800)
committerIlya Dryomov <idryomov@gmail.com>
Wed, 22 Apr 2015 15:33:31 +0000 (18:33 +0300)
sb->s_root can be null when umounting

Signed-off-by: Yan, Zheng <zyan@redhat.com>
fs/ceph/mds_client.c

index fd5585b8d382dd698eb3e09a2e78670e03b1994b..0a2eb32ffe435383735dfd27fef183b715df5c51 100644 (file)
@@ -2892,7 +2892,8 @@ static void send_mds_reconnect(struct ceph_mds_client *mdsc,
        spin_unlock(&session->s_cap_lock);
 
        /* trim unused caps to reduce MDS's cache rejoin time */
-       shrink_dcache_parent(mdsc->fsc->sb->s_root);
+       if (mdsc->fsc->sb->s_root)
+               shrink_dcache_parent(mdsc->fsc->sb->s_root);
 
        ceph_con_close(&session->s_con);
        ceph_con_open(&session->s_con,