diff options
author | Bryan Schumaker <bjschuma@netapp.com> | 2011-03-23 15:04:31 -0400 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2011-03-23 15:14:27 -0400 |
commit | 8ef2ce3e16d9bec6cf015207c1c82a5b864046ac (patch) | |
tree | 35441fd695c4f5215ab0061d8df26b4cfd9a44f5 /include | |
parent | 480c2006ebb44ae03165695db7b3e38c04e0d102 (diff) |
NFS: Detect loops in a readdir due to bad cookies
Some filesystems (such as ext4) can return the same cookie value for
multiple files. If we try to start a readdir with one of these cookies,
the server will return the first file found with a cookie of the same
value. This can cause the client to enter an infinite loop.
Signed-off-by: Bryan Schumaker <bjschuma@netapp.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/nfs_fs.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/nfs_fs.h b/include/linux/nfs_fs.h index 4b851a02f7f3..4179c368844b 100644 --- a/include/linux/nfs_fs.h +++ b/include/linux/nfs_fs.h | |||
@@ -100,6 +100,8 @@ struct nfs_open_context { | |||
100 | struct nfs_open_dir_context { | 100 | struct nfs_open_dir_context { |
101 | struct rpc_cred *cred; | 101 | struct rpc_cred *cred; |
102 | __u64 dir_cookie; | 102 | __u64 dir_cookie; |
103 | __u64 dup_cookie; | ||
104 | int duped; | ||
103 | }; | 105 | }; |
104 | 106 | ||
105 | /* | 107 | /* |