Signed-off-by: Zhi Zhang <zhangz.david@outlook.com>
(cherry picked from commit
88b6d669e37924536152a552db46ef43a7353562)
Conflicts:
src/mds/Server.cc (hammer has req->head.args.open.flags instead of just flags)
respond_to_request(mdr, -ENXIO); // FIXME what error do we want?
return;
}*/
- if ((req->head.args.open.flags & O_DIRECTORY) && !cur->inode.is_dir()) {
+ if ((req->head.args.open.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;