Lines Matching refs:od

62     struct orangefs_dir *od, struct dentry *dentry,  in do_readdir()  argument
76 op->upcall.req.readdir.token = od->token; in do_readdir()
83 od->error = bufi; in do_readdir()
100 od->error = r; in do_readdir()
107 od->error = r; in do_readdir()
111 od->error = op->downcall.status; in do_readdir()
121 od->error = -EIO; in do_readdir()
127 od->token = resp->token; in do_readdir()
131 static int parse_readdir(struct orangefs_dir *od, in parse_readdir() argument
138 part = od->part; in parse_readdir()
151 if (!od->part) in parse_readdir()
152 od->part = new; in parse_readdir()
156 od->end = count << PART_SHIFT; in parse_readdir()
162 struct orangefs_dir *od, struct dentry *dentry) in orangefs_dir_more() argument
169 od->error = -ENOMEM; in orangefs_dir_more()
172 r = do_readdir(oi, od, dentry, op); in orangefs_dir_more()
174 od->error = r; in orangefs_dir_more()
177 r = parse_readdir(od, op); in orangefs_dir_more()
179 od->error = r; in orangefs_dir_more()
183 od->error = 0; in orangefs_dir_more()
186 return od->error; in orangefs_dir_more()
242 struct orangefs_dir *od, struct dentry *dentry, in orangefs_dir_fill() argument
250 part = od->part; in orangefs_dir_fill()
257 od->error = -EIO; in orangefs_dir_fill()
265 od->error = r; in orangefs_dir_fill()
285 struct orangefs_dir *od = file->private_data; in orangefs_dir_llseek() local
290 if (!whence && offset < od->end) { in orangefs_dir_llseek()
291 struct orangefs_dir_part *part = od->part; in orangefs_dir_llseek()
297 od->token = ORANGEFS_ITERATE_START; in orangefs_dir_llseek()
298 od->part = NULL; in orangefs_dir_llseek()
299 od->end = 1 << PART_SHIFT; in orangefs_dir_llseek()
308 struct orangefs_dir *od; in orangefs_dir_iterate() local
314 od = file->private_data; in orangefs_dir_iterate()
316 if (od->error) in orangefs_dir_iterate()
317 return od->error; in orangefs_dir_iterate()
343 while (od->token != ORANGEFS_ITERATE_END && in orangefs_dir_iterate()
344 ctx->pos > od->end) { in orangefs_dir_iterate()
345 r = orangefs_dir_more(oi, od, dentry); in orangefs_dir_iterate()
349 if (od->token == ORANGEFS_ITERATE_END && ctx->pos > od->end) in orangefs_dir_iterate()
353 if (ctx->pos < od->end) { in orangefs_dir_iterate()
354 r = orangefs_dir_fill(oi, od, dentry, ctx); in orangefs_dir_iterate()
360 if (od->token != ORANGEFS_ITERATE_END) { in orangefs_dir_iterate()
361 r = orangefs_dir_more(oi, od, dentry); in orangefs_dir_iterate()
364 r = orangefs_dir_fill(oi, od, dentry, ctx); in orangefs_dir_iterate()
372 struct orangefs_dir *od; in orangefs_dir_open() local
377 od = file->private_data; in orangefs_dir_open()
378 od->token = ORANGEFS_ITERATE_START; in orangefs_dir_open()
379 od->part = NULL; in orangefs_dir_open()
380 od->end = 1 << PART_SHIFT; in orangefs_dir_open()
381 od->error = 0; in orangefs_dir_open()
387 struct orangefs_dir *od = file->private_data; in orangefs_dir_release() local
388 struct orangefs_dir_part *part = od->part; in orangefs_dir_release()
394 kfree(od); in orangefs_dir_release()