aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ecryptfs/file.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/ecryptfs/file.c')
-rw-r--r--fs/ecryptfs/file.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/ecryptfs/file.c b/fs/ecryptfs/file.c
index a7abbea2c096..041379a646b3 100644
--- a/fs/ecryptfs/file.c
+++ b/fs/ecryptfs/file.c
@@ -68,6 +68,7 @@ static ssize_t ecryptfs_read_update_atime(struct kiocb *iocb,
68} 68}
69 69
70struct ecryptfs_getdents_callback { 70struct ecryptfs_getdents_callback {
71 struct dir_context ctx;
71 void *dirent; 72 void *dirent;
72 struct dentry *dentry; 73 struct dentry *dentry;
73 filldir_t filldir; 74 filldir_t filldir;
@@ -126,7 +127,8 @@ static int ecryptfs_readdir(struct file *file, void *dirent, filldir_t filldir)
126 buf.filldir = filldir; 127 buf.filldir = filldir;
127 buf.filldir_called = 0; 128 buf.filldir_called = 0;
128 buf.entries_written = 0; 129 buf.entries_written = 0;
129 rc = vfs_readdir(lower_file, ecryptfs_filldir, (void *)&buf); 130 buf.ctx.actor = ecryptfs_filldir;
131 rc = iterate_dir(lower_file, &buf.ctx);
130 file->f_pos = lower_file->f_pos; 132 file->f_pos = lower_file->f_pos;
131 if (rc < 0) 133 if (rc < 0)
132 goto out; 134 goto out;