diff options
Diffstat (limited to 'fs/autofs/dir.c')
-rw-r--r-- | fs/autofs/dir.c | 27 |
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 = { |