On Sun, Oct 05, 2008 at 05:17:05PM -0500, Jay Anderson wrote:
> I can reproduce the behavior you demonstrate.
Try the following DTrace script. If it solves the problem you're
observing, then this bug is biting you.
#!/usr/sbin/dtrace -ws
pid$1::sid2pid_second_pass:entry
{
self->unres_mapping = *(unsigned int *)copyin(arg0 + 16, 4);
self->req = arg1;
self->res = arg2;
self->res_retcode = *(int *)copyin(self->res, 4);
self->req_id1_idtype = *(int *)copyin(self->req + 8, 4);
self->req_id1_sid_prefixp = *(unsigned int *)copyin(self->req + 12, 4);
self->req_id1_sid_prefix = copyinstr(self->req_id1_sid_prefixp);
self->req_id1_sid_rid = *(unsigned int *)copyin(self->req + 16, 4);
self->req_id1namep = *(unsigned int *)copyin(self->req + 24, 4);
self->req_id1name = copyinstr(self->req_id1namep);
}
pid$1::sid2pid_second_pass:entry
/self->res_retcode != 0 && self->unres_mapping != 0 &&
self->req_id1_sid_prefix != "" && self->req_id1name == ""/
{
this->req_id1_idtypep = (int *)copyin(self->req + 8, 4);
*this->req_id1_idtypep = 4;
printf("Forcing req->id1.idtype == IDMAP_USID for unresolvable SID
%s-%u\n",
self->req_id1_sid_prefix, self->req_id1_sid_rid);
copyout(this->req_id1_idtypep, self->req + 8, 4);
}
> Would this problem have the effect of preventing the proper ACLs to be
> set on copied directories, and then preventing any files from being
> copied to those directories? That's what I am seeing... The full
> directory structure is created, but the ACLs are not set properly on
> the directories, and no files are copied. The unresolvable SIDs are
> not added, and also the built-in SIDs are not duplicated. If the
> unresolvable SIDs are removed from all of the source files and
> directories, then the robocopy works without any problems.
Quite possibly, but then, we're about to find out (when you run the
above DTrace script :).
Thanks,
Nico
--
_______________________________________________
cifs-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/cifs-discuss