diff options
author | Trond Myklebust <trond.myklebust@primarydata.com> | 2015-03-09 21:48:32 +0300 |
---|---|---|
committer | Trond Myklebust <trond.myklebust@primarydata.com> | 2015-03-27 19:32:24 +0300 |
commit | df52699e4fcefe30ebe4f1db48bd161254a0b102 (patch) | |
tree | 7b590d25515d0fa5bbbe5c48e76a0857a73e10b0 /fs/nfs/nfs4proc.c | |
parent | 4e59080397faadee59d39ffa2116dc8607adc9c9 (diff) | |
download | linux-df52699e4fcefe30ebe4f1db48bd161254a0b102.tar.xz |
NFSv4.1: Don't cache deviceids that have no notifications
The spec says that once all layouts that reference a given deviceid
have been returned, then we are only allowed to continue to cache
the deviceid if the metadata server supports notifications.
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
Diffstat (limited to 'fs/nfs/nfs4proc.c')
-rw-r--r-- | fs/nfs/nfs4proc.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c index ba8b2b5e98a1..9ff8c63c9cac 100644 --- a/fs/nfs/nfs4proc.c +++ b/fs/nfs/nfs4proc.c @@ -7962,6 +7962,8 @@ _nfs4_proc_getdeviceinfo(struct nfs_server *server, status = nfs4_call_sync(server->client, server, &msg, &args.seq_args, &res.seq_res, 0); if (res.notification & ~args.notify_types) dprintk("%s: unsupported notification\n", __func__); + if (res.notification != args.notify_types) + pdev->nocache = 1; dprintk("<-- %s status=%d\n", __func__, status); |