• Dan Williams's avatar
    vfio: disable filesystem-dax page pinning · 94db151d
    Dan Williams authored
    Filesystem-DAX is incompatible with 'longterm' page pinning. Without
    page cache indirection a DAX mapping maps filesystem blocks directly.
    This means that the filesystem must not modify a file's block map while
    any page in a mapping is pinned. In order to prevent the situation of
    userspace holding of filesystem operations indefinitely, disallow
    'longterm' Filesystem-DAX mappings.
    
    RDMA has the same conflict and the plan there is to add a 'with lease'
    mechanism to allow the kernel to notify userspace that the mapping is
    being torn down for block-map maintenance. Perhaps something similar can
    be put in place for vfio.
    
    Note that xfs and ext4 still report:
    
       "DAX enabled. Warning: EXPERIMENTAL, use at your own risk"
    
    ...at mount time, and resolving the dax-dma-vs-truncate problem is one
    of the last hurdles to remove that designation.
    Acked-by: default avatarAlex Williamson <alex.williamson@redhat.com>
    Cc: Michal Hocko <mhocko@suse.com>
    Cc: kvm@vger.kernel.org
    Cc: <stable@vger.kernel.org>
    Reported-by: default avatarHaozhong Zhang <haozhong.zhang@intel.com>
    Tested-by: default avatarHaozhong Zhang <haozhong.zhang@intel.com>
    Fixes: d475c634 ("dax,ext2: replace XIP read and write with DAX I/O")
    Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
    Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
    94db151d
vfio_iommu_type1.c 40.6 KB