[Virtio-fs] [PATCH 0/9] virtio-fs fixes
Liu Bo
bo.liu at linux.alibaba.com
Wed Apr 24 23:12:59 UTC 2019
Hi Vivek,
On Wed, Apr 24, 2019 at 02:41:30PM -0400, Vivek Goyal wrote:
> Hi Liubo,
>
> I have made some fixes and took some of yours and pushed latest snapshot
> of my internal tree here.
>
> https://github.com/rhvgoyal/linux/commits/virtio-fs-dev-5.1
>
> Patches have been rebased to 5.1-rc5 kernel. I am thinking of updating
> this branch frequently with latest code.
With this branch, generic/476 still got hang, and yes, it's related to
"async page fault related events" just as what you've mentioned on #irc.
I confirmed this with kvm and kvmmmu tracepoints.
The tracepoints[1] showed that
[1]: https://paste.ubuntu.com/p/N9ngrthKCf/
---
handle_ept_violation
kvm_mmu_page_fault(error_code=182)
tdp_page_fault
fast_page_fault # spte not present
try_async_pf #queue a async_pf work and return RETRY
vcpu_run
kvm_check_async_pf_completion
kvm_arch_async_page_ready
tdp_page_fault(vcpu, work->gva, 0, true);
fast_page_fault(error_code == 0);
try_async_pf # found hpa
__direct_map()
set_spte(error_code == 0) # won't set the write bit
handle_ept_violation
kvm_mmu_page_fault(error_code=1aa)
tdp_page_fault
fast_page_fault # spte present but no write bit
try_async_pf # no hpa again queue a async_pf work and return RETRY
---
The host kernel in use is 4.9 latest stable, but I've also tried the
5.0 kernel but no luck, I've spent quite a while on this and I was
wondering if this was a kvm issue? How did you solve it?
Please suggest.
thanks,
-liubo
>
> Vivek
>
> On Wed, Apr 17, 2019 at 02:03:13AM +0800, Liu Bo wrote:
>
> > Hi,
> >
> > This set contains a few fixes collected by running xfstests.
> >
> > thanks,
> > liubo
> >
> > Liu Bo (6):
> > virtio-fs: fix multiple tag support
> > virtio-fs: clean up dax mapping before aborting connection
> > fuse: export fuse_drop_waiting()
> > virtio-fs: let dax style override directIO style when dax+cache=none
> > fuse: return early if punch_hole fails
> > virtio-fs: honor RLIMIT_FSIZE in fuse_file_fallocate
> >
> > Xiaoguang Wang (3):
> > virtio-fs: fix use-after-free against virtio_fs_vq's fuse_dev info
> > fuse: do not write whole page while page straddles i_size
> > fuse: fix deadlock in __fuse_file_fallocate()
> >
> > fs/fuse/dev.c | 3 ++-
> > fs/fuse/file.c | 31 +++++++++++++++++++++++--------
> > fs/fuse/fuse_i.h | 3 +++
> > fs/fuse/inode.c | 9 +++++++++
> > fs/fuse/virtio_fs.c | 13 +++++++++++--
> > 5 files changed, 48 insertions(+), 11 deletions(-)
> >
> > --
> > 1.8.3.1
> >
> > _______________________________________________
> > Virtio-fs mailing list
> > Virtio-fs at redhat.com
> > https://www.redhat.com/mailman/listinfo/virtio-fs
More information about the Virtio-fs
mailing list