Lines Matching refs:rdir
73 if (!fid->rdir) in v9fs_alloc_rdir_buf()
74 fid->rdir = kzalloc(sizeof(struct p9_rdir) + buflen, GFP_KERNEL); in v9fs_alloc_rdir_buf()
75 return fid->rdir; in v9fs_alloc_rdir_buf()
92 struct p9_rdir *rdir; in v9fs_dir_readdir() local
100 rdir = v9fs_alloc_rdir_buf(file, buflen); in v9fs_dir_readdir()
101 if (!rdir) in v9fs_dir_readdir()
103 kvec.iov_base = rdir->buf; in v9fs_dir_readdir()
107 if (rdir->tail == rdir->head) { in v9fs_dir_readdir()
119 rdir->head = 0; in v9fs_dir_readdir()
120 rdir->tail = n; in v9fs_dir_readdir()
122 while (rdir->head < rdir->tail) { in v9fs_dir_readdir()
123 err = p9stat_read(fid->clnt, rdir->buf + rdir->head, in v9fs_dir_readdir()
124 rdir->tail - rdir->head, &st); in v9fs_dir_readdir()
136 rdir->head += err; in v9fs_dir_readdir()
153 struct p9_rdir *rdir; in v9fs_dir_readdir_dotl() local
161 rdir = v9fs_alloc_rdir_buf(file, buflen); in v9fs_dir_readdir_dotl()
162 if (!rdir) in v9fs_dir_readdir_dotl()
166 if (rdir->tail == rdir->head) { in v9fs_dir_readdir_dotl()
167 err = p9_client_readdir(fid, rdir->buf, buflen, in v9fs_dir_readdir_dotl()
172 rdir->head = 0; in v9fs_dir_readdir_dotl()
173 rdir->tail = err; in v9fs_dir_readdir_dotl()
176 while (rdir->head < rdir->tail) { in v9fs_dir_readdir_dotl()
178 err = p9dirent_read(fid->clnt, rdir->buf + rdir->head, in v9fs_dir_readdir_dotl()
179 rdir->tail - rdir->head, in v9fs_dir_readdir_dotl()
193 rdir->head += err; in v9fs_dir_readdir_dotl()