diff options
| author | Greg Kurz <groug@kaod.org> | 2025-03-12 16:29:29 +0100 |
|---|---|---|
| committer | Christian Schoenebeck <qemu_oss@crudebyte.com> | 2025-05-05 11:28:29 +0200 |
| commit | 0c798dd52355f3489b29bba0dfd7df0e24cfa1dd (patch) | |
| tree | d563a14ff4c72b91fa2e0ab4865827c8453a4598 /hw/9pfs/9p-synth.c | |
| parent | f2bb367d2b265c6c0ead1e0d4a8f7c43310b3107 (diff) | |
| download | focaccia-qemu-0c798dd52355f3489b29bba0dfd7df0e24cfa1dd.tar.gz focaccia-qemu-0c798dd52355f3489b29bba0dfd7df0e24cfa1dd.zip | |
9pfs: Introduce ftruncate file op
Add an ftruncate operation to the fs driver and use if when a fid has a valid file descriptor. This is required to support more cases where the client wants to do an action on an unlinked file which it still has an open file decriptor for. Only 9P2000.L was considered. Signed-off-by: Greg Kurz <groug@kaod.org> Reviewed-by: Christian Schoenebeck <qemu_oss@crudebyte.com> Message-Id: <20250312152933.383967-4-groug@kaod.org> Signed-off-by: Christian Schoenebeck <qemu_oss@crudebyte.com>
Diffstat (limited to 'hw/9pfs/9p-synth.c')
| -rw-r--r-- | hw/9pfs/9p-synth.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/hw/9pfs/9p-synth.c b/hw/9pfs/9p-synth.c index be0492b400..3d28afc4d0 100644 --- a/hw/9pfs/9p-synth.c +++ b/hw/9pfs/9p-synth.c @@ -356,6 +356,13 @@ static int synth_truncate(FsContext *ctx, V9fsPath *path, off_t offset) return -1; } +static int synth_ftruncate(FsContext *ctx, int fid_type, V9fsFidOpenState *fs, + off_t size) +{ + errno = ENOSYS; + return -1; +} + static int synth_chmod(FsContext *fs_ctx, V9fsPath *path, FsCred *credp) { errno = EPERM; @@ -656,4 +663,5 @@ FileOperations synth_ops = { .renameat = synth_renameat, .unlinkat = synth_unlinkat, .has_valid_file_handle = synth_has_valid_file_handle, + .ftruncate = synth_ftruncate, }; |