From: Pankaj Gupta <pagupta@redhat.com> To: linux-nvdimm@lists.01.org, linux-kernel@vger.kernel.org, virtualization@lists.linux-foundation.org, kvm@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-acpi@vger.kernel.org, qemu-devel@nongnu.org, linux-ext4@vger.kernel.org, linux-xfs@vger.kernel.org Cc: dan.j.williams@intel.com, zwisler@kernel.org, vishal.l.verma@intel.com, dave.jiang@intel.com, mst@redhat.com, jasowang@redhat.com, willy@infradead.org, rjw@rjwysocki.net, hch@infradead.org, lenb@kernel.org, jack@suse.cz, tytso@mit.edu, adilger.kernel@dilger.ca, darrick.wong@oracle.com, lcapitulino@redhat.com, kwolf@redhat.com, imammedo@redhat.com, jmoyer@redhat.com, nilal@redhat.com, riel@surriel.com, stefanha@redhat.com, aarcange@redhat.com, david@redhat.com, david@fromorbit.com, cohuck@redhat.com, xiaoguangrong.eric@gmail.com, pbonzini@redhat.com, kilobyte@angband.pl, yuval.shaia@oracle.com, pagupta@redhat.com Subject: [Qemu-devel] [PATCH v7 6/6] xfs: disable map_sync for async flush Date: Fri, 26 Apr 2019 10:30:39 +0530 [thread overview] Message-ID: <20190426050039.17460-7-pagupta@redhat.com> (raw) In-Reply-To: <20190426050039.17460-1-pagupta@redhat.com> 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 | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/fs/xfs/xfs_file.c b/fs/xfs/xfs_file.c index a7ceae90110e..f17652cca5ff 100644 --- a/fs/xfs/xfs_file.c +++ b/fs/xfs/xfs_file.c @@ -1203,11 +1203,14 @@ xfs_file_mmap( struct file *filp, struct vm_area_struct *vma) { + struct dax_device *dax_dev; + + dax_dev = xfs_find_daxdev_for_inode(file_inode(filp)); /* - * We don't support synchronous mappings for non-DAX files. At least - * until someone comes with a sensible use case. + * 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
WARNING: multiple messages have this Message-ID (diff)
From: Pankaj Gupta <pagupta@redhat.com> To: linux-nvdimm@lists.01.org, linux-kernel@vger.kernel.org, virtualization@lists.linux-foundation.org, kvm@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-acpi@vger.kernel.org, qemu-devel@nongnu.org, linux-ext4@vger.kernel.org, linux-xfs@vger.kernel.org Cc: pagupta@redhat.com, jack@suse.cz, mst@redhat.com, jasowang@redhat.com, david@fromorbit.com, lcapitulino@redhat.com, adilger.kernel@dilger.ca, zwisler@kernel.org, aarcange@redhat.com, dave.jiang@intel.com, darrick.wong@oracle.com, vishal.l.verma@intel.com, david@redhat.com, willy@infradead.org, hch@infradead.org, jmoyer@redhat.com, nilal@redhat.com, lenb@kernel.org, kilobyte@angband.pl, riel@surriel.com, yuval.shaia@oracle.com, stefanha@redhat.com, pbonzini@redhat.com, dan.j.williams@intel.com, kwolf@redhat.com, tytso@mit.edu, xiaoguangrong.eric@gmail.com, cohuck@redhat.com, rjw@rjwysocki.net, imammedo@redhat.com Subject: [Qemu-devel] [PATCH v7 6/6] xfs: disable map_sync for async flush Date: Fri, 26 Apr 2019 10:30:39 +0530 [thread overview] Message-ID: <20190426050039.17460-7-pagupta@redhat.com> (raw) Message-ID: <20190426050039.pNQ1rwLrKjNVak4lVKkoRakC7vaU-vk4RBhPx8rbDnI@z> (raw) In-Reply-To: <20190426050039.17460-1-pagupta@redhat.com> 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 | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/fs/xfs/xfs_file.c b/fs/xfs/xfs_file.c index a7ceae90110e..f17652cca5ff 100644 --- a/fs/xfs/xfs_file.c +++ b/fs/xfs/xfs_file.c @@ -1203,11 +1203,14 @@ xfs_file_mmap( struct file *filp, struct vm_area_struct *vma) { + struct dax_device *dax_dev; + + dax_dev = xfs_find_daxdev_for_inode(file_inode(filp)); /* - * We don't support synchronous mappings for non-DAX files. At least - * until someone comes with a sensible use case. + * 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
next prev parent reply other threads:[~2019-04-26 5:03 UTC|newest] Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-04-26 5:00 [Qemu-devel] [PATCH v7 0/6] virtio pmem driver Pankaj Gupta 2019-04-26 5:00 ` Pankaj Gupta 2019-04-26 5:00 ` [Qemu-devel] [PATCH v7 1/6] libnvdimm: nd_region flush callback support Pankaj Gupta 2019-04-26 5:00 ` Pankaj Gupta 2019-04-26 5:00 ` [Qemu-devel] [PATCH v7 2/6] virtio-pmem: Add virtio pmem driver Pankaj Gupta 2019-04-26 5:00 ` Pankaj Gupta 2019-04-30 5:53 ` Yuval Shaia 2019-04-30 5:53 ` Yuval Shaia 2019-04-30 6:06 ` Pankaj Gupta 2019-04-30 6:06 ` Pankaj Gupta 2019-05-07 15:35 ` Dan Williams 2019-05-08 11:19 ` Pankaj Gupta 2019-05-10 23:33 ` Dan Williams 2019-05-11 1:26 ` Pankaj Gupta 2019-05-07 20:25 ` Jakub Staroń via Qemu-devel 2019-05-08 11:12 ` Pankaj Gupta 2019-05-08 15:23 ` Pankaj Gupta 2019-05-08 19:05 ` Jakub Staroń via Qemu-devel 2019-04-26 5:00 ` [Qemu-devel] [PATCH v7 3/6] libnvdimm: add dax_dev sync flag Pankaj Gupta 2019-04-26 5:00 ` Pankaj Gupta 2019-05-07 15:40 ` Dan Williams 2019-05-09 12:24 ` Pankaj Gupta 2019-04-26 5:00 ` [Qemu-devel] [PATCH v7 4/6] dax: check synchronous mapping is supported Pankaj Gupta 2019-04-26 5:00 ` Pankaj Gupta 2019-05-07 19:24 ` Jakub Staroń via Qemu-devel 2019-05-08 5:31 ` Pankaj Gupta 2019-04-26 5:00 ` [Qemu-devel] [PATCH v7 5/6] ext4: disable map_sync for async flush Pankaj Gupta 2019-04-26 5:00 ` Pankaj Gupta 2019-04-26 5:00 ` Pankaj Gupta [this message] 2019-04-26 5:00 ` [Qemu-devel] [PATCH v7 6/6] xfs: " Pankaj Gupta 2019-05-07 15:37 ` Dan Williams 2019-05-07 16:17 ` Darrick J. Wong 2019-05-08 5:49 ` Pankaj Gupta
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=20190426050039.17460-7-pagupta@redhat.com \ --to=pagupta@redhat.com \ --cc=aarcange@redhat.com \ --cc=adilger.kernel@dilger.ca \ --cc=cohuck@redhat.com \ --cc=dan.j.williams@intel.com \ --cc=darrick.wong@oracle.com \ --cc=dave.jiang@intel.com \ --cc=david@fromorbit.com \ --cc=david@redhat.com \ --cc=hch@infradead.org \ --cc=imammedo@redhat.com \ --cc=jack@suse.cz \ --cc=jasowang@redhat.com \ --cc=jmoyer@redhat.com \ --cc=kilobyte@angband.pl \ --cc=kvm@vger.kernel.org \ --cc=kwolf@redhat.com \ --cc=lcapitulino@redhat.com \ --cc=lenb@kernel.org \ --cc=linux-acpi@vger.kernel.org \ --cc=linux-ext4@vger.kernel.org \ --cc=linux-fsdevel@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-nvdimm@lists.01.org \ --cc=linux-xfs@vger.kernel.org \ --cc=mst@redhat.com \ --cc=nilal@redhat.com \ --cc=pbonzini@redhat.com \ --cc=qemu-devel@nongnu.org \ --cc=riel@surriel.com \ --cc=rjw@rjwysocki.net \ --cc=stefanha@redhat.com \ --cc=tytso@mit.edu \ --cc=virtualization@lists.linux-foundation.org \ --cc=vishal.l.verma@intel.com \ --cc=willy@infradead.org \ --cc=xiaoguangrong.eric@gmail.com \ --cc=yuval.shaia@oracle.com \ --cc=zwisler@kernel.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: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).