deleg: use SETATTR for OPEN4_CREATE

prevent an OPEN with OPEN4_CREATE from breaking a write delegation by sending a SETATTR instead
moved static function remove_unsupported_attrs() from setattr.c to nfs41_superblock_supported_attrs() in nfs41_superblock.c, now used by both setattr.c and delegation.c

Signed-off-by: Casey Bodley <cbodley@citi.umich.edu>
This commit is contained in:
Casey Bodley 2011-07-08 10:05:23 -04:00 committed by unknown
parent bc6471d981
commit 83d17fcb69
6 changed files with 69 additions and 30 deletions

View file

@ -233,8 +233,9 @@ static int open_or_delegate(
int status;
/* check for existing delegation */
status = nfs41_delegate_open(state->session->client, &state->file, create,
state->share_access, state->share_deny, &state->delegation.state, info);
status = nfs41_delegate_open(state->session->client, &state->file,
create, mode, state->share_access, state->share_deny,
&state->delegation.state, info);
/* get an open stateid if we have no delegation stateid */
if (status)