diff options
author | Trond Myklebust <trond.myklebust@primarydata.com> | 2015-03-09 14:48:32 -0400 |
---|---|---|
committer | Trond Myklebust <trond.myklebust@primarydata.com> | 2015-03-27 12:32:24 -0400 |
commit | df52699e4fcefe30ebe4f1db48bd161254a0b102 (patch) | |
tree | 7b590d25515d0fa5bbbe5c48e76a0857a73e10b0 /fs/nfs/nfs4proc.c | |
parent | 4e59080397faadee59d39ffa2116dc8607adc9c9 (diff) |
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, | |||
7962 | status = nfs4_call_sync(server->client, server, &msg, &args.seq_args, &res.seq_res, 0); | 7962 | status = nfs4_call_sync(server->client, server, &msg, &args.seq_args, &res.seq_res, 0); |
7963 | if (res.notification & ~args.notify_types) | 7963 | if (res.notification & ~args.notify_types) |
7964 | dprintk("%s: unsupported notification\n", __func__); | 7964 | dprintk("%s: unsupported notification\n", __func__); |
7965 | if (res.notification != args.notify_types) | ||
7966 | pdev->nocache = 1; | ||
7965 | 7967 | ||
7966 | dprintk("<-- %s status=%d\n", __func__, status); | 7968 | dprintk("<-- %s status=%d\n", __func__, status); |
7967 | 7969 | ||