if (uc->mu_valid != UCRED_INIT) {
uc->mu_suppgids[0] = uc->mu_suppgids[1] = -1;
if (uc->mu_ginfo) {
- groups_free(uc->mu_ginfo);
+ put_group_info(uc->mu_ginfo);
uc->mu_ginfo = NULL;
}
if (uc->mu_identity) {
out:
if (rc) {
if (ucred->mu_ginfo) {
- groups_free(ucred->mu_ginfo);
+ put_group_info(ucred->mu_ginfo);
ucred->mu_ginfo = NULL;
}
if (ucred->mu_identity) {
ATTR_ATIME|ATTR_MTIME|ATTR_CTIME|ATTR_FROM_OPEN|
ATTR_ATIME_SET|ATTR_CTIME_SET|ATTR_MTIME_SET|
ATTR_ATTR_FLAG|ATTR_RAW|MDS_OPEN_OWNEROVERRIDE|
- ATTR_FORCE|ATTR_KILL_SUID);
+ ATTR_FORCE|ATTR_KILL_SUID|ATTR_KILL_SGID);
if (in != 0)
CERROR("Unknown attr bits: %#llx\n", in);
return out;
else
ma->ma_attr_flags &= ~MDS_VTX_BYPASS;
+ if (lustre_msg_get_flags(mdt_info_req(info)->rq_reqmsg) & MSG_REPLAY)
+ info->mti_spec.no_create = 1;
+
rc = mdt_dlmreq_unpack(info);
RETURN(rc);
}