summaryrefslogtreecommitdiff
path: root/fs/hostfs/hostfs_kern.c
diff options
context:
space:
mode:
authorRichard Weinberger <richard@nod.at>2015-03-24 17:47:38 +0300
committerRichard Weinberger <richard@nod.at>2015-04-13 22:01:07 +0300
commit0c9bd6365d0b278728359843b8303047ddedb831 (patch)
tree086abfcb95b657832d2e318ca5c3fa47822c8689 /fs/hostfs/hostfs_kern.c
parenta98a6d864d3b84219a6ec6213b00c260fb52f9f4 (diff)
downloadlinux-0c9bd6365d0b278728359843b8303047ddedb831.tar.xz
um: hostfs: Reduce number of syscalls in readdir
Currently hostfs issues every time a seekdir(), in fact it has to do this only upon the first call. Also telldir() can be omitted as we can obtain the directory offset from readdir(). Signed-off-by: Richard Weinberger <richard@nod.at>
Diffstat (limited to 'fs/hostfs/hostfs_kern.c')
-rw-r--r--fs/hostfs/hostfs_kern.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/hostfs/hostfs_kern.c b/fs/hostfs/hostfs_kern.c
index e77da44a235c..d0a2f68a0eea 100644
--- a/fs/hostfs/hostfs_kern.c
+++ b/fs/hostfs/hostfs_kern.c
@@ -292,6 +292,7 @@ static int hostfs_readdir(struct file *file, struct dir_context *ctx)
if (dir == NULL)
return -error;
next = ctx->pos;
+ seek_dir(dir, next);
while ((name = read_dir(dir, &next, &ino, &len, &type)) != NULL) {
if (!dir_emit(ctx, name, len, ino, type))
break;