diff options
Diffstat (limited to 'xlators/protocol')
| -rw-r--r-- | xlators/protocol/server/src/server3_1-fops.c | 7 | 
1 files changed, 6 insertions, 1 deletions
diff --git a/xlators/protocol/server/src/server3_1-fops.c b/xlators/protocol/server/src/server3_1-fops.c index 5b6bf29fc6e..e869cb48ea5 100644 --- a/xlators/protocol/server/src/server3_1-fops.c +++ b/xlators/protocol/server/src/server3_1-fops.c @@ -2920,13 +2920,18 @@ server_create (rpcsvc_request_t *req)                  buf = NULL;          } -        state->resolve.type   = RESOLVE_NOT;          state->resolve.path   = gf_strdup (args.path);          state->resolve.bname  = gf_strdup (args.bname);          state->mode           = args.mode;          state->flags          = gf_flags_to_flags (args.flags);          memcpy (state->resolve.pargfid, args.pargfid, 16); +        if (state->flags & O_EXCL) { +                state->resolve.type = RESOLVE_NOT; +        } else { +                state->resolve.type = RESOLVE_DONTCARE; +        } +          ret = 0;          resolve_and_resume (frame, server_create_resume);  | 
