Browse Source

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>
pull/291/head
Greg Kurz 1 year ago
committed by Christian Schoenebeck
parent
commit
4f82ce8cd9
  1. 23
      hw/9pfs/9p-local.c

23
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);

Loading…
Cancel
Save