mirror of
https://github.com/izzy2lost/xemu.git
synced 2026-07-06 00:20:22 -07:00
virtio-9p: Introduces an option to specify the security model.
The new option is: -fsdev fstype,id=myid,path=/share_path/,security_model=[mapped|passthrough] -virtfs fstype,path=/share_path/,security_model=[mapped|passthrough],mnt_tag=tag In the case of mapped security model, files are created with QEMU user credentials and the client-user's credentials are saved in extended attributes. Whereas in the case of passthrough security model, files on the filesystem are directly created with client-user's credentials. Signed-off-by: Venkateswararao Jujjuri <jvrao@linux.vnet.ibm.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
committed by
Anthony Liguori
parent
fac4f11147
commit
9ce56db6f0
+8
-1
@@ -34,7 +34,7 @@ int qemu_fsdev_add(QemuOpts *opts)
|
||||
return -1;
|
||||
}
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE(FsTypes); i++) {
|
||||
for (i = 0; i < ARRAY_SIZE(FsTypes); i++) {
|
||||
if (strcmp(FsTypes[i].name, qemu_opt_get(opts, "fstype")) == 0) {
|
||||
break;
|
||||
}
|
||||
@@ -46,10 +46,17 @@ int qemu_fsdev_add(QemuOpts *opts)
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (qemu_opt_get(opts, "security_model") == NULL) {
|
||||
fprintf(stderr, "fsdev: No security_model specified.\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
fsle = qemu_malloc(sizeof(*fsle));
|
||||
|
||||
fsle->fse.fsdev_id = qemu_strdup(qemu_opts_id(opts));
|
||||
fsle->fse.path = qemu_strdup(qemu_opt_get(opts, "path"));
|
||||
fsle->fse.security_model = qemu_strdup(qemu_opt_get(opts,
|
||||
"security_model"));
|
||||
fsle->fse.ops = FsTypes[i].ops;
|
||||
|
||||
QTAILQ_INSERT_TAIL(&fstype_entries, fsle, next);
|
||||
|
||||
@@ -40,6 +40,7 @@ typedef struct FsTypeTable {
|
||||
typedef struct FsTypeEntry {
|
||||
char *fsdev_id;
|
||||
char *path;
|
||||
char *security_model;
|
||||
FileOperations *ops;
|
||||
} FsTypeEntry;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user