Lines Matching refs:rdir
72 if (!fid->rdir) in v9fs_alloc_rdir_buf()
73 fid->rdir = kzalloc(sizeof(struct p9_rdir) + buflen, GFP_KERNEL); in v9fs_alloc_rdir_buf()
74 return fid->rdir; in v9fs_alloc_rdir_buf()
91 struct p9_rdir *rdir; in v9fs_dir_readdir() local
99 rdir = v9fs_alloc_rdir_buf(file, buflen); in v9fs_dir_readdir()
100 if (!rdir) in v9fs_dir_readdir()
102 kvec.iov_base = rdir->buf; in v9fs_dir_readdir()
106 if (rdir->tail == rdir->head) { in v9fs_dir_readdir()
118 rdir->head = 0; in v9fs_dir_readdir()
119 rdir->tail = n; in v9fs_dir_readdir()
121 while (rdir->head < rdir->tail) { in v9fs_dir_readdir()
122 err = p9stat_read(fid->clnt, rdir->buf + rdir->head, in v9fs_dir_readdir()
123 rdir->tail - rdir->head, &st); in v9fs_dir_readdir()
135 rdir->head += err; in v9fs_dir_readdir()
152 struct p9_rdir *rdir; in v9fs_dir_readdir_dotl() local
160 rdir = v9fs_alloc_rdir_buf(file, buflen); in v9fs_dir_readdir_dotl()
161 if (!rdir) in v9fs_dir_readdir_dotl()
165 if (rdir->tail == rdir->head) { in v9fs_dir_readdir_dotl()
166 err = p9_client_readdir(fid, rdir->buf, buflen, in v9fs_dir_readdir_dotl()
171 rdir->head = 0; in v9fs_dir_readdir_dotl()
172 rdir->tail = err; in v9fs_dir_readdir_dotl()
175 while (rdir->head < rdir->tail) { in v9fs_dir_readdir_dotl()
177 err = p9dirent_read(fid->clnt, rdir->buf + rdir->head, in v9fs_dir_readdir_dotl()
178 rdir->tail - rdir->head, in v9fs_dir_readdir_dotl()
192 rdir->head += err; in v9fs_dir_readdir_dotl()