mbox series

[00/13] virtiofsd: Support notification queue and

Message ID 20210930153037.1194279-1-vgoyal@redhat.com (mailing list archive)
Headers show
Series virtiofsd: Support notification queue and | expand

Message

Vivek Goyal Sept. 30, 2021, 3:30 p.m. UTC
Hi,

Here are the patches to support notification queue and blocking
posix locks. One of the biggest change since las time has been
creation of custom thread pool for handling locking requests. 
Thanks to Ioannis for doing most of the work on custom thread
pool.

I have posted corresponding kernel changes here.

https://lore.kernel.org/linux-fsdevel/20210930143850.1188628-1-vgoyal@redhat.com/T/#mb2d0fbfdb580ef33b6e812d0acbd16333b11f2cf

Any feedback is welcome.

Thanks
Vivek

Vivek Goyal (13):
  virtio_fs.h: Add notification queue feature bit
  virtiofsd: fuse.h header file changes for lock notification
  virtiofsd: Remove unused virtio_fs_config definition
  virtiofsd: Add a helper to send element on virtqueue
  virtiofsd: Add a helper to stop all queues
  vhost-user-fs: Use helpers to create/cleanup virtqueue
  virtiofsd: Release file locks using F_UNLCK
  virtiofsd: Create a notification queue
  virtiofsd: Specify size of notification buffer using config space
  virtiofsd: Custom threadpool for remote blocking posix locks requests
  virtiofsd: Shutdown notification queue in the end
  virtiofsd: Implement blocking posix locks
  virtiofsd, seccomp: Add clock_nanosleep() to allow list

 hw/virtio/vhost-user-fs-pci.c              |   4 +-
 hw/virtio/vhost-user-fs.c                  | 158 ++++++++--
 include/hw/virtio/vhost-user-fs.h          |   4 +
 include/standard-headers/linux/fuse.h      |  11 +-
 include/standard-headers/linux/virtio_fs.h |   5 +
 tools/virtiofsd/fuse_i.h                   |   1 +
 tools/virtiofsd/fuse_lowlevel.c            |  37 ++-
 tools/virtiofsd/fuse_lowlevel.h            |  26 ++
 tools/virtiofsd/fuse_virtio.c              | 339 +++++++++++++++++----
 tools/virtiofsd/meson.build                |   1 +
 tools/virtiofsd/passthrough_ll.c           |  91 +++++-
 tools/virtiofsd/passthrough_seccomp.c      |   2 +
 tools/virtiofsd/tpool.c                    | 331 ++++++++++++++++++++
 tools/virtiofsd/tpool.h                    |  18 ++
 14 files changed, 915 insertions(+), 113 deletions(-)
 create mode 100644 tools/virtiofsd/tpool.c
 create mode 100644 tools/virtiofsd/tpool.h

Comments

Dr. David Alan Gilbert Oct. 25, 2021, 6 p.m. UTC | #1
* Vivek Goyal (vgoyal@redhat.com) wrote:
> Hi,
> 
> Here are the patches to support notification queue and blocking
> posix locks. One of the biggest change since las time has been
> creation of custom thread pool for handling locking requests. 
> Thanks to Ioannis for doing most of the work on custom thread
> pool.
> 
> I have posted corresponding kernel changes here.
> 
> https://lore.kernel.org/linux-fsdevel/20210930143850.1188628-1-vgoyal@redhat.com/T/#mb2d0fbfdb580ef33b6e812d0acbd16333b11f2cf

I'm queuing:
[PATCH 03/13] virtiofsd: Remove unused virtio_fs_config definition
[PATCH 04/13] virtiofsd: Add a helper to send element on virtqueue
[PATCH 05/13] virtiofsd: Add a helper to stop all queues

from this series; they're separate cleanups.

Dave

> Any feedback is welcome.
> 
> Thanks
> Vivek
> 
> Vivek Goyal (13):
>   virtio_fs.h: Add notification queue feature bit
>   virtiofsd: fuse.h header file changes for lock notification
>   virtiofsd: Remove unused virtio_fs_config definition
>   virtiofsd: Add a helper to send element on virtqueue
>   virtiofsd: Add a helper to stop all queues
>   vhost-user-fs: Use helpers to create/cleanup virtqueue
>   virtiofsd: Release file locks using F_UNLCK
>   virtiofsd: Create a notification queue
>   virtiofsd: Specify size of notification buffer using config space
>   virtiofsd: Custom threadpool for remote blocking posix locks requests
>   virtiofsd: Shutdown notification queue in the end
>   virtiofsd: Implement blocking posix locks
>   virtiofsd, seccomp: Add clock_nanosleep() to allow list
> 
>  hw/virtio/vhost-user-fs-pci.c              |   4 +-
>  hw/virtio/vhost-user-fs.c                  | 158 ++++++++--
>  include/hw/virtio/vhost-user-fs.h          |   4 +
>  include/standard-headers/linux/fuse.h      |  11 +-
>  include/standard-headers/linux/virtio_fs.h |   5 +
>  tools/virtiofsd/fuse_i.h                   |   1 +
>  tools/virtiofsd/fuse_lowlevel.c            |  37 ++-
>  tools/virtiofsd/fuse_lowlevel.h            |  26 ++
>  tools/virtiofsd/fuse_virtio.c              | 339 +++++++++++++++++----
>  tools/virtiofsd/meson.build                |   1 +
>  tools/virtiofsd/passthrough_ll.c           |  91 +++++-
>  tools/virtiofsd/passthrough_seccomp.c      |   2 +
>  tools/virtiofsd/tpool.c                    | 331 ++++++++++++++++++++
>  tools/virtiofsd/tpool.h                    |  18 ++
>  14 files changed, 915 insertions(+), 113 deletions(-)
>  create mode 100644 tools/virtiofsd/tpool.c
>  create mode 100644 tools/virtiofsd/tpool.h
> 
> -- 
> 2.31.1
> 
>