diff options
author | Trond Myklebust <trond.myklebust@hammerspace.com> | 2021-03-26 14:50:19 +0100 |
---|---|---|
committer | Trond Myklebust <trond.myklebust@hammerspace.com> | 2021-04-13 16:04:05 +0200 |
commit | 7f08a3359a3c1e39c2a118fbbe583d8c8db14ace (patch) | |
tree | 61e83917cd875311ba03afebeef2f0888798c610 /fs/nfs/client.c | |
parent | NFSv4: Don't modify the change attribute cached in the inode (diff) | |
download | linux-7f08a3359a3c1e39c2a118fbbe583d8c8db14ace.tar.xz linux-7f08a3359a3c1e39c2a118fbbe583d8c8db14ace.zip |
NFSv4: Add support for the NFSv4.2 "change_attr_type" attribute
The change_attr_type allows the server to provide a description of how
the change attribute will behave. This again will allow the client to
optimise its behaviour w.r.t. attribute revalidation.
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
Diffstat (limited to 'fs/nfs/client.c')
-rw-r--r-- | fs/nfs/client.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/nfs/client.c b/fs/nfs/client.c index 399a8eb15397..2aeb4e52a4f1 100644 --- a/fs/nfs/client.c +++ b/fs/nfs/client.c @@ -792,6 +792,7 @@ static void nfs_server_set_fsinfo(struct nfs_server *server, server->maxfilesize = fsinfo->maxfilesize; server->time_delta = fsinfo->time_delta; + server->change_attr_type = fsinfo->change_attr_type; server->clone_blksize = fsinfo->clone_blksize; /* We're airborne Set socket buffersize */ @@ -933,6 +934,8 @@ struct nfs_server *nfs_alloc_server(void) return NULL; } + server->change_attr_type = NFS4_CHANGE_TYPE_IS_UNDEFINED; + ida_init(&server->openowner_id); ida_init(&server->lockowner_id); pnfs_init_server(server); |