]> Pileus Git - ~andy/linux/blobdiff - fs/readdir.c
[readdir] ->readdir() is gone
[~andy/linux] / fs / readdir.c
index 5d6578affbbf91b6d2e80b32398e8f0a53bc08ae..a6245c9fd0e693e95b97191f2967a82018fa2fe3 100644 (file)
@@ -24,7 +24,7 @@ int iterate_dir(struct file *file, struct dir_context *ctx)
 {
        struct inode *inode = file_inode(file);
        int res = -ENOTDIR;
-       if (!file->f_op || (!file->f_op->readdir && !file->f_op->iterate))
+       if (!file->f_op || !file->f_op->iterate)
                goto out;
 
        res = security_file_permission(file, MAY_READ);
@@ -37,14 +37,9 @@ int iterate_dir(struct file *file, struct dir_context *ctx)
 
        res = -ENOENT;
        if (!IS_DEADDIR(inode)) {
-               if (file->f_op->iterate) {
-                       ctx->pos = file->f_pos;
-                       res = file->f_op->iterate(file, ctx);
-                       file->f_pos = ctx->pos;
-               } else {
-                       res = file->f_op->readdir(file, ctx, ctx->actor);
-                       ctx->pos = file->f_pos;
-               }
+               ctx->pos = file->f_pos;
+               res = file->f_op->iterate(file, ctx);
+               file->f_pos = ctx->pos;
                file_accessed(file);
        }
        mutex_unlock(&inode->i_mutex);