[Virtio-fs] [PATCH] virtiofs: Fail dax mount if device does not support it
Stefan Hajnoczi
stefanha at redhat.com
Wed Feb 10 14:58:14 UTC 2021
On Tue, Feb 09, 2021 at 05:47:54PM -0500, Vivek Goyal wrote:
> Right now "mount -t virtiofs -o dax myfs /mnt/virtiofs" succeeds even
> if filesystem deivce does not have a cache window and hence DAX can't
> be supported.
>
> This gives a false sense to user that they are using DAX with virtiofs
> but fact of the matter is that they are not.
>
> Fix this by returning error if dax can't be supported and user has asked
> for it.
>
> Signed-off-by: Vivek Goyal <vgoyal at redhat.com>
> ---
> fs/fuse/virtio_fs.c | 9 ++++++++-
> 1 file changed, 8 insertions(+), 1 deletion(-)
>
> Index: redhat-linux/fs/fuse/virtio_fs.c
> ===================================================================
> --- redhat-linux.orig/fs/fuse/virtio_fs.c 2021-02-04 10:40:21.704370721 -0500
> +++ redhat-linux/fs/fuse/virtio_fs.c 2021-02-09 15:56:45.693653979 -0500
> @@ -1324,8 +1324,15 @@ static int virtio_fs_fill_super(struct s
>
> /* virtiofs allocates and installs its own fuse devices */
> ctx->fudptr = NULL;
> - if (ctx->dax)
> + if (ctx->dax) {
> + if (!fs->dax_dev) {
> + err = -EINVAL;
> + pr_err("virtio-fs: dax can't be enabled as filesystem"
> + " device does not support it.\n");
> + goto err_free_fuse_devs;
> + }
> ctx->dax_dev = fs->dax_dev;
> + }
> err = fuse_fill_super_common(sb, ctx);
> if (err < 0)
> goto err_free_fuse_devs;
Reviewed-by: Stefan Hajnoczi <stefanha at redhat.com>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/virtio-fs/attachments/20210210/3df68f1e/attachment.sig>
More information about the Virtio-fs
mailing list