diff options
Diffstat (limited to 'hw/9pfs/9p-proxy.c')
-rw-r--r-- | hw/9pfs/9p-proxy.c | 26 |
1 files changed, 12 insertions, 14 deletions
diff --git a/hw/9pfs/9p-proxy.c b/hw/9pfs/9p-proxy.c index 00a4eb2a7b..f265501eac 100644 --- a/hw/9pfs/9p-proxy.c +++ b/hw/9pfs/9p-proxy.c @@ -633,7 +633,7 @@ static int proxy_close(FsContext *ctx, V9fsFidOpenState *fs) static int proxy_closedir(FsContext *ctx, V9fsFidOpenState *fs) { - return closedir(fs->dir); + return closedir(fs->dir.stream); } static int proxy_open(FsContext *ctx, V9fsPath *fs_path, @@ -652,14 +652,14 @@ static int proxy_opendir(FsContext *ctx, { int serrno, fd; - fs->dir = NULL; + fs->dir.stream = NULL; fd = v9fs_request(ctx->private, T_OPEN, NULL, "sd", fs_path, O_DIRECTORY); if (fd < 0) { errno = -fd; return -1; } - fs->dir = fdopendir(fd); - if (!fs->dir) { + fs->dir.stream = fdopendir(fd); + if (!fs->dir.stream) { serrno = errno; close(fd); errno = serrno; @@ -670,24 +670,22 @@ static int proxy_opendir(FsContext *ctx, static void proxy_rewinddir(FsContext *ctx, V9fsFidOpenState *fs) { - rewinddir(fs->dir); + rewinddir(fs->dir.stream); } static off_t proxy_telldir(FsContext *ctx, V9fsFidOpenState *fs) { - return telldir(fs->dir); + return telldir(fs->dir.stream); } -static int proxy_readdir_r(FsContext *ctx, V9fsFidOpenState *fs, - struct dirent *entry, - struct dirent **result) +static struct dirent *proxy_readdir(FsContext *ctx, V9fsFidOpenState *fs) { - return readdir_r(fs->dir, entry, result); + return readdir(fs->dir.stream); } static void proxy_seekdir(FsContext *ctx, V9fsFidOpenState *fs, off_t off) { - seekdir(fs->dir, off); + seekdir(fs->dir.stream, off); } static ssize_t proxy_preadv(FsContext *ctx, V9fsFidOpenState *fs, @@ -791,7 +789,7 @@ static int proxy_fstat(FsContext *fs_ctx, int fid_type, int fd; if (fid_type == P9_FID_DIR) { - fd = dirfd(fs->dir); + fd = dirfd(fs->dir.stream); } else { fd = fs->fd; } @@ -936,7 +934,7 @@ static int proxy_fsync(FsContext *ctx, int fid_type, int fd; if (fid_type == P9_FID_DIR) { - fd = dirfd(fs->dir); + fd = dirfd(fs->dir.stream); } else { fd = fs->fd; } @@ -1192,7 +1190,7 @@ FileOperations proxy_ops = { .opendir = proxy_opendir, .rewinddir = proxy_rewinddir, .telldir = proxy_telldir, - .readdir_r = proxy_readdir_r, + .readdir = proxy_readdir, .seekdir = proxy_seekdir, .preadv = proxy_preadv, .pwritev = proxy_pwritev, |