diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2013-05-22 21:44:23 -0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2013-06-29 12:57:04 +0400 |
commit | 2233f31aade393641f0eaed43a71110e629bb900 (patch) | |
tree | 3993793028cb6c8dae41d407cb2217d221d9399c /fs/readdir.c | |
parent | 2de5f059c4422e357b7df021b487a37b1d61356b (diff) | |
download | lwn-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.c | 13 |
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); |