|
Lines 3251-3256
nfsrvd_opendowngrade(struct nfsrv_descri
Link Here
|
| 3251 |
tl += (NFSX_STATEIDOTHER / NFSX_UNSIGNED); |
3251 |
tl += (NFSX_STATEIDOTHER / NFSX_UNSIGNED); |
| 3252 |
stp->ls_seq = fxdr_unsigned(u_int32_t, *tl++); |
3252 |
stp->ls_seq = fxdr_unsigned(u_int32_t, *tl++); |
| 3253 |
i = fxdr_unsigned(int, *tl++); |
3253 |
i = fxdr_unsigned(int, *tl++); |
|
|
3254 |
if ((nd->nd_flag & ND_NFSV41) != 0) |
| 3255 |
i &= ~NFSV4OPEN_WANTDELEGMASK; |
| 3254 |
switch (i) { |
3256 |
switch (i) { |
| 3255 |
case NFSV4OPEN_ACCESSREAD: |
3257 |
case NFSV4OPEN_ACCESSREAD: |
| 3256 |
stp->ls_flags = (NFSLCK_READACCESS | NFSLCK_DOWNGRADE); |
3258 |
stp->ls_flags = (NFSLCK_READACCESS | NFSLCK_DOWNGRADE); |
|
Lines 3263-3269
nfsrvd_opendowngrade(struct nfsrv_descri
Link Here
|
| 3263 |
NFSLCK_DOWNGRADE); |
3265 |
NFSLCK_DOWNGRADE); |
| 3264 |
break; |
3266 |
break; |
| 3265 |
default: |
3267 |
default: |
| 3266 |
nd->nd_repstat = NFSERR_BADXDR; |
3268 |
nd->nd_repstat = NFSERR_INVAL; |
| 3267 |
} |
3269 |
} |
| 3268 |
i = fxdr_unsigned(int, *tl); |
3270 |
i = fxdr_unsigned(int, *tl); |
| 3269 |
switch (i) { |
3271 |
switch (i) { |
|
Lines 3279-3285
nfsrvd_opendowngrade(struct nfsrv_descri
Link Here
|
| 3279 |
stp->ls_flags |= (NFSLCK_READDENY | NFSLCK_WRITEDENY); |
3281 |
stp->ls_flags |= (NFSLCK_READDENY | NFSLCK_WRITEDENY); |
| 3280 |
break; |
3282 |
break; |
| 3281 |
default: |
3283 |
default: |
| 3282 |
nd->nd_repstat = NFSERR_BADXDR; |
3284 |
nd->nd_repstat = NFSERR_INVAL; |
| 3283 |
} |
3285 |
} |
| 3284 |
|
3286 |
|
| 3285 |
clientid.lval[0] = stp->ls_stateid.other[0]; |
3287 |
clientid.lval[0] = stp->ls_stateid.other[0]; |