lkml.org 
[lkml]   [2019]   [Apr]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v5 6/6] xfs: disable map_sync for async flush
    Date
    Dont support 'MAP_SYNC' with non-DAX files and DAX files
    with asynchronous dax_device. Virtio pmem provides
    asynchronous host page cache flush mechanism. We don't
    support 'MAP_SYNC' with virtio pmem and xfs.

    Signed-off-by: Pankaj Gupta <pagupta@redhat.com>
    ---
    fs/xfs/xfs_file.c | 10 ++++++----
    1 file changed, 6 insertions(+), 4 deletions(-)

    diff --git a/fs/xfs/xfs_file.c b/fs/xfs/xfs_file.c
    index 1f2e2845eb76..0e59be018511 100644
    --- a/fs/xfs/xfs_file.c
    +++ b/fs/xfs/xfs_file.c
    @@ -1196,11 +1196,13 @@ xfs_file_mmap(
    struct file *filp,
    struct vm_area_struct *vma)
    {
    - /*
    - * We don't support synchronous mappings for non-DAX files. At least
    - * until someone comes with a sensible use case.
    + struct dax_device *dax_dev = xfs_find_daxdev_for_inode
    + (file_inode(filp));
    +
    + /* We don't support synchronous mappings for non-DAX files and
    + * for DAX files if underneath dax_device is not synchronous.
    */
    - if (!IS_DAX(file_inode(filp)) && (vma->vm_flags & VM_SYNC))
    + if (!daxdev_mapping_supported(vma, dax_dev))
    return -EOPNOTSUPP;

    file_accessed(filp);
    --
    2.20.1
    \
     
     \ /
      Last update: 2019-04-10 06:11    [W:4.177 / U:0.000 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site