summaryrefslogtreecommitdiffstats
path: root/fs/autofs/dir.c
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2000-06-15 01:55:58 +0000
committerRalf Baechle <ralf@linux-mips.org>2000-06-15 01:55:58 +0000
commit53b3988d474435254a3b053a68bb24ce9e439295 (patch)
treef8da8e40f01f4ad02bbd76b8c9920749b118235f /fs/autofs/dir.c
parentb0cb48abe83d1a4389ea938bf624f8baa82c5047 (diff)
Merge with 2.3.99-pre9.
Diffstat (limited to 'fs/autofs/dir.c')
-rw-r--r--fs/autofs/dir.c27
1 files changed, 4 insertions, 23 deletions
diff --git a/fs/autofs/dir.c b/fs/autofs/dir.c
index b71c3a819..9c114f1c2 100644
--- a/fs/autofs/dir.c
+++ b/fs/autofs/dir.c
@@ -12,29 +12,10 @@
#include "autofs_i.h"
-static int autofs_dir_readdir(struct file *filp,
- void *dirent, filldir_t filldir)
-{
- struct inode *inode=filp->f_dentry->d_inode;
-
- switch((unsigned long) filp->f_pos)
- {
- case 0:
- if (filldir(dirent, ".", 1, 0, inode->i_ino) < 0)
- return 0;
- filp->f_pos++;
- /* fall through */
- case 1:
- if (filldir(dirent, "..", 2, 1, AUTOFS_ROOT_INO) < 0)
- return 0;
- filp->f_pos++;
- /* fall through */
- }
- return 1;
-}
-
/*
- * No entries except for "." and "..", both of which are handled by the VFS layer
+ * No entries except for "." and "..", both of which are handled by the VFS
+ * layer. So all children are negative and dcache-based versions of operations
+ * are OK.
*/
static struct dentry *autofs_dir_lookup(struct inode *dir,struct dentry *dentry)
{
@@ -44,7 +25,7 @@ static struct dentry *autofs_dir_lookup(struct inode *dir,struct dentry *dentry)
struct file_operations autofs_dir_operations = {
read: generic_read_dir,
- readdir: autofs_dir_readdir,
+ readdir: dcache_readdir,
};
struct inode_operations autofs_dir_inode_operations = {