mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-04 08:13:54 -06:00
hw/9pfs: Move fid pathname tracking to seperate data type.
This enables us to add handles to track fids later. The V9fsPath added is similar to V9fsString except that the size include the NULL byte also. Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
This commit is contained in:
parent
02cb7f3a25
commit
2289be19ae
9 changed files with 552 additions and 303 deletions
|
@ -17,14 +17,14 @@
|
|||
#include "qemu-coroutine.h"
|
||||
#include "virtio-9p-coth.h"
|
||||
|
||||
int v9fs_co_llistxattr(V9fsState *s, V9fsString *path, void *value, size_t size)
|
||||
int v9fs_co_llistxattr(V9fsState *s, V9fsPath *path, void *value, size_t size)
|
||||
{
|
||||
int err;
|
||||
|
||||
qemu_co_rwlock_rdlock(&s->rename_lock);
|
||||
v9fs_co_run_in_worker(
|
||||
{
|
||||
err = s->ops->llistxattr(&s->ctx, path->data, value, size);
|
||||
err = s->ops->llistxattr(&s->ctx, path, value, size);
|
||||
if (err < 0) {
|
||||
err = -errno;
|
||||
}
|
||||
|
@ -33,7 +33,7 @@ int v9fs_co_llistxattr(V9fsState *s, V9fsString *path, void *value, size_t size)
|
|||
return err;
|
||||
}
|
||||
|
||||
int v9fs_co_lgetxattr(V9fsState *s, V9fsString *path,
|
||||
int v9fs_co_lgetxattr(V9fsState *s, V9fsPath *path,
|
||||
V9fsString *xattr_name,
|
||||
void *value, size_t size)
|
||||
{
|
||||
|
@ -42,7 +42,7 @@ int v9fs_co_lgetxattr(V9fsState *s, V9fsString *path,
|
|||
qemu_co_rwlock_rdlock(&s->rename_lock);
|
||||
v9fs_co_run_in_worker(
|
||||
{
|
||||
err = s->ops->lgetxattr(&s->ctx, path->data,
|
||||
err = s->ops->lgetxattr(&s->ctx, path,
|
||||
xattr_name->data,
|
||||
value, size);
|
||||
if (err < 0) {
|
||||
|
@ -53,7 +53,7 @@ int v9fs_co_lgetxattr(V9fsState *s, V9fsString *path,
|
|||
return err;
|
||||
}
|
||||
|
||||
int v9fs_co_lsetxattr(V9fsState *s, V9fsString *path,
|
||||
int v9fs_co_lsetxattr(V9fsState *s, V9fsPath *path,
|
||||
V9fsString *xattr_name, void *value,
|
||||
size_t size, int flags)
|
||||
{
|
||||
|
@ -62,7 +62,7 @@ int v9fs_co_lsetxattr(V9fsState *s, V9fsString *path,
|
|||
qemu_co_rwlock_rdlock(&s->rename_lock);
|
||||
v9fs_co_run_in_worker(
|
||||
{
|
||||
err = s->ops->lsetxattr(&s->ctx, path->data,
|
||||
err = s->ops->lsetxattr(&s->ctx, path,
|
||||
xattr_name->data, value,
|
||||
size, flags);
|
||||
if (err < 0) {
|
||||
|
@ -73,7 +73,7 @@ int v9fs_co_lsetxattr(V9fsState *s, V9fsString *path,
|
|||
return err;
|
||||
}
|
||||
|
||||
int v9fs_co_lremovexattr(V9fsState *s, V9fsString *path,
|
||||
int v9fs_co_lremovexattr(V9fsState *s, V9fsPath *path,
|
||||
V9fsString *xattr_name)
|
||||
{
|
||||
int err;
|
||||
|
@ -81,8 +81,7 @@ int v9fs_co_lremovexattr(V9fsState *s, V9fsString *path,
|
|||
qemu_co_rwlock_rdlock(&s->rename_lock);
|
||||
v9fs_co_run_in_worker(
|
||||
{
|
||||
err = s->ops->lremovexattr(&s->ctx, path->data,
|
||||
xattr_name->data);
|
||||
err = s->ops->lremovexattr(&s->ctx, path, xattr_name->data);
|
||||
if (err < 0) {
|
||||
err = -errno;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue