From 9acc42b9b970acaa6276da57a80dde18ceb5f5fa Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Wed, 5 Mar 2008 13:06:02 -0800 Subject: [PATCH] mds: fix open flags check on directories --- src/mds/Server.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/mds/Server.cc b/src/mds/Server.cc index c869877fcc6ee..af9ba6b13a7a8 100644 --- a/src/mds/Server.cc +++ b/src/mds/Server.cc @@ -3830,7 +3830,8 @@ void Server::handle_client_open(MDRequest *mdr) return; } // can only open a dir rdonly, no flags. - if (cur->inode.is_dir() && (cmode != FILE_MODE_R || flags != O_DIRECTORY)) { + if (cur->inode.is_dir() && (cmode != FILE_MODE_R || (flags | O_DIRECTORY) == 0)) { + dout(10) << "bad open flags " << flags << " cmode " << cmode << " on dir " << *cur << dendl; reply_request(mdr, -EINVAL); return; } -- 2.39.5