Vivek Goyal
2019-Sep-06 12:08 UTC
[PATCH 00/18] virtiofs: Fix various races and cleanups round 1
On Fri, Sep 06, 2019 at 01:52:41PM +0200, Miklos Szeredi wrote:> On Fri, Sep 6, 2019 at 12:36 PM Stefan Hajnoczi <stefanha at redhat.com> wrote: > > > > On Fri, Sep 06, 2019 at 10:15:14AM +0200, Miklos Szeredi wrote: > > > On Thu, Sep 5, 2019 at 9:49 PM Vivek Goyal <vgoyal at redhat.com> wrote: > > > > > > > > Hi, > > > > > > > > Michael Tsirkin pointed out issues w.r.t various locking related TODO > > > > items and races w.r.t device removal. > > > > > > > > In this first round of cleanups, I have taken care of most pressing > > > > issues. > > > > > > > > These patches apply on top of following. > > > > > > > > git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse.git#virtiofs-v4 > > > > > > > > I have tested these patches with mount/umount and device removal using > > > > qemu monitor. For example. > > > > > > Is device removal mandatory? Can't this be made a non-removable > > > device? Is there a good reason why removing the virtio-fs device > > > makes sense? > > > > Hot plugging and unplugging virtio PCI adapters is common. I'd very > > much like removal to work from the beginning. > > Can you give an example use case?David Gilbert mentioned this could be useful if daemon stops responding or dies. One could remove device. That will fail all future requests and allow unmounting filesystem. Havind said that, current implementation will help in above situation only if there are no pending requests. If there are pending requests and daemon stops responding, then removal will hang too, as we wait for draining the queues. So at some point of time, we also need some sort of timeout functionality where we end requests with error after a timeout. I feel we should support removing device at some point of time. But its not necessarily a must have feature for first round. Thanks Vivek
Michael S. Tsirkin
2019-Sep-06 13:57 UTC
[PATCH 00/18] virtiofs: Fix various races and cleanups round 1
On Fri, Sep 06, 2019 at 08:08:17AM -0400, Vivek Goyal wrote:> On Fri, Sep 06, 2019 at 01:52:41PM +0200, Miklos Szeredi wrote: > > On Fri, Sep 6, 2019 at 12:36 PM Stefan Hajnoczi <stefanha at redhat.com> wrote: > > > > > > On Fri, Sep 06, 2019 at 10:15:14AM +0200, Miklos Szeredi wrote: > > > > On Thu, Sep 5, 2019 at 9:49 PM Vivek Goyal <vgoyal at redhat.com> wrote: > > > > > > > > > > Hi, > > > > > > > > > > Michael Tsirkin pointed out issues w.r.t various locking related TODO > > > > > items and races w.r.t device removal. > > > > > > > > > > In this first round of cleanups, I have taken care of most pressing > > > > > issues. > > > > > > > > > > These patches apply on top of following. > > > > > > > > > > git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse.git#virtiofs-v4 > > > > > > > > > > I have tested these patches with mount/umount and device removal using > > > > > qemu monitor. For example. > > > > > > > > Is device removal mandatory? Can't this be made a non-removable > > > > device? Is there a good reason why removing the virtio-fs device > > > > makes sense? > > > > > > Hot plugging and unplugging virtio PCI adapters is common. I'd very > > > much like removal to work from the beginning. > > > > Can you give an example use case? > > David Gilbert mentioned this could be useful if daemon stops responding > or dies. One could remove device. That will fail all future requests > and allow unmounting filesystem. > > Havind said that, current implementation will help in above situation > only if there are no pending requests. If there are pending requests > and daemon stops responding, then removal will hang too, as we wait > for draining the queues. > > So at some point of time, we also need some sort of timeout functionality > where we end requests with error after a timeout. > > I feel we should support removing device at some point of time. But its > not necessarily a must have feature for first round. > > Thanks > VivekWithout removal how do we stop guest poking at some files if we want to? I guess we could invent a special event to block accesses, but unplug will just do it. blk and scsi support removal out of box, if this is supposed to be a drop in replacement then I think yes, you want this support. -- MST
Michael S. Tsirkin
2019-Sep-06 14:17 UTC
[PATCH 00/18] virtiofs: Fix various races and cleanups round 1
On Fri, Sep 06, 2019 at 04:11:45PM +0200, Miklos Szeredi wrote:> This is not a drop in replacement for blk and scsi transports. More > for virtio-9p. Does that have anything similar?9p seems to supports unplug, yes. It's not great in that it blocks until we close the channel, but it's there and it does not crash or leak memory.
Reasonably Related Threads
- [PATCH 00/18] virtiofs: Fix various races and cleanups round 1
- [Virtio-fs] [PATCH 00/18] virtiofs: Fix various races and cleanups round 1
- [PATCH 00/18] virtiofs: Fix various races and cleanups round 1
- [PATCH 00/18] virtiofs: Fix various races and cleanups round 1
- [PATCH 00/18] virtiofs: Fix various races and cleanups round 1