Revision 5f524c1e hw/9pfs/codir.c

b/hw/9pfs/codir.c
17 17
#include "qemu-coroutine.h"
18 18
#include "virtio-9p-coth.h"
19 19

  
20
int v9fs_co_readdir(V9fsState *s, V9fsFidState *fidp, struct dirent **dent)
20
int v9fs_co_readdir_r(V9fsState *s, V9fsFidState *fidp, struct dirent *dent,
21
                      struct dirent **result)
21 22
{
22 23
    int err;
23 24

  
24 25
    v9fs_co_run_in_worker(
25 26
        {
26 27
            errno = 0;
27
            /*FIXME!! need to switch to readdir_r */
28
            *dent = s->ops->readdir(&s->ctx, fidp->fs.dir);
29
            if (!*dent && errno) {
28
            err = s->ops->readdir_r(&s->ctx, fidp->fs.dir, dent, result);
29
            if (!*result && errno) {
30 30
                err = -errno;
31 31
            } else {
32 32
                err = 0;

Also available in: Unified diff