From: Yan, Zheng Date: Wed, 13 Jan 2016 07:55:02 +0000 (+0800) Subject: client: check if Fh is readable before read X-Git-Tag: v10.0.3~12^2~1^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=eae97f8d10f6577349a316bf2045dc06486da783;p=ceph.git client: check if Fh is readable before read Fixes: #11517 Signed-off-by: Yan, Zheng --- diff --git a/src/client/Client.cc b/src/client/Client.cc index 9a0c36a5f46..44c3e76e19c 100644 --- a/src/client/Client.cc +++ b/src/client/Client.cc @@ -7405,6 +7405,8 @@ int Client::_read(Fh *f, int64_t offset, uint64_t size, bufferlist *bl) const md_config_t *conf = cct->_conf; Inode *in = f->inode.get(); + if ((f->mode & CEPH_FILE_MODE_RD) == 0) + return -EBADF; //bool lazy = f->mode == CEPH_FILE_MODE_LAZY; bool movepos = false;