Add a simple helper to check if a vm area belongs to shmem. Signed-off-by: Jerome Marchand <jmarchan@xxxxxxxxxx> --- include/linux/shmem_fs.h | 1 + mm/shmem.c | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/include/linux/shmem_fs.h b/include/linux/shmem_fs.h index 99992cf..b1fd7c1 100644 --- a/include/linux/shmem_fs.h +++ b/include/linux/shmem_fs.h @@ -59,6 +59,7 @@ extern struct file *shmem_kernel_file_setup(const char *name, loff_t size, extern int shmem_zero_setup(struct vm_area_struct *); extern int shmem_lock(struct file *file, int lock, struct user_struct *user); extern bool shmem_mapping(struct address_space *mapping); +extern bool shmem_vma(struct vm_area_struct *vma); extern void shmem_unlock_mapping(struct address_space *mapping); extern struct page *shmem_read_mapping_page_gfp(struct address_space *mapping, pgoff_t index, gfp_t gfp_mask); diff --git a/mm/shmem.c b/mm/shmem.c index 134a422..e2d7be6 100644 --- a/mm/shmem.c +++ b/mm/shmem.c @@ -1493,6 +1493,12 @@ bool shmem_mapping(struct address_space *mapping) return mapping->backing_dev_info == &shmem_backing_dev_info; } +bool shmem_vma(struct vm_area_struct *vma) +{ + return vma->vm_file && + shmem_mapping(file_inode(vma->vm_file)->i_mapping); +} + #ifdef CONFIG_TMPFS static const struct inode_operations shmem_symlink_inode_operations; static const struct inode_operations shmem_short_symlink_operations; -- 1.9.3 -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>