qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v4 4/5] ext4: disable map_sync for async flush


From: Jan Kara
Subject: Re: [Qemu-devel] [PATCH v4 4/5] ext4: disable map_sync for async flush
Date: Wed, 3 Apr 2019 13:30:49 +0200
User-agent: Mutt/1.10.1 (2018-07-13)

On Wed 03-04-19 16:10:17, Pankaj Gupta wrote:
> Virtio pmem provides asynchronous host page cache flush
> mechanism. We don't support 'MAP_SYNC' with virtio pmem 
> and ext4. 
> 
> Signed-off-by: Pankaj Gupta <address@hidden>

The patch looks good to me. You can add:

Reviewed-by: Jan Kara <address@hidden>

                                                                Honza

> ---
>  fs/ext4/file.c | 11 ++++++++++-
>  1 file changed, 10 insertions(+), 1 deletion(-)
> 
> diff --git a/fs/ext4/file.c b/fs/ext4/file.c
> index 69d65d49837b..86e4bf464320 100644
> --- a/fs/ext4/file.c
> +++ b/fs/ext4/file.c
> @@ -360,8 +360,10 @@ static const struct vm_operations_struct 
> ext4_file_vm_ops = {
>  static int ext4_file_mmap(struct file *file, struct vm_area_struct *vma)
>  {
>       struct inode *inode = file->f_mapping->host;
> +     struct ext4_sb_info *sbi = EXT4_SB(inode->i_sb);
> +     struct dax_device *dax_dev = sbi->s_daxdev;
>  
> -     if (unlikely(ext4_forced_shutdown(EXT4_SB(inode->i_sb))))
> +     if (unlikely(ext4_forced_shutdown(sbi)))
>               return -EIO;
>  
>       /*
> @@ -371,6 +373,13 @@ static int ext4_file_mmap(struct file *file, struct 
> vm_area_struct *vma)
>       if (!IS_DAX(file_inode(file)) && (vma->vm_flags & VM_SYNC))
>               return -EOPNOTSUPP;
>  
> +     /* We don't support synchronous mappings with DAX files if
> +      * dax_device is not synchronous.
> +      */
> +     if (IS_DAX(file_inode(file)) && !dax_synchronous(dax_dev)
> +                                             && (vma->vm_flags & VM_SYNC))
> +             return -EOPNOTSUPP;
> +
>       file_accessed(file);
>       if (IS_DAX(file_inode(file))) {
>               vma->vm_ops = &ext4_dax_vm_ops;
> -- 
> 2.20.1
> 
-- 
Jan Kara <address@hidden>
SUSE Labs, CR



reply via email to

[Prev in Thread] Current Thread [Next in Thread]