summaryrefslogtreecommitdiff
path: root/fs/readdir.c
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2013-05-22 21:44:23 -0400
committerAl Viro <viro@zeniv.linux.org.uk>2013-06-29 12:57:04 +0400
commit2233f31aade393641f0eaed43a71110e629bb900 (patch)
tree3993793028cb6c8dae41d407cb2217d221d9399c /fs/readdir.c
parent2de5f059c4422e357b7df021b487a37b1d61356b (diff)
downloadlwn-2233f31aade393641f0eaed43a71110e629bb900.tar.gz
lwn-2233f31aade393641f0eaed43a71110e629bb900.zip
[readdir] ->readdir() is gone
everything's converted to ->iterate() Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/readdir.c')
-rw-r--r--fs/readdir.c13
1 files changed, 4 insertions, 9 deletions
diff --git a/fs/readdir.c b/fs/readdir.c
index 5d6578affbbf..a6245c9fd0e6 100644
--- a/fs/readdir.c
+++ b/fs/readdir.c
@@ -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);