Commit 5315030
nfsd: fix handling of delegated change attr in CB_GETATTR
RFC8881, section 10.4.3 has some specific guidance as to how the
delegated change attribute should be handled. We currently don't follow
that guidance properly.
In particular, when the file is modified, the server always reports the
initial change attribute + 1. Section 10.4.3 however indicates that it
should be incremented on every GETATTR request from other clients.
Only request the change attribute until the file has been modified. If
there is an outstanding delegation, then increment the cached change
attribute on every GETATTR.
Fixes: 6487a13 ("NFSD: add support for CB_GETATTR callback")
Signed-off-by: Jeff Layton <jlayton@kernel.org>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>1 parent 1196bdc commit 5315030
2 files changed
Lines changed: 14 additions & 9 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
361 | 361 | | |
362 | 362 | | |
363 | 363 | | |
364 | | - | |
365 | | - | |
| 364 | + | |
366 | 365 | | |
| 366 | + | |
367 | 367 | | |
368 | 368 | | |
369 | | - | |
| 369 | + | |
| 370 | + | |
| 371 | + | |
370 | 372 | | |
371 | 373 | | |
372 | 374 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2920 | 2920 | | |
2921 | 2921 | | |
2922 | 2922 | | |
| 2923 | + | |
2923 | 2924 | | |
2924 | 2925 | | |
2925 | 2926 | | |
| |||
3019 | 3020 | | |
3020 | 3021 | | |
3021 | 3022 | | |
3022 | | - | |
3023 | 3023 | | |
3024 | 3024 | | |
3025 | 3025 | | |
| |||
3030 | 3030 | | |
3031 | 3031 | | |
3032 | 3032 | | |
3033 | | - | |
3034 | | - | |
3035 | | - | |
| 3033 | + | |
3036 | 3034 | | |
3037 | 3035 | | |
3038 | 3036 | | |
| |||
3557 | 3555 | | |
3558 | 3556 | | |
3559 | 3557 | | |
3560 | | - | |
| 3558 | + | |
| 3559 | + | |
3561 | 3560 | | |
3562 | | - | |
| 3561 | + | |
| 3562 | + | |
3563 | 3563 | | |
| 3564 | + | |
| 3565 | + | |
3564 | 3566 | | |
| 3567 | + | |
3565 | 3568 | | |
3566 | 3569 | | |
3567 | 3570 | | |
| |||
0 commit comments