All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
To: Jeffle Xu <jefflexu@linux.alibaba.com>
Cc: vgoyal@redhat.com, stefanha@redhat.com, miklos@szeredi.hu,
	linux-fsdevel@vger.kernel.org, virtio-fs@redhat.com,
	joseph.qi@linux.alibaba.com,
	virtualization@lists.linux-foundation.org
Subject: Re: [Virtio-fs] [virtiofsd PATCH v4 4/4] virtiofsd: support per-file DAX in FUSE_LOOKUP
Date: Tue, 17 Aug 2021 20:00:22 +0100	[thread overview]
Message-ID: <YRwHRmL/jUSqgkIU@work-vm> (raw)
In-Reply-To: <20210817022347.18098-5-jefflexu@linux.alibaba.com>

* Jeffle Xu (jefflexu@linux.alibaba.com) wrote:
> For passthrough, when the corresponding virtiofs in guest is mounted
> with '-o dax=inode', advertise that the file is capable of per-file
> DAX if the inode in the backend fs is marked with FS_DAX_FL flag.
> 
> Signed-off-by: Jeffle Xu <jefflexu@linux.alibaba.com>
> ---
>  tools/virtiofsd/passthrough_ll.c | 43 ++++++++++++++++++++++++++++++++
>  1 file changed, 43 insertions(+)
> 
> diff --git a/tools/virtiofsd/passthrough_ll.c b/tools/virtiofsd/passthrough_ll.c
> index 5b6228210f..4cbd904248 100644
> --- a/tools/virtiofsd/passthrough_ll.c
> +++ b/tools/virtiofsd/passthrough_ll.c
> @@ -171,6 +171,7 @@ struct lo_data {
>      int allow_direct_io;
>      int announce_submounts;
>      int perfile_dax_cap; /* capability of backend fs */
> +    bool perfile_dax; /* enable per-file DAX or not */
>      bool use_statx;
>      struct lo_inode root;
>      GHashTable *inodes; /* protected by lo->mutex */
> @@ -716,6 +717,10 @@ static void lo_init(void *userdata, struct fuse_conn_info *conn)
>  
>      if (conn->capable & FUSE_CAP_PERFILE_DAX && lo->perfile_dax_cap ) {
>          conn->want |= FUSE_CAP_PERFILE_DAX;
> +	lo->perfile_dax = 1;
> +    }
> +    else {
> +	lo->perfile_dax = 0;
>      }
>  }
>  
> @@ -983,6 +988,41 @@ static int do_statx(struct lo_data *lo, int dirfd, const char *pathname,
>      return 0;
>  }
>  
> +/*
> + * If the file is marked with FS_DAX_FL or FS_XFLAG_DAX, then DAX should be
> + * enabled for this file.
> + */
> +static bool lo_should_enable_dax(struct lo_data *lo, struct lo_inode *dir,
> +				 const char *name)
> +{
> +    int res, fd;
> +    int ret = false;;
> +    unsigned int attr;
> +    struct fsxattr xattr;
> +
> +    if (!lo->perfile_dax)
> +	return false;
> +
> +    /* Open file without O_PATH, so that ioctl can be called. */
> +    fd = openat(dir->fd, name, O_NOFOLLOW);
> +    if (fd == -1)
> +        return false;

Doesn't that defeat the whole benefit of using O_PATH - i.e. that we
might stumble into a /dev node or something else we're not allowed to
open?

> +    if (lo->perfile_dax_cap == DAX_CAP_FLAGS) {
> +        res = ioctl(fd, FS_IOC_GETFLAGS, &attr);
> +        if (!res && (attr & FS_DAX_FL))
> +	    ret = true;
> +    }
> +    else if (lo->perfile_dax_cap == DAX_CAP_XATTR) {
> +	res = ioctl(fd, FS_IOC_FSGETXATTR, &xattr);
> +	if (!res && (xattr.fsx_xflags & FS_XFLAG_DAX))
> +	    ret = true;
> +    }

This all looks pretty expensive for each lookup.

Dave


> +    close(fd);
> +    return ret;
> +}
> +
>  /*
>   * Increments nlookup on the inode on success. unref_inode_lolocked() must be
>   * called eventually to decrement nlookup again. If inodep is non-NULL, the
> @@ -1038,6 +1078,9 @@ static int lo_do_lookup(fuse_req_t req, fuse_ino_t parent, const char *name,
>          e->attr_flags |= FUSE_ATTR_SUBMOUNT;
>      }
>  
> +    if (lo_should_enable_dax(lo, dir, name))
> +	e->attr_flags |= FUSE_ATTR_DAX;
> +
>      inode = lo_find(lo, &e->attr, mnt_id);
>      if (inode) {
>          close(newfd);
> -- 
> 2.27.0
> 
> _______________________________________________
> Virtio-fs mailing list
> Virtio-fs@redhat.com
> https://listman.redhat.com/mailman/listinfo/virtio-fs
> 
-- 
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK


WARNING: multiple messages have this Message-ID (diff)
From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
To: Jeffle Xu <jefflexu@linux.alibaba.com>
Cc: miklos@szeredi.hu, virtualization@lists.linux-foundation.org,
	virtio-fs@redhat.com, joseph.qi@linux.alibaba.com,
	stefanha@redhat.com, linux-fsdevel@vger.kernel.org,
	vgoyal@redhat.com
Subject: Re: [Virtio-fs] [virtiofsd PATCH v4 4/4] virtiofsd: support per-file DAX in FUSE_LOOKUP
Date: Tue, 17 Aug 2021 20:00:22 +0100	[thread overview]
Message-ID: <YRwHRmL/jUSqgkIU@work-vm> (raw)
In-Reply-To: <20210817022347.18098-5-jefflexu@linux.alibaba.com>

* Jeffle Xu (jefflexu@linux.alibaba.com) wrote:
> For passthrough, when the corresponding virtiofs in guest is mounted
> with '-o dax=inode', advertise that the file is capable of per-file
> DAX if the inode in the backend fs is marked with FS_DAX_FL flag.
> 
> Signed-off-by: Jeffle Xu <jefflexu@linux.alibaba.com>
> ---
>  tools/virtiofsd/passthrough_ll.c | 43 ++++++++++++++++++++++++++++++++
>  1 file changed, 43 insertions(+)
> 
> diff --git a/tools/virtiofsd/passthrough_ll.c b/tools/virtiofsd/passthrough_ll.c
> index 5b6228210f..4cbd904248 100644
> --- a/tools/virtiofsd/passthrough_ll.c
> +++ b/tools/virtiofsd/passthrough_ll.c
> @@ -171,6 +171,7 @@ struct lo_data {
>      int allow_direct_io;
>      int announce_submounts;
>      int perfile_dax_cap; /* capability of backend fs */
> +    bool perfile_dax; /* enable per-file DAX or not */
>      bool use_statx;
>      struct lo_inode root;
>      GHashTable *inodes; /* protected by lo->mutex */
> @@ -716,6 +717,10 @@ static void lo_init(void *userdata, struct fuse_conn_info *conn)
>  
>      if (conn->capable & FUSE_CAP_PERFILE_DAX && lo->perfile_dax_cap ) {
>          conn->want |= FUSE_CAP_PERFILE_DAX;
> +	lo->perfile_dax = 1;
> +    }
> +    else {
> +	lo->perfile_dax = 0;
>      }
>  }
>  
> @@ -983,6 +988,41 @@ static int do_statx(struct lo_data *lo, int dirfd, const char *pathname,
>      return 0;
>  }
>  
> +/*
> + * If the file is marked with FS_DAX_FL or FS_XFLAG_DAX, then DAX should be
> + * enabled for this file.
> + */
> +static bool lo_should_enable_dax(struct lo_data *lo, struct lo_inode *dir,
> +				 const char *name)
> +{
> +    int res, fd;
> +    int ret = false;;
> +    unsigned int attr;
> +    struct fsxattr xattr;
> +
> +    if (!lo->perfile_dax)
> +	return false;
> +
> +    /* Open file without O_PATH, so that ioctl can be called. */
> +    fd = openat(dir->fd, name, O_NOFOLLOW);
> +    if (fd == -1)
> +        return false;

Doesn't that defeat the whole benefit of using O_PATH - i.e. that we
might stumble into a /dev node or something else we're not allowed to
open?

> +    if (lo->perfile_dax_cap == DAX_CAP_FLAGS) {
> +        res = ioctl(fd, FS_IOC_GETFLAGS, &attr);
> +        if (!res && (attr & FS_DAX_FL))
> +	    ret = true;
> +    }
> +    else if (lo->perfile_dax_cap == DAX_CAP_XATTR) {
> +	res = ioctl(fd, FS_IOC_FSGETXATTR, &xattr);
> +	if (!res && (xattr.fsx_xflags & FS_XFLAG_DAX))
> +	    ret = true;
> +    }

This all looks pretty expensive for each lookup.

Dave


> +    close(fd);
> +    return ret;
> +}
> +
>  /*
>   * Increments nlookup on the inode on success. unref_inode_lolocked() must be
>   * called eventually to decrement nlookup again. If inodep is non-NULL, the
> @@ -1038,6 +1078,9 @@ static int lo_do_lookup(fuse_req_t req, fuse_ino_t parent, const char *name,
>          e->attr_flags |= FUSE_ATTR_SUBMOUNT;
>      }
>  
> +    if (lo_should_enable_dax(lo, dir, name))
> +	e->attr_flags |= FUSE_ATTR_DAX;
> +
>      inode = lo_find(lo, &e->attr, mnt_id);
>      if (inode) {
>          close(newfd);
> -- 
> 2.27.0
> 
> _______________________________________________
> Virtio-fs mailing list
> Virtio-fs@redhat.com
> https://listman.redhat.com/mailman/listinfo/virtio-fs
> 
-- 
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK

_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization

WARNING: multiple messages have this Message-ID (diff)
From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
To: Jeffle Xu <jefflexu@linux.alibaba.com>
Cc: miklos@szeredi.hu, virtualization@lists.linux-foundation.org,
	virtio-fs@redhat.com, joseph.qi@linux.alibaba.com,
	linux-fsdevel@vger.kernel.org, vgoyal@redhat.com
Subject: Re: [Virtio-fs] [virtiofsd PATCH v4 4/4] virtiofsd: support per-file DAX in FUSE_LOOKUP
Date: Tue, 17 Aug 2021 20:00:22 +0100	[thread overview]
Message-ID: <YRwHRmL/jUSqgkIU@work-vm> (raw)
In-Reply-To: <20210817022347.18098-5-jefflexu@linux.alibaba.com>

* Jeffle Xu (jefflexu@linux.alibaba.com) wrote:
> For passthrough, when the corresponding virtiofs in guest is mounted
> with '-o dax=inode', advertise that the file is capable of per-file
> DAX if the inode in the backend fs is marked with FS_DAX_FL flag.
> 
> Signed-off-by: Jeffle Xu <jefflexu@linux.alibaba.com>
> ---
>  tools/virtiofsd/passthrough_ll.c | 43 ++++++++++++++++++++++++++++++++
>  1 file changed, 43 insertions(+)
> 
> diff --git a/tools/virtiofsd/passthrough_ll.c b/tools/virtiofsd/passthrough_ll.c
> index 5b6228210f..4cbd904248 100644
> --- a/tools/virtiofsd/passthrough_ll.c
> +++ b/tools/virtiofsd/passthrough_ll.c
> @@ -171,6 +171,7 @@ struct lo_data {
>      int allow_direct_io;
>      int announce_submounts;
>      int perfile_dax_cap; /* capability of backend fs */
> +    bool perfile_dax; /* enable per-file DAX or not */
>      bool use_statx;
>      struct lo_inode root;
>      GHashTable *inodes; /* protected by lo->mutex */
> @@ -716,6 +717,10 @@ static void lo_init(void *userdata, struct fuse_conn_info *conn)
>  
>      if (conn->capable & FUSE_CAP_PERFILE_DAX && lo->perfile_dax_cap ) {
>          conn->want |= FUSE_CAP_PERFILE_DAX;
> +	lo->perfile_dax = 1;
> +    }
> +    else {
> +	lo->perfile_dax = 0;
>      }
>  }
>  
> @@ -983,6 +988,41 @@ static int do_statx(struct lo_data *lo, int dirfd, const char *pathname,
>      return 0;
>  }
>  
> +/*
> + * If the file is marked with FS_DAX_FL or FS_XFLAG_DAX, then DAX should be
> + * enabled for this file.
> + */
> +static bool lo_should_enable_dax(struct lo_data *lo, struct lo_inode *dir,
> +				 const char *name)
> +{
> +    int res, fd;
> +    int ret = false;;
> +    unsigned int attr;
> +    struct fsxattr xattr;
> +
> +    if (!lo->perfile_dax)
> +	return false;
> +
> +    /* Open file without O_PATH, so that ioctl can be called. */
> +    fd = openat(dir->fd, name, O_NOFOLLOW);
> +    if (fd == -1)
> +        return false;

Doesn't that defeat the whole benefit of using O_PATH - i.e. that we
might stumble into a /dev node or something else we're not allowed to
open?

> +    if (lo->perfile_dax_cap == DAX_CAP_FLAGS) {
> +        res = ioctl(fd, FS_IOC_GETFLAGS, &attr);
> +        if (!res && (attr & FS_DAX_FL))
> +	    ret = true;
> +    }
> +    else if (lo->perfile_dax_cap == DAX_CAP_XATTR) {
> +	res = ioctl(fd, FS_IOC_FSGETXATTR, &xattr);
> +	if (!res && (xattr.fsx_xflags & FS_XFLAG_DAX))
> +	    ret = true;
> +    }

This all looks pretty expensive for each lookup.

Dave


> +    close(fd);
> +    return ret;
> +}
> +
>  /*
>   * Increments nlookup on the inode on success. unref_inode_lolocked() must be
>   * called eventually to decrement nlookup again. If inodep is non-NULL, the
> @@ -1038,6 +1078,9 @@ static int lo_do_lookup(fuse_req_t req, fuse_ino_t parent, const char *name,
>          e->attr_flags |= FUSE_ATTR_SUBMOUNT;
>      }
>  
> +    if (lo_should_enable_dax(lo, dir, name))
> +	e->attr_flags |= FUSE_ATTR_DAX;
> +
>      inode = lo_find(lo, &e->attr, mnt_id);
>      if (inode) {
>          close(newfd);
> -- 
> 2.27.0
> 
> _______________________________________________
> Virtio-fs mailing list
> Virtio-fs@redhat.com
> https://listman.redhat.com/mailman/listinfo/virtio-fs
> 
-- 
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK


  reply	other threads:[~2021-08-17 19:00 UTC|newest]

Thread overview: 151+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-17  2:22 [PATCH v4 0/8] fuse,virtiofs: support per-file DAX Jeffle Xu
2021-08-17  2:22 ` [Virtio-fs] " Jeffle Xu
2021-08-17  2:22 ` Jeffle Xu
2021-08-17  2:22 ` [PATCH v4 1/8] fuse: add fuse_should_enable_dax() helper Jeffle Xu
2021-08-17  2:22   ` [Virtio-fs] " Jeffle Xu
2021-08-17  2:22   ` Jeffle Xu
2021-08-17  2:22 ` [PATCH v4 2/8] fuse: Make DAX mount option a tri-state Jeffle Xu
2021-08-17  2:22   ` [Virtio-fs] " Jeffle Xu
2021-08-17  2:22   ` Jeffle Xu
2021-08-17  2:22 ` [PATCH v4 3/8] fuse: support per-file DAX Jeffle Xu
2021-08-17  2:22   ` [Virtio-fs] " Jeffle Xu
2021-08-17  2:22   ` Jeffle Xu
2021-08-17  2:22 ` [PATCH v4 4/8] fuse: negotiate if server/client supports " Jeffle Xu
2021-08-17  2:22   ` [Virtio-fs] " Jeffle Xu
2021-08-17  2:22   ` Jeffle Xu
2021-08-17  2:22 ` [PATCH v4 5/8] fuse: enable " Jeffle Xu
2021-08-17  2:22   ` [Virtio-fs] " Jeffle Xu
2021-08-17  2:22   ` Jeffle Xu
2021-08-17  2:22 ` [PATCH v4 6/8] fuse: mark inode DONT_CACHE when per-file DAX indication changes Jeffle Xu
2021-08-17  2:22   ` [Virtio-fs] " Jeffle Xu
2021-08-17  2:22   ` Jeffle Xu
2021-08-17 10:26   ` [Virtio-fs] " Dr. David Alan Gilbert
2021-08-17 10:26     ` Dr. David Alan Gilbert
2021-08-17 10:26     ` Dr. David Alan Gilbert
2021-08-17 13:23     ` JeffleXu
2021-08-17 13:23       ` JeffleXu
2021-08-17 13:23       ` JeffleXu
2021-08-17  2:22 ` [PATCH v4 7/8] fuse: support changing per-file DAX flag inside guest Jeffle Xu
2021-08-17  2:22   ` [Virtio-fs] " Jeffle Xu
2021-08-17  2:22   ` Jeffle Xu
2021-08-17  2:22 ` [PATCH v4 8/8] fuse: show '-o dax=inode' option only when FUSE server supports Jeffle Xu
2021-08-17  2:22   ` [Virtio-fs] " Jeffle Xu
2021-08-17  2:22   ` Jeffle Xu
2021-08-17  2:23 ` [virtiofsd PATCH v4 0/4] virtiofsd: support per-file DAX Jeffle Xu
2021-08-17  2:23   ` [Virtio-fs] " Jeffle Xu
2021-08-17  2:23   ` Jeffle Xu
2021-08-17  2:23   ` [virtiofsd PATCH v4 1/4] virtiofsd: add .ioctl() support Jeffle Xu
2021-08-17  2:23     ` [Virtio-fs] " Jeffle Xu
2021-08-17  2:23     ` Jeffle Xu
2021-08-18 17:33     ` Vivek Goyal
2021-08-18 17:33       ` [Virtio-fs] " Vivek Goyal
2021-08-18 17:33       ` Vivek Goyal
2021-08-17  2:23   ` [virtiofsd PATCH v4 2/4] virtiofsd: expand fuse protocol to support per-file DAX Jeffle Xu
2021-08-17  2:23     ` [Virtio-fs] " Jeffle Xu
2021-08-17  2:23     ` Jeffle Xu
2021-08-17  2:23   ` [virtiofsd PATCH v4 3/4] virtiofsd: support per-file DAX negotiation in FUSE_INIT Jeffle Xu
2021-08-17  2:23     ` [Virtio-fs] " Jeffle Xu
2021-08-17  2:23     ` Jeffle Xu
2021-08-17 17:15     ` [Virtio-fs] " Dr. David Alan Gilbert
2021-08-17 17:15       ` Dr. David Alan Gilbert
2021-08-17 17:15       ` Dr. David Alan Gilbert
2021-08-18  5:28       ` JeffleXu
2021-08-18  5:28         ` JeffleXu
2021-08-18  5:28         ` JeffleXu
2021-08-19 13:57         ` Dr. David Alan Gilbert
2021-08-19 13:57           ` Dr. David Alan Gilbert
2021-08-19 13:57           ` Dr. David Alan Gilbert
2021-08-18 17:30       ` Vivek Goyal
2021-08-18 17:30         ` Vivek Goyal
2021-08-18 17:30         ` Vivek Goyal
2021-08-17  2:23   ` [virtiofsd PATCH v4 4/4] virtiofsd: support per-file DAX in FUSE_LOOKUP Jeffle Xu
2021-08-17  2:23     ` [Virtio-fs] " Jeffle Xu
2021-08-17  2:23     ` Jeffle Xu
2021-08-17 19:00     ` Dr. David Alan Gilbert [this message]
2021-08-17 19:00       ` [Virtio-fs] " Dr. David Alan Gilbert
2021-08-17 19:00       ` Dr. David Alan Gilbert
2021-08-18  5:46       ` JeffleXu
2021-08-18  5:46         ` JeffleXu
2021-08-18  5:46         ` JeffleXu
2021-08-19 13:08         ` Dr. David Alan Gilbert
2021-08-19 13:08           ` Dr. David Alan Gilbert
2021-08-19 13:08           ` Dr. David Alan Gilbert
2021-08-20  5:03           ` JeffleXu
2021-08-20  5:03             ` JeffleXu
2021-08-20  5:03             ` JeffleXu
2021-08-24 10:15             ` Greg Kurz
2021-08-24 10:15               ` Greg Kurz
2021-08-24 10:15               ` Greg Kurz
2021-09-08 10:34               ` JeffleXu
2021-09-08 10:34                 ` JeffleXu
2021-09-08 10:34                 ` JeffleXu
2021-08-17  8:06 ` [PATCH v4 0/8] fuse,virtiofs: support per-file DAX Miklos Szeredi
2021-08-17  8:06   ` [Virtio-fs] " Miklos Szeredi
2021-08-17  9:32   ` Dr. David Alan Gilbert
2021-08-17  9:32     ` Dr. David Alan Gilbert
2021-08-17  9:32     ` Dr. David Alan Gilbert
2021-08-17 10:09     ` Miklos Szeredi
2021-08-17 10:09       ` Miklos Szeredi
2021-08-17 10:37       ` Dr. David Alan Gilbert
2021-08-17 10:37         ` Dr. David Alan Gilbert
2021-08-17 10:37         ` Dr. David Alan Gilbert
2021-08-17 13:08       ` JeffleXu
2021-08-17 13:08         ` JeffleXu
2021-08-17 13:08         ` JeffleXu
2021-08-17 14:11         ` Miklos Szeredi
2021-08-17 14:11           ` Miklos Szeredi
2021-08-17 15:19           ` Vivek Goyal
2021-08-17 15:19             ` Vivek Goyal
2021-08-17 15:19             ` Vivek Goyal
2021-08-17 14:54         ` Vivek Goyal
2021-08-17 14:54           ` Vivek Goyal
2021-08-17 14:54           ` Vivek Goyal
2021-08-18  5:10           ` JeffleXu
2021-08-18  5:10             ` JeffleXu
2021-08-18  5:10             ` JeffleXu
2021-08-19  6:14           ` JeffleXu
2021-08-19  6:14             ` JeffleXu
2021-08-19  6:14             ` JeffleXu
2021-08-17 12:40     ` Vivek Goyal
2021-08-17 12:40       ` Vivek Goyal
2021-08-17 12:40       ` Vivek Goyal
2021-09-16  8:21       ` JeffleXu
2021-09-16  8:21         ` JeffleXu
2021-09-16  8:21         ` JeffleXu
2021-09-18  3:06         ` JeffleXu
2021-09-18  3:06           ` JeffleXu
2021-09-18  3:06           ` JeffleXu
2021-09-19 19:45         ` Vivek Goyal
2021-09-19 19:45           ` Vivek Goyal
2021-09-19 19:45           ` Vivek Goyal
2021-09-22  8:16           ` JeffleXu
2021-09-22  8:16             ` JeffleXu
2021-09-22  8:16             ` JeffleXu
2021-08-17 12:39   ` Vivek Goyal
2021-08-17 12:39     ` [Virtio-fs] " Vivek Goyal
2021-08-17 12:39     ` Vivek Goyal
2021-08-17 13:22     ` JeffleXu
2021-08-17 13:22       ` [Virtio-fs] " JeffleXu
2021-08-17 13:22       ` JeffleXu
2021-08-17 14:08       ` Miklos Szeredi
2021-08-17 14:08         ` [Virtio-fs] " Miklos Szeredi
2021-08-18  3:39         ` JeffleXu
2021-08-18  3:39           ` [Virtio-fs] " JeffleXu
2021-08-18  3:39           ` JeffleXu
2021-08-18  5:08           ` Miklos Szeredi
2021-08-18  5:08             ` [Virtio-fs] " Miklos Szeredi
2021-08-18 16:58             ` Vivek Goyal
2021-08-18 16:58               ` [Virtio-fs] " Vivek Goyal
2021-08-18 16:58               ` Vivek Goyal
2021-09-03  5:30         ` JeffleXu
2021-09-03  5:30           ` [Virtio-fs] " JeffleXu
2021-09-03  5:30           ` JeffleXu
2021-09-07 14:51           ` Miklos Szeredi
2021-09-07 14:51             ` [Virtio-fs] " Miklos Szeredi
2021-08-17 14:57       ` Vivek Goyal
2021-08-17 14:57         ` [Virtio-fs] " Vivek Goyal
2021-08-17 14:57         ` Vivek Goyal
2021-08-18  5:20         ` JeffleXu
2021-08-18  5:20           ` [Virtio-fs] " JeffleXu
2021-08-18  5:20           ` JeffleXu
2021-08-30 23:31         ` [Virtio-fs] " 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=YRwHRmL/jUSqgkIU@work-vm \
    --to=dgilbert@redhat.com \
    --cc=jefflexu@linux.alibaba.com \
    --cc=joseph.qi@linux.alibaba.com \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=miklos@szeredi.hu \
    --cc=stefanha@redhat.com \
    --cc=vgoyal@redhat.com \
    --cc=virtio-fs@redhat.com \
    --cc=virtualization@lists.linux-foundation.org \
    /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.