mirror of https://gitee.com/openkylin/qemu.git
hw/9pfs: Add yield support for mkdir coroutine
Signed-off-by: Venkateswararao Jujjuri <jvrao@linux.vnet.ibm.com> Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
This commit is contained in:
parent
1b733fed7f
commit
d0884642b8
|
@ -64,3 +64,22 @@ void v9fs_co_rewinddir(V9fsState *s, V9fsFidState *fidp)
|
|||
s->ops->rewinddir(&s->ctx, fidp->fs.dir);
|
||||
});
|
||||
}
|
||||
|
||||
int v9fs_co_mkdir(V9fsState *s, char *name, mode_t mode, uid_t uid, gid_t gid)
|
||||
{
|
||||
int err;
|
||||
FsCred cred;
|
||||
|
||||
cred_init(&cred);
|
||||
cred.fc_mode = mode;
|
||||
cred.fc_uid = uid;
|
||||
cred.fc_gid = gid;
|
||||
v9fs_co_run_in_worker(
|
||||
{
|
||||
err = s->ops->mkdir(&s->ctx, name, &cred);
|
||||
if (err < 0) {
|
||||
err = -errno;
|
||||
}
|
||||
});
|
||||
return err;
|
||||
}
|
||||
|
|
|
@ -73,4 +73,5 @@ extern int v9fs_co_lgetxattr(V9fsState *, V9fsString *,
|
|||
V9fsString *, void *, size_t);
|
||||
extern int v9fs_co_mknod(V9fsState *, V9fsString *, uid_t,
|
||||
gid_t, dev_t, mode_t);
|
||||
extern int v9fs_co_mkdir(V9fsState *, char *, mode_t, uid_t, gid_t);
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue