diff options
Diffstat (limited to 'fs/9p/vfs_dir.c')
-rw-r--r-- | fs/9p/vfs_dir.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/fs/9p/vfs_dir.c b/fs/9p/vfs_dir.c index 6580aa449541..d8a3afe4ff72 100644 --- a/fs/9p/vfs_dir.c +++ b/fs/9p/vfs_dir.c | |||
@@ -76,6 +76,15 @@ static inline int dt_type(struct p9_wstat *mistat) | |||
76 | return rettype; | 76 | return rettype; |
77 | } | 77 | } |
78 | 78 | ||
79 | static void p9stat_init(struct p9_wstat *stbuf) | ||
80 | { | ||
81 | stbuf->name = NULL; | ||
82 | stbuf->uid = NULL; | ||
83 | stbuf->gid = NULL; | ||
84 | stbuf->muid = NULL; | ||
85 | stbuf->extension = NULL; | ||
86 | } | ||
87 | |||
79 | /** | 88 | /** |
80 | * v9fs_dir_readdir - read a directory | 89 | * v9fs_dir_readdir - read a directory |
81 | * @filp: opened file structure | 90 | * @filp: opened file structure |
@@ -131,8 +140,8 @@ static int v9fs_dir_readdir(struct file *filp, void *dirent, filldir_t filldir) | |||
131 | rdir->head = 0; | 140 | rdir->head = 0; |
132 | rdir->tail = err; | 141 | rdir->tail = err; |
133 | } | 142 | } |
134 | |||
135 | while (rdir->head < rdir->tail) { | 143 | while (rdir->head < rdir->tail) { |
144 | p9stat_init(&st); | ||
136 | err = p9stat_read(rdir->buf + rdir->head, | 145 | err = p9stat_read(rdir->buf + rdir->head, |
137 | buflen - rdir->head, &st, | 146 | buflen - rdir->head, &st, |
138 | fid->clnt->proto_version); | 147 | fid->clnt->proto_version); |