mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-12-11 16:00:50 -07:00
hw/9pfs: Add synthetic file system support using 9p
This patch create a synthetic file system with mount tag
v_synth when -virtfs_synth command line option is specified
in qemu. The synthetic file system can be mounted in guest
using 9p using the below command line
mount -t 9p -oversion=9p2000.L,trans=virtio v_synth <mountpint>
Synthetic file system enabled different qemu subsystem to register
callbacks for read and write events from guest. The subsystem
can create directories and files in the synthetic file system as show
in ex below
qemu_v9fs_synth_mkdir(NULL, 0777, "test2", &node);
qemu_v9fs_synth_add_file(node, 0777, "testfile",
my_test_read, NULL, NULL);
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
This commit is contained in:
parent
cc720ddb54
commit
9db221ae73
8 changed files with 660 additions and 0 deletions
18
vl.c
18
vl.c
|
|
@ -2717,6 +2717,24 @@ int main(int argc, char **argv, char **envp)
|
|||
qemu_opt_get(opts, "mount_tag"));
|
||||
break;
|
||||
}
|
||||
case QEMU_OPTION_virtfs_synth: {
|
||||
QemuOpts *fsdev;
|
||||
QemuOpts *device;
|
||||
|
||||
fsdev = qemu_opts_create(qemu_find_opts("fsdev"), "v_synth", 1);
|
||||
if (!fsdev) {
|
||||
fprintf(stderr, "duplicate option: %s\n", "virtfs_synth");
|
||||
exit(1);
|
||||
}
|
||||
qemu_opt_set(fsdev, "fsdriver", "synth");
|
||||
qemu_opt_set(fsdev, "path", "/"); /* ignored */
|
||||
|
||||
device = qemu_opts_create(qemu_find_opts("device"), NULL, 0);
|
||||
qemu_opt_set(device, "driver", "virtio-9p-pci");
|
||||
qemu_opt_set(device, "fsdev", "v_synth");
|
||||
qemu_opt_set(device, "mount_tag", "v_synth");
|
||||
break;
|
||||
}
|
||||
case QEMU_OPTION_serial:
|
||||
add_device_config(DEV_SERIAL, optarg);
|
||||
default_serial = 0;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue