From: Pankaj Gupta <pagupta@redhat.com> To: dm-devel@redhat.com, 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, yuval.shaia@oracle.com, kilobyte@angband.pl, jstaron@google.com, rdunlap@infradead.org, snitzer@redhat.com, pagupta@redhat.com Subject: [PATCH v11 5/7] dax: check synchronous mapping is supported Date: Mon, 10 Jun 2019 14:37:28 +0530 Message-ID: <20190610090730.8589-6-pagupta@redhat.com> (raw) In-Reply-To: <20190610090730.8589-1-pagupta@redhat.com> This patch introduces 'daxdev_mapping_supported' helper which checks if 'MAP_SYNC' is supported with filesystem mapping. It also checks if corresponding dax_device is synchronous. Virtio pmem device is asynchronous and does not not support VM_SYNC. Suggested-by: Jan Kara <jack@suse.cz> Signed-off-by: Pankaj Gupta <pagupta@redhat.com> Reviewed-by: Jan Kara <jack@suse.cz> --- include/linux/dax.h | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/include/linux/dax.h b/include/linux/dax.h index 2b106752b1b8..267251a394fa 100644 --- a/include/linux/dax.h +++ b/include/linux/dax.h @@ -42,6 +42,18 @@ void dax_write_cache(struct dax_device *dax_dev, bool wc); bool dax_write_cache_enabled(struct dax_device *dax_dev); bool dax_synchronous(struct dax_device *dax_dev); void set_dax_synchronous(struct dax_device *dax_dev); +/* + * Check if given mapping is supported by the file / underlying device. + */ +static inline bool daxdev_mapping_supported(struct vm_area_struct *vma, + struct dax_device *dax_dev) +{ + if (!(vma->vm_flags & VM_SYNC)) + return true; + if (!IS_DAX(file_inode(vma->vm_file))) + return false; + return dax_synchronous(dax_dev); +} #else static inline struct dax_device *dax_get_by_host(const char *host) { @@ -69,6 +81,11 @@ static inline bool dax_write_cache_enabled(struct dax_device *dax_dev) { return false; } +static inline bool daxdev_mapping_supported(struct vm_area_struct *vma, + struct dax_device *dax_dev) +{ + return !(vma->vm_flags & VM_SYNC); +} #endif struct writeback_control; -- 2.20.1
next prev parent reply index Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-06-10 9:07 [PATCH v11 0/7] virtio pmem driver Pankaj Gupta 2019-06-10 9:07 ` [PATCH v11 1/7] libnvdimm: nd_region flush callback support Pankaj Gupta 2019-06-10 9:07 ` [PATCH v11 2/7] virtio-pmem: Add virtio pmem driver Pankaj Gupta 2019-06-10 9:07 ` [PATCH v11 3/7] libnvdimm: add dax_dev sync flag Pankaj Gupta 2019-06-10 9:07 ` [PATCH v11 4/7] dm: enable synchronous dax Pankaj Gupta 2019-06-10 19:28 ` Mike Snitzer 2019-06-11 13:10 ` [Qemu-devel] " Pankaj Gupta 2019-06-11 15:04 ` Mike Snitzer 2019-06-11 16:04 ` [Qemu-devel] " Pankaj Gupta 2019-06-10 9:07 ` Pankaj Gupta [this message] 2019-06-10 9:07 ` [PATCH v11 6/7] ext4: disable map_sync for async flush Pankaj Gupta 2019-06-10 9:07 ` [PATCH v11 7/7] xfs: " 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=20190610090730.8589-6-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=dm-devel@redhat.com \ --cc=hch@infradead.org \ --cc=imammedo@redhat.com \ --cc=jack@suse.cz \ --cc=jasowang@redhat.com \ --cc=jmoyer@redhat.com \ --cc=jstaron@google.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=rdunlap@infradead.org \ --cc=riel@surriel.com \ --cc=rjw@rjwysocki.net \ --cc=snitzer@redhat.com \ --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: link
Linux-ACPI Archive on lore.kernel.org Archives are clonable: git clone --mirror https://lore.kernel.org/linux-acpi/0 linux-acpi/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 linux-acpi linux-acpi/ https://lore.kernel.org/linux-acpi \ linux-acpi@vger.kernel.org public-inbox-index linux-acpi Example config snippet for mirrors Newsgroup available over NNTP: nntp://nntp.lore.kernel.org/org.kernel.vger.linux-acpi AGPL code for this site: git clone https://public-inbox.org/public-inbox.git