[osv-dev] Re: Virtio-FS

2020-02-18 Thread Fotis Xenakis
mapping to memory in the guest. > > On Monday, February 17, 2020 at 11:40:33 PM UTC-5, Waldek Kozaczuk wrote: >> >> Hi, >> >> Good to hear from you! >> >> On Saturday, February 15, 2020 at 5:53:58 PM UTC-5, Fotis Xenakis wrote: >>> >>> I saw th

[osv-dev] Re: Virtio-FS

2020-02-18 Thread Fotis Xenakis
Good to hear from you! > > On Saturday, February 15, 2020 at 5:53:58 PM UTC-5, Fotis Xenakis wrote: >> >> I saw this initial patch, but was short on time to reply until now. >> >> I am still interested in this and keep pursuing it! I was also working on >>

Re: [osv-dev] [PATCH] scripts: upgrade to python 3 - part 1

2020-02-19 Thread Fotis Xenakis
Since there is no easy and robust way to determine the distro with python >=3.8 (when platform.linux_distribution() was removed), I see mostly two ways forward: - Just require pip for running setup.py, which I personally find reasonable (python is an established requirement anyway). -

[osv-dev] Re: Virtio-FS

2020-02-15 Thread Fotis Xenakis
I saw this initial patch, but was short on time to reply until now. I am still interested in this and keep pursuing it! I was also working on adding the initial support (had a working driver but nothing on the fs side), so I will rebase on your work and continue from there. A question here is

[osv-dev] [PATCH 1/2] pci: allow 64-bit BAR offsets

2020-03-08 Thread Fotis Xenakis
Signed-off-by: Fotis Xenakis --- drivers/pci-function.cc | 31 +-- drivers/pci-function.hh | 19 --- 2 files changed, 21 insertions(+), 29 deletions(-) diff --git a/drivers/pci-function.cc b/drivers/pci-function.cc index ac585bc6..369f22e9 100644

[osv-dev] [PATCH 0/2] virtio: enable shared memory regions

2020-03-08 Thread Fotis Xenakis
] A comprehensive summary of PCI configuration space: https://wiki.osdev.org/Pci Fotis Xenakis (2): pci: allow 64-bit BAR offsets virtio-pci: discover shared memory regions drivers/pci-function.cc | 31 ++ drivers/pci-function.hh | 19 - drivers/virtio-pci-device.cc

[osv-dev] [PATCH 2/2] virtio-pci: discover shared memory regions

2020-03-08 Thread Fotis Xenakis
irtio over PCI, these are enumerated as a sequence of VIRTIO_PCI_CAP_SHARED_MEMORY_CFG capabilities, one per region. This patch extends the virtio over PCI implementation to discover all such regions provided by a device. Signed-off-by: Fotis Xenakis --- drivers/virtio-pci-devi

[osv-dev] Re: [PATCH 2/2] virtio-pci: discover shared memory regions

2020-03-14 Thread Fotis Xenakis
gt; > On Sunday, March 8, 2020 at 10:44:52 AM UTC-4, Fotis Xenakis wrote: >> >> The latest virtio spec adds shared memory regions: >> "Shared memory regions are an additional facility available to devices >> that need a region of memory that’s continuously shared b

[osv-dev] [PATCH] docker: update default distros

2020-04-17 Thread Fotis Xenakis
Signed-off-by: Fotis Xenakis --- docker/Dockerfile.builder | 10 +- docker/Dockerfile.builder-fedora-base | 20 ++-- docker/Dockerfile.builder-ubuntu-base | 20 ++-- docker/Dockerfile.runner-fedora | 2 +- docker/Dockerfile.runner-ubuntu

[osv-dev] Re: New User Question (using the Docker containers)

2020-04-17 Thread Fotis Xenakis
Hello! I have sent out a patch here for updating the default distribution images to the latest supported by the setup script and also tried to minimally update the documentation in that. Even without

[osv-dev] Re: [PATCH] docker: update default distros

2020-04-17 Thread Fotis Xenakis
Please note that I haven't checked if / how this might interfere with the CI setup and thus might require changes in that if it breaks compatibility. Τη Παρασκευή, 17 Απριλίου 2020 - 7:09:29 μ.μ. UTC+3, ο χρήστης Fotis Xenakis έγραψε: > > Signed-off-by: Fotis Xenakis > ---

[osv-dev] [PATCH v2] docker: update default distros

2020-04-17 Thread Fotis Xenakis
Changes since v1: - Don't create redundant /osv directory in builder dockerfiles. - Remove dependency on wget in runner dockerfiles. Signed-off-by: Fotis Xenakis --- docker/Dockerfile.builder | 10 +- docker/Dockerfile.builder-fedora-base | 20 ++-- docker

[osv-dev] [PATCH 5/6] virtio-fs: add basic read using the DAX window

2020-04-20 Thread Fotis Xenakis
it to the user buffers and the mapping is cleaned-up with FUSE_REMOVEMAPPING. In this naive implementation, the window is used for a single mapping at a time, with no caching or readahead. Signed-off-by: Fotis Xenakis --- fs/virtiofs/virtiofs_vnops.cc | 167 +- 1 file changed

[osv-dev] [PATCH 1/6] virtio-fs: minor code improvements in driver

2020-04-20 Thread Fotis Xenakis
These include: - Checking memory allocations - Using static_cast instead of reinterpret_cast where possible - Formatting and consistency Signed-off-by: Fotis Xenakis --- drivers/virtio-fs.cc | 82 drivers/virtio-fs.hh | 13 +++ 2 files changed

[osv-dev] [PATCH 0/6] virtio-fs: initial support for DAX window

2020-04-20 Thread Fotis Xenakis
QEMU howto: https://virtio-fs.gitlab.io/howto-qemu.html Fotis Xenakis (6): virtio-fs: minor code improvements in driver virtio-fs: minor code improvements in filesystem virtio-fs: update fuse protocol header virtio-fs: add driver support for the DAX window virtio-fs: add basic read usi

[osv-dev] [PATCH 1/6] virtio-fs: minor code improvements in driver

2020-04-20 Thread Fotis Xenakis
These include: - Checking memory allocations - Using static_cast instead of reinterpret_cast where possible - Formatting and consistency Signed-off-by: Fotis Xenakis --- drivers/virtio-fs.cc | 82 drivers/virtio-fs.hh | 13 +++ 2 files changed

[osv-dev] [PATCH 2/6] virtio-fs: minor code improvements in filesystem

2020-04-20 Thread Fotis Xenakis
These include: - Checking memory allocations - Using smart pointers where possible - Using static_cast instead of reinterpret_cast or C-style cast where possible - Formatting and consistency Signed-off-by: Fotis Xenakis --- fs/virtiofs/virtiofs.hh| 2 +- fs/virtiofs/virtiofs_i.hh

[osv-dev] [PATCH 3/6] virtio-fs: update fuse protocol header

2020-04-20 Thread Fotis Xenakis
Copy from virtiofsd @ 32006c66f2578af4121d7effaccae4aa4fa12e46. This includes the definitions for FUSE_SETUPMAPPING AND FUSE_REMOVEMAPPING. Signed-off-by: Fotis Xenakis --- fs/virtiofs/fuse_kernel.h | 82 ++- 1 file changed, 38 insertions(+), 44 deletions

[osv-dev] [PATCH 4/6] virtio-fs: add driver support for the DAX window

2020-04-20 Thread Fotis Xenakis
Signed-off-by: Fotis Xenakis --- drivers/virtio-fs.cc | 12 drivers/virtio-fs.hh | 10 ++ 2 files changed, 22 insertions(+) diff --git a/drivers/virtio-fs.cc b/drivers/virtio-fs.cc index d95f7740..b7363040 100644 --- a/drivers/virtio-fs.cc +++ b/drivers/virtio-fs.cc

[osv-dev] [PATCH 6/6] virtio-fs: refactor driver / fs

2020-04-20 Thread Fotis Xenakis
it offered no value with fuse_request now defined in the driver. Signed-off-by: Fotis Xenakis --- drivers/virtio-fs.cc | 42 +- drivers/virtio-fs.hh | 27 +++--- fs/virtiofs/virtiofs_i.hh | 24 ++- f

[osv-dev] [PATCH v2 0/3] virtio: enable shared memory regions

2020-03-15 Thread Fotis Xenakis
of such a comparison to be honest. Fotis Xenakis (3): pci: add batch capability discovery virtio-pci: discover shared memory regions virtio: expose shared memory regions drivers/pci-function.cc | 39 +-- drivers/pci-function.hh | 1 + drivers/virtio-device.hh | 2

[osv-dev] [PATCH v2 1/3] pci: add batch capability discovery

2020-03-15 Thread Fotis Xenakis
Signed-off-by: Fotis Xenakis --- drivers/pci-function.cc | 39 +-- drivers/pci-function.hh | 1 + 2 files changed, 34 insertions(+), 6 deletions(-) diff --git a/drivers/pci-function.cc b/drivers/pci-function.cc index 369f22e9..2cc8b837 100644 --- a/drivers

[osv-dev] [PATCH v2 2/3] virtio-pci: discover shared memory regions

2020-03-15 Thread Fotis Xenakis
irtio over PCI, these are enumerated as a sequence of VIRTIO_PCI_CAP_SHARED_MEMORY_CFG capabilities, one per region. This patch extends the virtio over PCI implementation to discover all such regions provided by a device. Signed-off-by: Fotis Xenakis --- drivers/virtio-pci-devi

[osv-dev] [PATCH v2 3/3] virtio: expose shared memory regions

2020-03-15 Thread Fotis Xenakis
Signed-off-by: Fotis Xenakis --- drivers/virtio-device.hh | 2 ++ drivers/virtio-mmio.hh | 1 + drivers/virtio-pci-device.cc | 24 drivers/virtio-pci-device.hh | 4 4 files changed, 31 insertions(+) diff --git a/drivers/virtio-device.hh b/drivers

[osv-dev] Re: [PATCH v2 1/3] pci: add batch capability discovery

2020-03-15 Thread Fotis Xenakis
Τη Κυριακή, 15 Μαρτίου 2020 - 10:14:46 μ.μ. UTC+2, ο χρήστης Waldek Kozaczuk έγραψε: > > Like it overall but see my suggestion below. > On Sunday, March 15, 2020 at 7:43:49 AM UTC-4, Fotis Xenakis wrote: >> >> Signed-off-by: Fotis Xenakis >> --- >&

[osv-dev] [PATCH v3 0/3] virtio: enable shared memory regions

2020-03-16 Thread Fotis Xenakis
multiple capabilities of the same type. Fotis Xenakis (3): pci: add batch capability discovery virtio-pci: discover shared memory regions virtio: expose shared memory regions drivers/pci-function.cc | 36 +++- drivers/pci-function.hh | 1 + drivers/virtio-device.hh

[osv-dev] [PATCH v3 1/3] pci: add batch capability discovery

2020-03-16 Thread Fotis Xenakis
Signed-off-by: Fotis Xenakis --- drivers/pci-function.cc | 36 +++- drivers/pci-function.hh | 1 + 2 files changed, 36 insertions(+), 1 deletion(-) diff --git a/drivers/pci-function.cc b/drivers/pci-function.cc index 369f22e9..b0fb3674 100644 --- a/drivers/pci

[osv-dev] [PATCH v3 2/3] virtio-pci: discover shared memory regions

2020-03-16 Thread Fotis Xenakis
irtio over PCI, these are enumerated as a sequence of VIRTIO_PCI_CAP_SHARED_MEMORY_CFG capabilities, one per region. This patch extends the virtio over PCI implementation to discover all such regions provided by a device. Signed-off-by: Fotis Xenakis --- drivers/virtio-pci-devi

[osv-dev] [PATCH v3 3/3] virtio: expose shared memory regions

2020-03-16 Thread Fotis Xenakis
Signed-off-by: Fotis Xenakis --- drivers/virtio-device.hh | 2 ++ drivers/virtio-mmio.hh | 1 + drivers/virtio-pci-device.cc | 24 drivers/virtio-pci-device.hh | 4 4 files changed, 31 insertions(+) diff --git a/drivers/virtio-device.hh b/drivers

Re: [osv-dev] Re: [PATCH 3/6] virtio-fs: update fuse protocol header

2020-04-30 Thread Fotis Xenakis
Τη Παρασκευή, 1 Μαΐου 2020 - 1:31:00 π.μ. UTC+3, ο χρήστης Waldek Kozaczuk έγραψε: > > > > On Thu, Apr 30, 2020 at 6:19 PM Fotis Xenakis > wrote: > >> Indeed, QEMU 5.0 does not support DAX and the virtiofsd in QEMU 5.0 won't >> accept any version other than

[osv-dev] Re: [PATCH 5/6] virtio-fs: add basic read using the DAX window

2020-04-30 Thread Fotis Xenakis
> > Stock QEMU still does not have DAX support so I used one from > https://gitlab.com/virtio-fs/qemu/-/commits/virtio-dev (shall I be using > this?) to test the DAX logic. > The branch you mention is under active development and will *not* work with my current patches. Those are based upon

[osv-dev] Re: [PATCH 3/6] virtio-fs: update fuse protocol header

2020-04-30 Thread Fotis Xenakis
is concerned. What do you think? Τη Τετάρτη, 29 Απριλίου 2020 - 7:48:02 μ.μ. UTC+3, ο χρήστης Waldek Kozaczuk έγραψε: > > On Monday, April 20, 2020 at 5:04:27 PM UTC-4, Fotis Xenakis wrote: >> >> Copy from virtiofsd @ 32006c66f2578af4121d7effaccae4aa4fa12e46. This >> in

[osv-dev] Re: [PATCH 6/6] virtio-fs: refactor driver / fs

2020-04-30 Thread Fotis Xenakis
! > > On Monday, April 20, 2020 at 5:07:18 PM UTC-4, Fotis Xenakis wrote: >> >> Since in virtio-fs the filesystem is very tightly coupled with the >> driver, this tries to make clear the dependence of the first on the >> second, as well as simplify. >> > Agr

[osv-dev] [PATCH] docker: update default to ubuntu 20.04

2020-05-13 Thread Fotis Xenakis
Signed-off-by: Fotis Xenakis --- docker/Dockerfile.builder | 2 +- docker/Dockerfile.builder-ubuntu-base | 2 +- docker/Dockerfile.runner-ubuntu | 4 ++-- docker/README.md | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/docker

[osv-dev] [PATCH v2 0/4] virtio-fs: initial support for DAX window

2020-05-17 Thread Fotis Xenakis
io-fs QEMU patch: https://www.redhat.com/archives/virtio-fs/2020-May/msg00053.html [3] Patched virtio-fs QEMU: https://github.com/foxeng/qemu/tree/fix-dax-fd [4] Official virtio-fs QEMU how-to: https://virtio-fs.gitlab.io/howto-qemu.html Fotis Xenakis (4): virtio-fs: update fuse protocol header

[osv-dev] [PATCH v2 1/4] virtio-fs: update fuse protocol header

2020-05-17 Thread Fotis Xenakis
Copy from https://gitlab.com/virtio-fs/qemu @21336c0f3d05a97f5c409bbc894c19d87259655c. Signed-off-by: Fotis Xenakis --- fs/virtiofs/fuse_kernel.h | 88 +++ 1 file changed, 81 insertions(+), 7 deletions(-) diff --git a/fs/virtiofs/fuse_kernel.h b/fs/virtiofs

[osv-dev] [PATCH v2 2/4] virtio-fs: implement FUSE_INIT map_alignment field

2020-05-17 Thread Fotis Xenakis
Signed-off-by: Fotis Xenakis --- drivers/virtio-fs.cc | 2 +- drivers/virtio-fs.hh | 7 +++ fs/virtiofs/virtiofs_vfsops.cc | 8 +++- 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/drivers/virtio-fs.cc b/drivers/virtio-fs.cc index b7363040..ca9b00fc

[osv-dev] [PATCH v2 3/4] virtio-fs: add basic read using the DAX window

2020-05-17 Thread Fotis Xenakis
it to the user buffers and the mapping is cleaned-up with FUSE_REMOVEMAPPING. In this naive implementation, the window is used for a single mapping at a time, with no caching or readahead. Signed-off-by: Fotis Xenakis --- fs/virtiofs/virtiofs_vnops.cc | 171 +- 1 file changed

[osv-dev] [PATCH v2 4/4] virtio-fs: refactor driver / fs

2020-05-17 Thread Fotis Xenakis
it offered no value with fuse_request now defined in the driver. Signed-off-by: Fotis Xenakis --- drivers/virtio-fs.cc | 42 +- drivers/virtio-fs.hh | 27 +++--- fs/virtiofs/virtiofs_i.hh | 24 ++- f

[osv-dev] Re: [PATCH V2 1/2] virtio: optimize number of exits when parsing capabilities

2020-03-18 Thread Fotis Xenakis
Looks good to me! Also, nice to make pci::function::find_capability() private, de-cluttering the public interface (since all uses are from other functions of pci::function). Τη Τετάρτη, 18 Μαρτίου 2020 - 5:34:29 μ.μ. UTC+2, ο χρήστης Waldemar Kozaczuk έγραψε: > > --- >

[osv-dev] Re: [PATCH 1/2] virtio: optimize number of exits when parsing capabilities

2020-03-17 Thread Fotis Xenakis
The patches are as correct and according to spec as the code previously was, so I think they are good, and testing agrees with this. Also, the code is pretty clear (to me at least). The only (minor) point I could consider changing is making pci::function::find_capabilities(u8 cap_id,

[osv-dev] [PATCH] fs: fix name check in pseudofs::lookup()

2020-03-23 Thread Fotis Xenakis
Signed-off-by: Fotis Xenakis --- fs/pseudofs/pseudofs.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fs/pseudofs/pseudofs.cc b/fs/pseudofs/pseudofs.cc index 4d37dc66..b721d950 100644 --- a/fs/pseudofs/pseudofs.cc +++ b/fs/pseudofs/pseudofs.cc @@ -97,7 +97,7 @@ int lookup

[osv-dev] Re: [PATCH] fs: fix name check in pseudofs::lookup()

2020-03-23 Thread Fotis Xenakis
I was reading through the filesystem code and noticed this check which seemed wrong (given the type of name). If it was right, please ignore this patch. Τη Δευτέρα, 23 Μαρτίου 2020 - 7:01:48 μ.μ. UTC+2, ο χρήστης Fotis Xenakis έγραψε: > > Signed-off-by: Fotis Xenakis > --- >

[osv-dev] [PATCH v2 1/3] loader: add rootfs type command line option

2020-09-03 Thread Fotis Xenakis
added here, just documenting the option and making the code more clear and explicit. Signed-off-by: Fotis Xenakis --- fs/vfs/main.cc | 2 +- loader.cc | 60 +- scripts/build | 3 +++ 3 files changed, 54 insertions(+), 11 deletions(-) diff

[osv-dev] [PATCH v2 0/3] Support booting from virtio-fs

2020-09-03 Thread Fotis Xenakis
fs as well when --rootfs is not specified has passed through my mind. This could be a basic auto-discovery process and should be straight-forward as long as the various mount_*_rootfs are side-effect free when they fail. Do you think it's something worth pursuing? Fotis Xenakis (3): loader: add

[osv-dev] [PATCH v2 3/3] scripts/build: don't exit when exporting files

2020-09-03 Thread Fotis Xenakis
This allows exporting an image's files while doing a complete build on the same invocation (these should anyway be orthogonal). Signed-off-by: Fotis Xenakis --- scripts/build | 1 - 1 file changed, 1 deletion(-) diff --git a/scripts/build b/scripts/build index 24e930d3..fed78fd3 100755

[osv-dev] [PATCH v2 2/3] loader: add support for booting from virtio-fs

2020-09-03 Thread Fotis Xenakis
as the virtio-fs host directory, one can use the existing 'export' and 'export_dir' (previously undocumented) options to scripts/build. Ref https://github.com/cloudius-systems/osv/issues/1062. Signed-off-by: Fotis Xenakis --- fs/vfs/main.cc | 24 loader.cc | 10

Re: [osv-dev] Re: [PATCH 2/5] vfs: homogenize mount_rofs_rootfs and mount_zfs_rootfs

2020-08-28 Thread Fotis Xenakis
>> may break any existing scripts. >> >> Waldek >> >> On Wednesday, August 19, 2020 at 5:43:05 AM UTC-4 Fotis Xenakis wrote: >> >>> Signed-off-by: Fotis Xenakis >>> --- >>> fs/vfs/main.cc | 52 +

[osv-dev] [PATCH 0/5] Support booting from virtio-fs

2020-08-19 Thread Fotis Xenakis
is as always more than welcome! Fotis Xenakis (5): virtio-fs: use exclusive device ids vfs: homogenize mount_rofs_rootfs and mount_zfs_rootfs loader: add rootfs type command line option loader: add support for booting from virtio-fs scripts/build: don't exit when exporting files drivers/virtio

[osv-dev] [PATCH 3/5] loader: add rootfs type command line option

2020-08-19 Thread Fotis Xenakis
here, just documenting the option and making the code more clear and explicit. Signed-off-by: Fotis Xenakis --- fs/vfs/main.cc | 2 +- loader.cc | 44 +--- scripts/build | 3 +++ 3 files changed, 37 insertions(+), 12 deletions(-) diff --git a/fs

[osv-dev] [PATCH 1/5] virtio-fs: use exclusive device ids

2020-08-19 Thread Fotis Xenakis
a shift in the naming of virtio-fs devices. This switches virtio-fs to using a separate, exclusive id. The logic behind the devfs name (i.e. virtiofs-) remains the same. Signed-off-by: Fotis Xenakis --- drivers/virtio-fs.cc | 10 +++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff

[osv-dev] [PATCH 2/5] vfs: homogenize mount_rofs_rootfs and mount_zfs_rootfs

2020-08-19 Thread Fotis Xenakis
Signed-off-by: Fotis Xenakis --- fs/vfs/main.cc | 52 +- loader.cc | 20 +-- 2 files changed, 40 insertions(+), 32 deletions(-) diff --git a/fs/vfs/main.cc b/fs/vfs/main.cc index 3c8b327b..6cee319e 100644 --- a/fs/vfs/main.cc

[osv-dev] [PATCH 5/5] scripts/build: don't exit when exporting files

2020-08-19 Thread Fotis Xenakis
This allows exporting an image's files while doing a complete build on the same invocation (these should anyway be orthogonal). Signed-off-by: Fotis Xenakis --- scripts/build | 1 - 1 file changed, 1 deletion(-) diff --git a/scripts/build b/scripts/build index 24e930d3..fed78fd3 100755

[osv-dev] [PATCH 4/5] loader: add support for booting from virtio-fs

2020-08-19 Thread Fotis Xenakis
as the virtio-fs host directory, one can use the existing 'export' and 'export_dir' (previously undocumented) options to scripts/build. Ref https://github.com/cloudius-systems/osv/issues/1062. Signed-off-by: Fotis Xenakis --- fs/vfs/main.cc | 24 loader.cc | 10

[osv-dev] Re: [PATCH v2 4/4] virtio-fs: refactor driver / fs

2020-05-27 Thread Fotis Xenakis
l here > <https://gitlab.com/virtio-fs/qemu/-/blob/21336c0f3d05a97f5c409bbc894c19d87259655c/tools/virtiofsd/passthrough_ll.c#L2905> > ). > Not porud to say this, but I have been running with elevated privileges > locally. I will reach out to the virtio-fs devs to ask though and hopefull

[osv-dev] Re: [PATCH v2 4/4] virtio-fs: refactor driver / fs

2020-05-25 Thread Fotis Xenakis
tiofsd, and what fails is the mkdtemp call here <https://gitlab.com/virtio-fs/qemu/-/blob/21336c0f3d05a97f5c409bbc894c19d87259655c/tools/virtiofsd/passthrough_ll.c#L2905> ). Not porud to say this, but I have been running with elevated privileges locally. I will reach out to the virtio-fs

[osv-dev] [PATCH] virtio-fs: add error check in fs

2020-07-29 Thread Fotis Xenakis
Ref https://github.com/cloudius-systems/osv/issues/1094 Signed-off-by: Fotis Xenakis --- fs/virtiofs/virtiofs_vfsops.cc | 7 +-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/fs/virtiofs/virtiofs_vfsops.cc b/fs/virtiofs/virtiofs_vfsops.cc index 64855b73..d44e160d 100644

[osv-dev] [PATCH] virtio-fs: fix lost wakeup in driver

2020-07-10 Thread Fotis Xenakis
for a lost wakeup, where the request would be processed before the interested thread would wait() on it (happened during testing with fio). This is now fixed, using a waiter instead of a waitqueue. This also includes a few, cosmetic mostly, improvements. Signed-off-by: Fotis Xenakis --- drivers/virtio

[osv-dev] [PATCH v2 2/2] virtio-fs: fix lost wakeup in driver

2020-07-11 Thread Fotis Xenakis
for a lost wakeup, where the request would be processed before the interested thread would wait() on it (happened during testing with fio). This is now fixed, using a waiter instead of a waitqueue. Signed-off-by: Fotis Xenakis --- drivers/virtio-fs.cc | 16 drivers/virtio-fs.hh

[osv-dev] [PATCH v2 1/2] virtio-fs: minor driver code improvements

2020-07-11 Thread Fotis Xenakis
Signed-off-by: Fotis Xenakis --- drivers/virtio-fs.cc | 67 ++ drivers/virtio-fs.hh | 8 +++- fs/virtiofs/virtiofs_vfsops.cc | 2 +- 3 files changed, 34 insertions(+), 43 deletions(-) diff --git a/drivers/virtio-fs.cc b/drivers/virtio-fs.cc

[osv-dev] [PATCH v2 0/2] virtio-fs: fix lost wakeup in driver

2020-07-11 Thread Fotis Xenakis
This patch series fixes a lost wakeup bug in the driver. Changes since v1: - Better split into separate commits. Fotis Xenakis (2): virtio-fs: minor driver code improvements virtio-fs: fix lost wakeup in driver drivers/virtio-fs.cc | 83 +++--- drivers

[osv-dev] [PATCH v2 2/2] virtio-fs: use multiple dax mappings in filesystem

2020-06-21 Thread Fotis Xenakis
, concurrent mounts of the same device share a common dax_manager. - The FUSE_READ fallback as well as the logic of using it when the DAX window is not available or a read using it fails are untouched. Signed-off-by: Fotis Xenakis --- drivers/virtio-fs.hh | 11 ++- fs/virtiofs/virtiofs.hh

[osv-dev] [PATCH v2 1/2] virtio-fs: implement dax window manager

2020-06-21 Thread Fotis Xenakis
For details on the manager's policy, please see fs/virtiofs/virtiofs_dax.hh. Signed-off-by: Fotis Xenakis --- Makefile| 39 +++--- fs/virtiofs/virtiofs_dax.cc | 268 fs/virtiofs/virtiofs_dax.hh | 109 +++ 3 files changed, 397

[osv-dev] [PATCH v2 0/2] virtio-fs: handle multiple dax mappings

2020-06-21 Thread Fotis Xenakis
. Changes since v1: - Made the dax_manager:virtio-fs device relation 1:1 (previously it was 1:1 with a mount, so mounting a device multiple times would not work). - Renamed virtiofs_mount_data.dax to virtiofs_mount_data.dax_mgr for clarity. Fotis Xenakis (2): virtio-fs: implement dax window

[osv-dev] [PATCH 2/2] virtio-fs: use multiple dax mappings in filesystem

2020-06-19 Thread Fotis Xenakis
at unmount time. - The FUSE_READ fallback as well as the logic of using it when the DAX window is not available or a read using it fails are untouched. Signed-off-by: Fotis Xenakis --- drivers/virtio-fs.hh | 2 +- fs/virtiofs/virtiofs.hh| 19 - fs/virtiofs

[osv-dev] [PATCH 1/2] virtio-fs: implement dax window manager

2020-06-19 Thread Fotis Xenakis
For details on the manager's policy, please see fs/virtiofs/virtiofs_dax.hh. Signed-off-by: Fotis Xenakis --- Makefile| 39 +++--- fs/virtiofs/virtiofs_dax.cc | 268 fs/virtiofs/virtiofs_dax.hh | 109 +++ 3 files changed, 397

[osv-dev] [PATCH 0/2] virtio-fs: handle multiple dax mappings

2020-06-19 Thread Fotis Xenakis
) is not acceptable, I will try to switch to an alternative (might not be elegant). Any suggestions on this matter is of course welcome and appreciated! Fotis Xenakis (2): virtio-fs: implement dax window manager virtio-fs: use multiple dax mappings in filesystem Makefile | 39

Re: [osv-dev] [PATCH v2 2/2] virtio-fs: use multiple dax mappings in filesystem

2020-06-26 Thread Fotis Xenakis
ually test it especially the edge conditions - window > getting full, etc? > > Waldek > > > On Sun, Jun 21, 2020 at 5:09 AM Fotis Xenakis > wrote: > >> This integrates the dax window manager with the virtio-fs file system >> operations: >> >> - Remo

Re: [osv-dev] [PATCH v2 2/2] virtio-fs: use multiple dax mappings in filesystem

2020-06-27 Thread Fotis Xenakis
υνίου 2020 στις 7:29:22 π.μ. UTC+3, ο χρήστης >> jwkoz...@gmail.com έγραψε: >> >>> Hi, >>> >>> Very impressive work! >>> >>> I cannot really say I fully appreciate all details nor know this part of >>> the spec but your code looks good

[osv-dev] Re: [PATCH v2 1/2] virtio-fs: implement dax window manager

2020-06-27 Thread Fotis Xenakis
Στις Σάββατο, 27 Ιουνίου 2020 στις 1:19:40 π.μ. UTC+3, ο χρήστης jwkoz...@gmail.com έγραψε: > On Sunday, June 21, 2020 at 5:06:28 AM UTC-4 Fotis Xenakis wrote: > >> For details on the manager's policy, please see >> fs/virtiofs/virtiofs_dax.hh. >> >>

[osv-dev] [PATCH 0/4] virtio-fs: add readdir support

2020-07-19 Thread Fotis Xenakis
filesystems (e.g. ROFS, devfs, pseudofs) don't set the d_off field of the dirent struct they return (this patch _does_ set it). Is there a reason behind this pattern? If so, I will be glad to align this implementation with the rest. As always, any feedback is more than welcome. Fotis Xenakis (4

[osv-dev] [PATCH 3/4] virtio-fs: use FUSE_OPENDIR and FUSE_RELEASEDIR

2020-07-19 Thread Fotis Xenakis
When the file being open()ed or close()d is a directory, use FUSE_OPENDIR and FUSE_RELEASEDIR instead of FUSE_OPEN and FUSE_RELEASE respectively. Signed-off-by: Fotis Xenakis --- fs/virtiofs/virtiofs_vnops.cc | 6 -- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/fs/virtiofs

[osv-dev] [PATCH 2/4] virtio-fs: expose FUSE reply length

2020-07-19 Thread Fotis Xenakis
Signed-off-by: Fotis Xenakis --- fs/virtiofs/virtiofs_dax.cc| 4 ++-- fs/virtiofs/virtiofs_i.hh | 8 +--- fs/virtiofs/virtiofs_vfsops.cc | 16 ++-- fs/virtiofs/virtiofs_vnops.cc | 11 ++- 4 files changed, 23 insertions(+), 16 deletions(-) diff --git a/fs

[osv-dev] [PATCH 1/4] virtio-fs: fix allocation failure condition

2020-07-19 Thread Fotis Xenakis
Signed-off-by: Fotis Xenakis --- fs/virtiofs/virtiofs_vnops.cc | 10 +- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/fs/virtiofs/virtiofs_vnops.cc b/fs/virtiofs/virtiofs_vnops.cc index 51be3ee4..10571a8d 100644 --- a/fs/virtiofs/virtiofs_vnops.cc +++ b/fs/virtiofs

Re: [osv-dev] [PATCH 0/4] virtio-fs: add readdir support

2020-07-22 Thread Fotis Xenakis
> d_off? > > Now according to this - > https://man7.org/linux/man-pages/man3/readdir.3.html - d_off is not > something that userspace should necessarily rely on and I am not sure how > easy it will be to fix it for each other FS. > > Waldek > > > On Sun, Jul 19, 2020

[osv-dev] OSv in QEMU blog

2020-11-12 Thread Fotis Xenakis
Hello everyone, OSv is featured in the most recent post on QEMU's blog [1], with regard to its usage of virtio-fs. I was invited to write that post after the virtio-fs devs showed interest in our use case. Also, I 'd like to apologize for omitting to include you in the original discussion

[osv-dev] [PATCH 1/2] virtio: fix return type of get_driver_features()

2020-11-04 Thread Fotis Xenakis
. This patch rectifies it, changing the function's signature and all overrides in the various drivers. Signed-off-by: Fotis Xenakis --- drivers/virtio-blk.cc | 2 +- drivers/virtio-blk.hh | 2 +- drivers/virtio-net.cc | 4 ++-- drivers/virtio-net.hh | 2 +- drivers/virtio-scsi.cc | 2 +- drivers/virtio

[osv-dev] [PATCH 2/2] virtio-fs: set the VIRTIO_F_VERSION_1 feature bit

2020-11-04 Thread Fotis Xenakis
fails if this feature bit is not offered by the driver. This patches the driver to offer said feature bit. Signed-off-by: Fotis Xenakis --- drivers/virtio-fs.cc | 7 +++ drivers/virtio-fs.hh | 2 ++ 2 files changed, 9 insertions(+) diff --git a/drivers/virtio-fs.cc b/drivers/virtio-fs.cc

[osv-dev] [PATCH 0/2] virtio-fs: negotiate as modern virtio driver

2020-11-04 Thread Fotis Xenakis
This is a minor fix to ensure virtio-fs operation, which broke due to a recent change in QEMU. See the second commit for more details. Fotis Xenakis (2): virtio: fix return type of get_driver_features() virtio-fs: set the VIRTIO_F_VERSION_1 feature bit drivers/virtio-blk.cc | 2 +- drivers

[osv-dev] Re: Nginx failing after many requests

2021-02-10 Thread Fotis Xenakis
On Monday, February 8, 2021 at 6:00:29 PM UTC+2 jwkoz...@gmail.com wrote: > Hi, > > On Wednesday, February 3, 2021 at 11:47:13 AM UTC-5 Matthew Kenigsberg > wrote: > >> >> Hi, >> >> I'm trying to benchmark nginx with weighttp, but it appears to crash >> after too many requests are sent. As soon

Re: [osv-dev] Re: OSv in QEMU blog

2021-02-10 Thread Fotis Xenakis
read Greek :-) >> >> Regards, >> Waldek >> >> PS. It would be nice to see some improved tooling around virtio-fs in >> capstan and so on. >> On Thursday, November 12, 2020 at 5:09:07 PM UTC-5 Fotis Xenakis wrote: >> >>> Hello everyone, >>

[osv-dev] Re: OSv in QEMU blog

2021-02-10 Thread Fotis Xenakis
g around virtio-fs in > capstan and so on. > There are some half-baked improvements I have already lying around which will be completed and posted. TBH, none is capstan-related, but I might venture out towards it (working with Go is always nice after all). > On Thursday, November 12, 2020 at

[osv-dev] Re: [PATCH 3/3] scripts: add virtio-fs DAX option to run.py

2021-03-26 Thread Fotis Xenakis
Update: the wiki page is here: https://github.com/cloudius-systems/osv/wiki/virtio-fs All questions/feedback and of course contributions welcome! On Saturday, March 13, 2021 at 9:04:03 PM UTC+2 Fotis Xenakis wrote: > You are absolutely right, some proper guide and documentation is > nec

[osv-dev] [PATCH] loader: extend root fs auto-discovery

2021-03-28 Thread Fotis Xenakis
ed-off-by: Fotis Xenakis --- loader.cc | 14 ++ 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/loader.cc b/loader.cc index 9656cf3b..d1444f69 100644 --- a/loader.cc +++ b/loader.cc @@ -444,23 +444,29 @@ void* do_main_thread(void *_main_args) boot_time

Re: [osv-dev] [PATCH v2 0/3] Support booting from virtio-fs

2021-03-28 Thread Fotis Xenakis
On Friday, September 18, 2020 at 11:30:28 PM UTC+3 jwkoz...@gmail.com wrote: > On Friday, September 18, 2020 at 6:10:48 AM UTC-4 Fotis Xenakis wrote: > >> Στις Δευτέρα, 14 Σεπτεμβρίου 2020 στις 7:49:50 μ.μ. UTC+2, ο χρήστης >> jwkoz...@gmail.com έγραψε: >> >>

[osv-dev] Re: [PATCH 3/3] scripts: add virtio-fs DAX option to run.py

2021-03-31 Thread Fotis Xenakis
On Saturday, March 13, 2021 at 8:58:57 PM UTC+2 Fotis Xenakis wrote: > On Saturday, March 13, 2021 at 6:08:29 PM UTC+2 jwkoz...@gmail.com wrote: > >> Hi, >> >> The other 2 patches work fine but this one fails when I test it. What am >> I doing wrong? >> >&

[osv-dev] [PATCH] fs: support d_off in readdir for all filesystems

2021-03-31 Thread Fotis Xenakis
This is a trivial patch to set dirent.d_off in all readdir implementations. As mentioned in readdir(3): "The value returned in d_off is the same as would be returned by calling telldir(3) at the current position in the directory stream." Signed-off-by: Fotis Xenakis --- .../cd

[osv-dev] Re: [PATCH 3/3] scripts: add virtio-fs DAX option to run.py

2021-03-31 Thread Fotis Xenakis
b.com/cloud-hypervisor/cloud-hypervisor/blob/v0.14.0/docs/fs.md > > On Friday, March 26, 2021 at 1:44:30 PM UTC-4 Fotis Xenakis wrote: > >> Update: the wiki page is here: >> https://github.com/cloudius-systems/osv/wiki/virtio-fs >> All questions/feedback and of cours

Re: [osv-dev] Replacing files in built filesystem image

2021-04-06 Thread Fotis Xenakis
Hello David, Virtio-fs sounds like a natural fit for your situation. Please see this wiki page for details: https://github.com/cloudius-systems/osv/wiki/virtio-fs In short, virtio-fs lets you mount a host directory on the guest. The OSv implementation is read-only but that shouldn't be a

[osv-dev] Re: [PATCH 3/3] scripts: add virtio-fs DAX option to run.py

2021-04-02 Thread Fotis Xenakis
.0, as I stated in other emails. > > BTW you can build qemu from sources using a script we have in place: > > ./scripts/download_and_build_qemu.sh virtio-fs-dev > https://gitlab.com/virtio-fs/qemu.git > > On Wednesday, March 31, 2021 at 11:14:32 AM UTC-4 Waldek Kozaczuk wrot

Re: [osv-dev] Re: [PATCH 3/3] scripts: add virtio-fs DAX option to run.py

2021-04-02 Thread Fotis Xenakis
n Wed, 31 Mar 2021 at 16:55, Fotis Xenakis wrote: > >> On Tuesday, March 30, 2021 at 9:23:24 PM UTC+3 jwkoz...@gmail.com wrote: >> >>> Fotis, >>> >>> Thanks a lot! >>> >>> I have updated this page to include the information about ARM -

[osv-dev] Re: [PATCH 0/2] tests: add virtio-fs DAX manager tests

2021-03-11 Thread Fotis Xenakis
with the CLI app did not result in any surprises. Would it possibly be helpful for me to try breaking down the first patch into smaller, more manageable ones? > > On Saturday, March 6, 2021 at 10:50:44 AM UTC-5 Fotis Xenakis wrote: > >> These add white-box unit tests for the virtio-f

Re: [osv-dev] [COMMIT osv-apps master] nginx: downgraded to 1.19.7 to avoid it use missing strerrordesc_np symbol

2021-03-18 Thread Fotis Xenakis
Sorry for the hideous mistake with the non-matching version in the makefile and the commit message in the original patch. Will triple-check next time! From: osv-dev@googlegroups.com on behalf of Commit Bot Sent: Thursday, March 18, 2021 8:11:55 PM To:

[osv-dev] Re: [PATCH 3/3] scripts: add virtio-fs DAX option to run.py

2021-03-13 Thread Fotis Xenakis
m version which includes the necessary patches [1]. The virtio-fs team are actively pursuing its upstreaming, but I 'm afraid I don't have a clear view as to how long that might still take. Regarding the patch, do you think it would be better to hold it back until there's proper support upstre

[osv-dev] Re: [PATCH 3/3] scripts: add virtio-fs DAX option to run.py

2021-03-13 Thread Fotis Xenakis
- >> https://github.com/cloudius-systems/osv/wiki? Maybe also link to your >> QEMU article? >> >> Right now we have some info scattered acros some commit messages but >> nothing in one place. >> >> I would really appreciate it, >>

Re: [osv-dev] [PATCH] nginx: make it work on read-only fs

2021-03-13 Thread Fotis Xenakis
From: Waldek Kozaczuk Sent: Saturday, March 13, 2021 18:21 To: Fotis Xenakis Cc: OSv Development Subject: Re: [osv-dev] [PATCH] nginx: make it work on read-only fs The patch looks good but when I build and run it I still get a warning about read-only FS: ./scripts

Re: [osv-dev] [PATCH v2 2/2] virtio-fs: use multiple dax mappings in filesystem

2021-03-06 Thread Fotis Xenakis
r virtio-blk, am I > wrong? > > Waldek > > On Friday, June 26, 2020 at 5:59:22 AM UTC-4 Fotis Xenakis wrote: > >> Testing is actually a matter I wanted to discuss. >> The dax_manager class is modular enough, so I have unit tested it in >> isolation (mocking the

[osv-dev] [PATCH] nginx: make it work on read-only fs

2021-03-06 Thread Fotis Xenakis
, nginx is also updated to 1.19.7 (current latest). Signed-off-by: Fotis Xenakis --- nginx/Makefile | 6 +- nginx/patches/nginx-ro.conf | 147 2 files changed, 151 insertions(+), 2 deletions(-) create mode 100644 nginx/patches/nginx-ro.conf diff

[osv-dev] [PATCH 1/2] virtio-fs: make DAX manager testable

2021-03-06 Thread Fotis Xenakis
, allowing them to be accessed by the test code. Signed-off-by: Fotis Xenakis --- fs/virtiofs/virtiofs.hh| 9 +--- fs/virtiofs/virtiofs_dax.cc| 55 + fs/virtiofs/virtiofs_dax.hh| 90 ++ fs/virtiofs/virtiofs_vfsops.cc | 5 +- 4

[osv-dev] [PATCH 0/2] tests: add virtio-fs DAX manager tests

2021-03-06 Thread Fotis Xenakis
with, slightly amended. That testing had been done in isolation though, using a stubbed-out copy of the code, that's why they hadn't been included in the first place. Fotis Xenakis (2): virtio-fs: make DAX manager testable tests: add DAX manager white-box unit tests fs/virtiofs/virtiofs.hh

  1   2   >