aboutsummaryrefslogtreecommitdiffstats
path: root/fs/exportfs/expfs.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/exportfs/expfs.c')
-rw-r--r--fs/exportfs/expfs.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/exportfs/expfs.c b/fs/exportfs/expfs.c
index 262fc9940982..7cb190426cec 100644
--- a/fs/exportfs/expfs.c
+++ b/fs/exportfs/expfs.c
@@ -212,6 +212,7 @@ reconnect_path(struct vfsmount *mnt, struct dentry *target_dir, char *nbuf)
212} 212}
213 213
214struct getdents_callback { 214struct getdents_callback {
215 struct dir_context ctx;
215 char *name; /* name that was found. It already points to a 216 char *name; /* name that was found. It already points to a
216 buffer NAME_MAX+1 is size */ 217 buffer NAME_MAX+1 is size */
217 unsigned long ino; /* the inum we are looking for */ 218 unsigned long ino; /* the inum we are looking for */
@@ -278,10 +279,11 @@ static int get_name(const struct path *path, char *name, struct dentry *child)
278 buffer.ino = child->d_inode->i_ino; 279 buffer.ino = child->d_inode->i_ino;
279 buffer.found = 0; 280 buffer.found = 0;
280 buffer.sequence = 0; 281 buffer.sequence = 0;
282 buffer.ctx.actor = filldir_one;
281 while (1) { 283 while (1) {
282 int old_seq = buffer.sequence; 284 int old_seq = buffer.sequence;
283 285
284 error = vfs_readdir(file, filldir_one, &buffer); 286 error = iterate_dir(file, &buffer.ctx);
285 if (buffer.found) { 287 if (buffer.found) {
286 error = 0; 288 error = 0;
287 break; 289 break;