(*dirpp)->ordered_count = in->dir->ordered_count;
}
(*dirpp)->start_shared_gen = in->shared_gen;
+ (*dirpp)->owner_uid = uid;
+ (*dirpp)->owner_gid = gid;
ldout(cct, 10) << "_opendir " << in->ino << ", our cache says the first dirfrag is " << (*dirpp)->frag() << dendl;
ldout(cct, 3) << "_opendir(" << in->ino << ") = " << 0 << " (" << *dirpp << ")" << dendl;
return 0;
bufferlist dirbl;
- int res = make_request(req, -1, -1, NULL, NULL, -1, &dirbl);
+ int res = make_request(req, dirp->owner_uid, dirp->owner_gid, NULL, NULL, -1, &dirbl);
if (res == -EAGAIN) {
ldout(cct, 10) << "_readdir_get_frag got EAGAIN, retrying" << dendl;
if (vino.snapid == CEPH_SNAPDIR) {
*dirpp = new dir_result_t(in);
} else {
- r = _opendir(in, dirpp);
+ r = _opendir(in, dirpp, uid, gid);
}
tout(cct) << (unsigned long)*dirpp << std::endl;