From 88b6d669e37924536152a552db46ef43a7353562 Mon Sep 17 00:00:00 2001 From: Zhi Zhang Date: Tue, 3 May 2016 17:12:26 +0800 Subject: [PATCH] mds: wrongly treat symlink inode as normal file/dir when symlink inode is stale on kcephfs Signed-off-by: Zhi Zhang --- src/mds/Server.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mds/Server.cc b/src/mds/Server.cc index 750fb418cef4..928c2c8c4fd7 100644 --- a/src/mds/Server.cc +++ b/src/mds/Server.cc @@ -2908,7 +2908,7 @@ void Server::handle_client_open(MDRequestRef& mdr) respond_to_request(mdr, -ENXIO); // FIXME what error do we want? return; }*/ - if ((flags & O_DIRECTORY) && !cur->inode.is_dir()) { + if ((flags & O_DIRECTORY) && !cur->inode.is_dir() && !cur->inode.is_symlink()) { dout(7) << "specified O_DIRECTORY on non-directory " << *cur << dendl; respond_to_request(mdr, -EINVAL); return; -- 2.47.3