From bed4352c4f041af65c522cb453aff468f49aebea Mon Sep 17 00:00:00 2001 From: "Aneesh Kumar K.V" Date: Sat, 7 May 2011 21:09:24 +0530 Subject: hw/9pfs: Add yeild support for clunk related coroutine This include lsetxattr, lremovexattr, closedir and close. Signed-off-by: Aneesh Kumar K.V --- hw/9pfs/coxattr.c | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) (limited to 'hw/9pfs/coxattr.c') diff --git a/hw/9pfs/coxattr.c b/hw/9pfs/coxattr.c index 2fba2c98c2..a289389e49 100644 --- a/hw/9pfs/coxattr.c +++ b/hw/9pfs/coxattr.c @@ -48,3 +48,37 @@ int v9fs_co_lgetxattr(V9fsState *s, V9fsString *path, }); return err; } + +int v9fs_co_lsetxattr(V9fsState *s, V9fsString *path, + V9fsString *xattr_name, void *value, + size_t size, int flags) +{ + int err; + + v9fs_co_run_in_worker( + { + err = s->ops->lsetxattr(&s->ctx, path->data, + xattr_name->data, value, + size, flags); + if (err < 0) { + err = -errno; + } + }); + return err; +} + +int v9fs_co_lremovexattr(V9fsState *s, V9fsString *path, + V9fsString *xattr_name) +{ + int err; + + v9fs_co_run_in_worker( + { + err = s->ops->lremovexattr(&s->ctx, path->data, + xattr_name->data); + if (err < 0) { + err = -errno; + } + }); + return err; +} -- cgit 1.4.1