On Fri, May 31, 2019 at 02:59:07PM -0400, Vivek Goyal wrote: > On Fri, May 31, 2019 at 11:44:55AM -0700, Liu Bo wrote: > > On Fri, May 31, 2019 at 09:22:28AM -0400, Vivek Goyal wrote: > > > On Fri, May 31, 2019 at 05:24:03PM +0800, Peng Tao wrote: > > > > Right now FORGET requests are not tracked and they might be sent > > > > after DESTROY request. > > > > > > How does that happen? > > > > > > > A bit more details, it is those FORGETs that remain in HIGHPRI vq, > > sent before DESTROY but not yet processed by daemon before DESTROY > > gets back to guest, then they get processed after the 2nd INIT. > > I just posted 3 patches to make sure forget request is not sent after > destroy. Can you give it a try and see if it solves the problem. >
Sorry, somehow this can only be reproduced on Peng Tao's setup. > I also pushed my changes to this branch. > > https://github.com/rhvgoyal/linux/commits/flush-forget > The 2nd mount & INIT can only work after vq->fud is released, and virtio_kill_sb fuse_kill_sb_anon virtio_fs_free_devs #release vq->fud So it's not necessary to have DESTROY to be the very last one, it only matters whether we wait for inflight FORGETS before setting vq->fud to NULL. Peng's patch seems more fit. thanks, -liubo
