diff options
author | Jan Kara <jack@suse.cz> | 2016-11-10 10:26:50 +1100 |
---|---|---|
committer | Dave Chinner <david@fromorbit.com> | 2016-11-10 10:26:50 +1100 |
commit | 9484ab1bf4464faae695321dd4fa66365beda74e (patch) | |
tree | f9fabeb09ceccf608881a9a72d0601b88cc4732b /fs/dax.c | |
parent | 190b5caad750942c0791889b809ce04b1eede43d (diff) | |
download | lwn-9484ab1bf4464faae695321dd4fa66365beda74e.tar.gz lwn-9484ab1bf4464faae695321dd4fa66365beda74e.zip |
dax: Introduce IOMAP_FAULT flag
Introduce a flag telling iomap operations whether they are handling a
fault or other IO. That may influence behavior wrt inode size and
similar things.
Signed-off-by: Jan Kara <jack@suse.cz>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Dave Chinner <david@fromorbit.com>
Diffstat (limited to 'fs/dax.c')
-rw-r--r-- | fs/dax.c | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -1266,7 +1266,7 @@ int dax_iomap_fault(struct vm_area_struct *vma, struct vm_fault *vmf, loff_t pos = (loff_t)vmf->pgoff << PAGE_SHIFT; sector_t sector; struct iomap iomap = { 0 }; - unsigned flags = 0; + unsigned flags = IOMAP_FAULT; int error, major = 0; int locked_status = 0; void *entry; @@ -1467,7 +1467,7 @@ int dax_iomap_pmd_fault(struct vm_area_struct *vma, unsigned long address, struct address_space *mapping = vma->vm_file->f_mapping; unsigned long pmd_addr = address & PMD_MASK; bool write = flags & FAULT_FLAG_WRITE; - unsigned int iomap_flags = write ? IOMAP_WRITE : 0; + unsigned int iomap_flags = (write ? IOMAP_WRITE : 0) | IOMAP_FAULT; struct inode *inode = mapping->host; int result = VM_FAULT_FALLBACK; struct iomap iomap = { 0 }; |