diff options
author | Greg Kurz <groug@kaod.org> | 2025-03-12 16:29:27 +0100 |
---|---|---|
committer | Christian Schoenebeck <qemu_oss@crudebyte.com> | 2025-05-05 11:28:29 +0200 |
commit | 4f82ce8cd94f2601fb2b2e4cfe0cf5b44131817e (patch) | |
tree | d804501a7fd6e8b9c453664247c7c1f77aa6ca1f | |
parent | 89f7b4da7662ecc6840ffb0846045f03f9714bc6 (diff) | |
download | qemu-4f82ce8cd94f2601fb2b2e4cfe0cf5b44131817e.zip qemu-4f82ce8cd94f2601fb2b2e4cfe0cf5b44131817e.tar.gz qemu-4f82ce8cd94f2601fb2b2e4cfe0cf5b44131817e.tar.bz2 |
9pfs: local : Introduce local_fid_fd() helper
Factor out duplicated code to a single helper. More users to come.
Signed-off-by: Greg Kurz <groug@kaod.org>
Reviewed-by: Christian Schoenebeck <qemu_oss@crudebyte.com>
Message-Id: <20250312152933.383967-2-groug@kaod.org>
Signed-off-by: Christian Schoenebeck <qemu_oss@crudebyte.com>
-rw-r--r-- | hw/9pfs/9p-local.c | 23 |
1 files changed, 10 insertions, 13 deletions
diff --git a/hw/9pfs/9p-local.c b/hw/9pfs/9p-local.c index 928523a..99b9560 100644 --- a/hw/9pfs/9p-local.c +++ b/hw/9pfs/9p-local.c @@ -766,16 +766,19 @@ out: return err; } -static int local_fstat(FsContext *fs_ctx, int fid_type, - V9fsFidOpenState *fs, struct stat *stbuf) +static int local_fid_fd(int fid_type, V9fsFidOpenState *fs) { - int err, fd; - if (fid_type == P9_FID_DIR) { - fd = dirfd(fs->dir.stream); + return dirfd(fs->dir.stream); } else { - fd = fs->fd; + return fs->fd; } +} + +static int local_fstat(FsContext *fs_ctx, int fid_type, + V9fsFidOpenState *fs, struct stat *stbuf) +{ + int err, fd = local_fid_fd(fid_type, fs); err = fstat(fd, stbuf); if (err) { @@ -1167,13 +1170,7 @@ out: static int local_fsync(FsContext *ctx, int fid_type, V9fsFidOpenState *fs, int datasync) { - int fd; - - if (fid_type == P9_FID_DIR) { - fd = dirfd(fs->dir.stream); - } else { - fd = fs->fd; - } + int fd = local_fid_fd(fid_type, fs); if (datasync) { return qemu_fdatasync(fd); |