From ac0a1787c3f07eb30af0c09b1fb45bd79eee259b Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Mon, 13 Sep 2010 11:31:53 -0700 Subject: [PATCH] client: don't crash on cache readdir of empty dir --- src/client/Client.cc | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/client/Client.cc b/src/client/Client.cc index 0a0a15b4cdf4a..67cb8a9b7cf97 100644 --- a/src/client/Client.cc +++ b/src/client/Client.cc @@ -4029,6 +4029,12 @@ int Client::_readdir_cache_cb(DirResult *dirp, add_dirent_cb_t cb, void *p) << dendl; Dir *dir = dirp->inode->dir; + if (!dir) { + dout(10) << " dir is empty" << dendl; + dirp->set_end(); + return 1; + } + map::iterator pd; if (dirp->at_cache_name.length()) { pd = dir->dentry_map.find(dirp->at_cache_name); -- 2.39.5