cregit-Linux how code gets into the kernel

Release 4.7 include/linux/dax.h

Directory: include/linux
#ifndef _LINUX_DAX_H

#define _LINUX_DAX_H

#include <linux/fs.h>
#include <linux/mm.h>
#include <linux/radix-tree.h>
#include <asm/pgtable.h>

/* We use lowest available exceptional entry bit for locking */

#define RADIX_DAX_ENTRY_LOCK (1 << RADIX_TREE_EXCEPTIONAL_SHIFT)

ssize_t dax_do_io(struct kiocb *, struct inode *, struct iov_iter *,
		  get_block_t, dio_iodone_t, int flags);
int dax_zero_page_range(struct inode *, loff_t from, unsigned len, get_block_t);
int dax_truncate_page(struct inode *, loff_t from, get_block_t);
int dax_fault(struct vm_area_struct *, struct vm_fault *, get_block_t);
int __dax_fault(struct vm_area_struct *, struct vm_fault *, get_block_t);
int dax_delete_mapping_entry(struct address_space *mapping, pgoff_t index);
void dax_wake_mapping_entry_waiter(struct address_space *mapping,
				   pgoff_t index, bool wake_all);

#ifdef CONFIG_FS_DAX
struct page *read_dax_sector(struct block_device *bdev, sector_t n);
void dax_unlock_mapping_entry(struct address_space *mapping, pgoff_t index);
int __dax_zero_page_range(struct block_device *bdev, sector_t sector,
		unsigned int offset, unsigned int length);
#else

static inline struct page *read_dax_sector(struct block_device *bdev, sector_t n) { return ERR_PTR(-ENXIO); }

Contributors

PersonTokensPropCommitsCommitProp
dan williamsdan williams24100.00%1100.00%
Total24100.00%1100.00%

/* Shouldn't ever be called when dax is disabled. */
static inline void dax_unlock_mapping_entry(struct address_space *mapping, pgoff_t index) { BUG(); }

Contributors

PersonTokensPropCommitsCommitProp
jan karajan kara18100.00%1100.00%
Total18100.00%1100.00%


static inline int __dax_zero_page_range(struct block_device *bdev, sector_t sector, unsigned int offset, unsigned int length) { return -ENXIO; }

Contributors

PersonTokensPropCommitsCommitProp
christoph hellwigchristoph hellwig27100.00%1100.00%
Total27100.00%1100.00%

#endif #if defined(CONFIG_TRANSPARENT_HUGEPAGE) int dax_pmd_fault(struct vm_area_struct *, unsigned long addr, pmd_t *, unsigned int flags, get_block_t); int __dax_pmd_fault(struct vm_area_struct *, unsigned long addr, pmd_t *, unsigned int flags, get_block_t); #else
static inline int dax_pmd_fault(struct vm_area_struct *vma, unsigned long addr, pmd_t *pmd, unsigned int flags, get_block_t gb) { return VM_FAULT_FALLBACK; }

Contributors

PersonTokensPropCommitsCommitProp
matthew wilcoxmatthew wilcox30100.00%1100.00%
Total30100.00%1100.00%

#define __dax_pmd_fault dax_pmd_fault #endif int dax_pfn_mkwrite(struct vm_area_struct *, struct vm_fault *); #define dax_mkwrite(vma, vmf, gb) dax_fault(vma, vmf, gb) #define __dax_mkwrite(vma, vmf, gb) __dax_fault(vma, vmf, gb)
static inline bool vma_is_dax(struct vm_area_struct *vma) { return vma->vm_file && IS_DAX(vma->vm_file->f_mapping->host); }

Contributors

PersonTokensPropCommitsCommitProp
matthew wilcoxmatthew wilcox28100.00%1100.00%
Total28100.00%1100.00%


static inline bool dax_mapping(struct address_space *mapping) { return mapping->host && IS_DAX(mapping->host); }

Contributors

PersonTokensPropCommitsCommitProp
ross zwislerross zwisler24100.00%1100.00%
Total24100.00%1100.00%

struct writeback_control; int dax_writeback_mapping_range(struct address_space *mapping, struct block_device *bdev, struct writeback_control *wbc); #endif

Overall Contributors

PersonTokensPropCommitsCommitProp
matthew wilcoxmatthew wilcox24053.45%321.43%
jan karajan kara7316.26%642.86%
christoph hellwigchristoph hellwig4710.47%17.14%
ross zwislerross zwisler4610.24%321.43%
dan williamsdan williams439.58%17.14%
Total449100.00%14100.00%
Directory: include/linux
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
{% endraw %}