9pfs: Introduce futimens file op

Add an futimens 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-5-groug@kaod.org>
Signed-off-by: Christian Schoenebeck <qemu_oss@crudebyte.com>
This commit is contained in:
Greg Kurz 2025-03-12 16:29:30 +01:00 committed by Christian Schoenebeck
parent 0c798dd523
commit 371a269ff8
7 changed files with 46 additions and 1 deletions

View file

@ -424,6 +424,13 @@ static int synth_utimensat(FsContext *fs_ctx, V9fsPath *path,
return 0;
}
static int synth_futimens(FsContext *fs_ctx, int fid_type, V9fsFidOpenState *fs,
const struct timespec *buf)
{
errno = ENOSYS;
return -1;
}
static int synth_remove(FsContext *ctx, const char *path)
{
errno = EPERM;
@ -664,4 +671,5 @@ FileOperations synth_ops = {
.unlinkat = synth_unlinkat,
.has_valid_file_handle = synth_has_valid_file_handle,
.ftruncate = synth_ftruncate,
.futimens = synth_futimens,
};