diff options
Diffstat (limited to 'xlators/nfs/server')
-rw-r--r-- | xlators/nfs/server/src/nlm4.c | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/xlators/nfs/server/src/nlm4.c b/xlators/nfs/server/src/nlm4.c index 498342eb1b0..aee14e9c8cd 100644 --- a/xlators/nfs/server/src/nlm4.c +++ b/xlators/nfs/server/src/nlm4.c @@ -630,14 +630,11 @@ nlm4_file_open_and_resume(nfs3_call_state_t *cs, nlm4_resume_fn_t resume) } frame->root->pid = NFS_PID; - frame->root->uid = 0; - frame->root->gid = 0; + frame->root->uid = rpcsvc_request_uid (cs->req); + frame->root->gid = rpcsvc_request_gid (cs->req); frame->local = cs; - /* - * This is the only place that we call STACK_WIND without nfs_fix_groups, - * because in this particular case the relevant identify is in lk_owner and - * we don't care about the fields that nfs_fix_groups would set up. - */ + nfs_fix_groups (cs->nfsx, frame->root); + STACK_WIND_COOKIE (frame, nlm4_file_open_cbk, cs->vol, cs->vol, cs->vol->fops->open, &cs->resolvedloc, O_RDWR, cs->fd, NULL); |