All of lore.kernel.org
 help / color / mirror / Atom feed
From: Vivek Goyal <vgoyal@redhat.com>
To: Liu Bo <bo.liu@linux.alibaba.com>
Cc: virtio-fs@redhat.com
Subject: Re: [Virtio-fs] [PATCH 3/4] virtiofsd: use file-backend memory region for virtiofsd's cache area
Date: Mon, 20 May 2019 09:49:34 -0400	[thread overview]
Message-ID: <20190520134934.GB28008@redhat.com> (raw)
In-Reply-To: <20190518022821.zjumw623xot2ejgt@US-160370MP2.local>

On Fri, May 17, 2019 at 07:28:22PM -0700, Liu Bo wrote:

[..]
> > > > > > That case happened with cache=none and the dax mount option.
> > > > > > 
> > > > > > The general problem is when FUSE_READ/FUSE_WRITE is sent and the buffer
> > > > > > is outside guest RAM.
> > > 
> > > Stefan,
> > > 
> > > Can this be emulated by sending a request to qemu? If virtiofsd can detect
> > > that source/destination of READ/WRITE is not guest RAM, can it forward
> > > message to qemu to do this operation (which has access to all the DAX
> > > windows)?
> > > 
> > > This probably will mean introducing new messages like
> > > setupmapping/removemapping messages between virtiofsd/qemu.  
> > 
> > Yes, interesting idea!
> > 
> > When virtiofsd is unable to map the virtqueue iovecs due to addresses
> > outside guest RAM, it could forward READ/WRITE requests to QEMU along
> > with the file descriptor.  It would be slow but fixes the problem.
> >
> 
> It is probably not easy to do.
> 
> Imagine the following case,
> // foo1 is on a dax virtiofs, foo2 is on a nondax virtiofs
> 
> p = mmap(foo1, ...);
> write(foo2, p, ...);
> 
> virtiofsd where foo2 is using needs to interpret gpa from virtiofs
> where foo1 exists along with fd being foo1, but a write fuse_req
> doesn't have foo1's fd.
> 
> And are you suggesting that qemu goes to read the data on gpa and
> returns via vhost-user message?  or let this virtiofsd (foo2) do mmap
> on foo1 directly?

Hi Liu Bo,

Not sure I understand the question. Assuming foo2 virtiofs instances
is mounted with cache=none, write(foo2), will trigger FUSE_WRITE
request to daemon with source address being in dax window of first
virtiofs instance. 

This request should be forwarded to qemu which can just read from
foo1 mmaped area in qemu address space and write to foo2. I am assuming
before FUSE_WRITE comes in, mapping for foo1 has already been
establied.

IOW, foo1 is already mmaped in qemu address space so there is no
need to pass fd of foo1 in FUSE_WRITE(foo2) request. Did I miss
something?

Vivek


  reply	other threads:[~2019-05-20 13:49 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-04-16 19:08 [Virtio-fs] [PATCH 0/4] virtiofsd fixes Liu Bo
2019-04-16 19:08 ` [Virtio-fs] [PATCH 1/4] virtiofsd: send reply correctly on read failure Liu Bo
2019-04-17 17:26   ` Dr. David Alan Gilbert
2019-04-18 12:25     ` Dr. David Alan Gilbert
2019-04-18 18:14       ` Liu Bo
2019-04-18 19:05         ` Dr. David Alan Gilbert
2019-04-23  6:27   ` [Virtio-fs] [PATCH v2] " Eryu Guan
2019-04-30 14:58     ` Dr. David Alan Gilbert
2019-04-16 19:08 ` [Virtio-fs] [PATCH 2/4] virtiofsd: support nanosecond resolution for file timestamp Liu Bo
2019-04-17 13:31   ` Dr. David Alan Gilbert
2019-04-16 19:08 ` [Virtio-fs] [PATCH 3/4] virtiofsd: use file-backend memory region for virtiofsd's cache area Liu Bo
2019-04-17 14:51   ` Dr. David Alan Gilbert
2019-04-23 12:09     ` Stefan Hajnoczi
2019-04-23 18:49       ` Liu Bo
2019-04-25 14:33         ` Stefan Hajnoczi
2019-04-25 21:21           ` Vivek Goyal
2019-04-26  9:05             ` Stefan Hajnoczi
2019-05-01 18:59               ` Dr. David Alan Gilbert
2019-05-02 11:46                 ` Stefan Hajnoczi
2019-05-18  2:28               ` Liu Bo
2019-05-20 13:49                 ` Vivek Goyal [this message]
2019-05-20 18:33                   ` Liu Bo
2019-05-20 19:01                     ` Dr. David Alan Gilbert
2019-05-20 17:58                 ` Dr. David Alan Gilbert
2019-04-16 19:08 ` [Virtio-fs] [PATCH 4/4] virtiofsd: use fallocate(2) instead posix_fallocate(3) Liu Bo
2019-04-17 13:18   ` Dr. David Alan Gilbert
2019-04-17 13:44     ` Miklos Szeredi
2019-04-17 14:05       ` Dr. David Alan Gilbert
2019-04-17 14:25         ` Miklos Szeredi
2019-04-17 14:29           ` Dr. David Alan Gilbert
2019-04-17 19:24             ` Liu Bo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190520134934.GB28008@redhat.com \
    --to=vgoyal@redhat.com \
    --cc=bo.liu@linux.alibaba.com \
    --cc=virtio-fs@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.