• Home
  • Raw
  • Download

Lines Matching refs:inode

142 static int shmem_swapin_page(struct inode *inode, pgoff_t index,
146 static int shmem_getpage_gfp(struct inode *inode, pgoff_t index,
151 int shmem_getpage(struct inode *inode, pgoff_t index, in shmem_getpage() argument
154 return shmem_getpage_gfp(inode, index, pagep, sgp, in shmem_getpage()
155 mapping_gfp_mask(inode->i_mapping), NULL, NULL, NULL); in shmem_getpage()
215 static inline bool shmem_inode_acct_block(struct inode *inode, long pages) in shmem_inode_acct_block() argument
217 struct shmem_inode_info *info = SHMEM_I(inode); in shmem_inode_acct_block()
218 struct shmem_sb_info *sbinfo = SHMEM_SB(inode->i_sb); in shmem_inode_acct_block()
237 static inline void shmem_inode_unacct_blocks(struct inode *inode, long pages) in shmem_inode_unacct_blocks() argument
239 struct shmem_inode_info *info = SHMEM_I(inode); in shmem_inode_unacct_blocks()
240 struct shmem_sb_info *sbinfo = SHMEM_SB(inode->i_sb); in shmem_inode_unacct_blocks()
301 static void shmem_recalc_inode(struct inode *inode) in shmem_recalc_inode() argument
303 struct shmem_inode_info *info = SHMEM_I(inode); in shmem_recalc_inode()
306 freed = info->alloced - info->swapped - inode->i_mapping->nrpages; in shmem_recalc_inode()
309 inode->i_blocks -= freed * BLOCKS_PER_PAGE; in shmem_recalc_inode()
310 shmem_inode_unacct_blocks(inode, freed); in shmem_recalc_inode()
314 bool shmem_charge(struct inode *inode, long pages) in shmem_charge() argument
316 struct shmem_inode_info *info = SHMEM_I(inode); in shmem_charge()
319 if (!shmem_inode_acct_block(inode, pages)) in shmem_charge()
323 inode->i_mapping->nrpages += pages; in shmem_charge()
327 inode->i_blocks += pages * BLOCKS_PER_PAGE; in shmem_charge()
328 shmem_recalc_inode(inode); in shmem_charge()
334 void shmem_uncharge(struct inode *inode, long pages) in shmem_uncharge() argument
336 struct shmem_inode_info *info = SHMEM_I(inode); in shmem_uncharge()
343 inode->i_blocks -= pages * BLOCKS_PER_PAGE; in shmem_uncharge()
344 shmem_recalc_inode(inode); in shmem_uncharge()
347 shmem_inode_unacct_blocks(inode, pages); in shmem_uncharge()
465 struct inode *inode; in shmem_unused_huge_shrink() local
479 inode = igrab(&info->vfs_inode); in shmem_unused_huge_shrink()
482 if (!inode) { in shmem_unused_huge_shrink()
489 if (round_up(inode->i_size, PAGE_SIZE) == in shmem_unused_huge_shrink()
490 round_up(inode->i_size, HPAGE_PMD_SIZE)) { in shmem_unused_huge_shrink()
505 inode = &info->vfs_inode; in shmem_unused_huge_shrink()
507 iput(inode); in shmem_unused_huge_shrink()
514 inode = &info->vfs_inode; in shmem_unused_huge_shrink()
519 page = find_get_page(inode->i_mapping, in shmem_unused_huge_shrink()
520 (inode->i_size & HPAGE_PMD_MASK) >> PAGE_SHIFT); in shmem_unused_huge_shrink()
555 iput(inode); in shmem_unused_huge_shrink()
736 struct inode *inode = file_inode(vma->vm_file); in shmem_swap_usage() local
737 struct shmem_inode_info *info = SHMEM_I(inode); in shmem_swap_usage()
738 struct address_space *mapping = inode->i_mapping; in shmem_swap_usage()
752 if (!vma->vm_pgoff && vma->vm_end - vma->vm_start >= inode->i_size) in shmem_swap_usage()
795 static void shmem_undo_range(struct inode *inode, loff_t lstart, loff_t lend, in shmem_undo_range() argument
798 struct address_space *mapping = inode->i_mapping; in shmem_undo_range()
799 struct shmem_inode_info *info = SHMEM_I(inode); in shmem_undo_range()
877 shmem_getpage(inode, start - 1, &page, SGP_READ); in shmem_undo_range()
892 shmem_getpage(inode, end, &page, SGP_READ); in shmem_undo_range()
986 shmem_recalc_inode(inode); in shmem_undo_range()
990 void shmem_truncate_range(struct inode *inode, loff_t lstart, loff_t lend) in shmem_truncate_range() argument
992 shmem_undo_range(inode, lstart, lend, false); in shmem_truncate_range()
993 inode->i_ctime = inode->i_mtime = current_time(inode); in shmem_truncate_range()
1000 struct inode *inode = path->dentry->d_inode; in shmem_getattr() local
1001 struct shmem_inode_info *info = SHMEM_I(inode); in shmem_getattr()
1002 struct shmem_sb_info *sb_info = SHMEM_SB(inode->i_sb); in shmem_getattr()
1004 if (info->alloced - info->swapped != inode->i_mapping->nrpages) { in shmem_getattr()
1006 shmem_recalc_inode(inode); in shmem_getattr()
1009 generic_fillattr(inode, stat); in shmem_getattr()
1019 struct inode *inode = d_inode(dentry); in shmem_setattr() local
1020 struct shmem_inode_info *info = SHMEM_I(inode); in shmem_setattr()
1021 struct shmem_sb_info *sbinfo = SHMEM_SB(inode->i_sb); in shmem_setattr()
1028 if (S_ISREG(inode->i_mode) && (attr->ia_valid & ATTR_SIZE)) { in shmem_setattr()
1029 loff_t oldsize = inode->i_size; in shmem_setattr()
1038 error = shmem_reacct_size(SHMEM_I(inode)->flags, in shmem_setattr()
1042 i_size_write(inode, newsize); in shmem_setattr()
1043 inode->i_ctime = inode->i_mtime = current_time(inode); in shmem_setattr()
1048 unmap_mapping_range(inode->i_mapping, in shmem_setattr()
1051 shmem_truncate_range(inode, in shmem_setattr()
1055 unmap_mapping_range(inode->i_mapping, in shmem_setattr()
1078 setattr_copy(inode, attr); in shmem_setattr()
1080 error = posix_acl_chmod(inode, inode->i_mode); in shmem_setattr()
1084 static void shmem_evict_inode(struct inode *inode) in shmem_evict_inode() argument
1086 struct shmem_inode_info *info = SHMEM_I(inode); in shmem_evict_inode()
1087 struct shmem_sb_info *sbinfo = SHMEM_SB(inode->i_sb); in shmem_evict_inode()
1089 if (inode->i_mapping->a_ops == &shmem_aops) { in shmem_evict_inode()
1090 shmem_unacct_size(info->flags, inode->i_size); in shmem_evict_inode()
1091 inode->i_size = 0; in shmem_evict_inode()
1092 shmem_truncate_range(inode, 0, (loff_t)-1); in shmem_evict_inode()
1114 WARN_ON(inode->i_blocks); in shmem_evict_inode()
1115 shmem_free_inode(inode->i_sb); in shmem_evict_inode()
1116 clear_inode(inode); in shmem_evict_inode()
1168 static int shmem_unuse_swap_entries(struct inode *inode, struct pagevec pvec, in shmem_unuse_swap_entries() argument
1174 struct address_space *mapping = inode->i_mapping; in shmem_unuse_swap_entries()
1181 error = shmem_swapin_page(inode, indices[i], in shmem_unuse_swap_entries()
1200 static int shmem_unuse_inode(struct inode *inode, unsigned int type, in shmem_unuse_inode() argument
1203 struct address_space *mapping = inode->i_mapping; in shmem_unuse_inode()
1225 ret = shmem_unuse_swap_entries(inode, pvec, indices); in shmem_unuse_inode()
1297 struct inode *inode; in shmem_writepage() local
1305 inode = mapping->host; in shmem_writepage()
1306 info = SHMEM_I(inode); in shmem_writepage()
1336 if (inode->i_private) { in shmem_writepage()
1338 spin_lock(&inode->i_lock); in shmem_writepage()
1339 shmem_falloc = inode->i_private; in shmem_writepage()
1347 spin_unlock(&inode->i_lock); in shmem_writepage()
1374 shmem_recalc_inode(inode); in shmem_writepage()
1505 struct inode *inode, in shmem_alloc_and_acct_page() argument
1508 struct shmem_inode_info *info = SHMEM_I(inode); in shmem_alloc_and_acct_page()
1517 if (!shmem_inode_acct_block(inode, nr)) in shmem_alloc_and_acct_page()
1531 shmem_inode_unacct_blocks(inode, nr); in shmem_alloc_and_acct_page()
1626 static int shmem_swapin_page(struct inode *inode, pgoff_t index, in shmem_swapin_page() argument
1631 struct address_space *mapping = inode->i_mapping; in shmem_swapin_page()
1632 struct shmem_inode_info *info = SHMEM_I(inode); in shmem_swapin_page()
1706 shmem_recalc_inode(inode); in shmem_swapin_page()
1740 static int shmem_getpage_gfp(struct inode *inode, pgoff_t index, in shmem_getpage_gfp() argument
1745 struct address_space *mapping = inode->i_mapping; in shmem_getpage_gfp()
1746 struct shmem_inode_info *info = SHMEM_I(inode); in shmem_getpage_gfp()
1763 ((loff_t)index << PAGE_SHIFT) >= i_size_read(inode)) { in shmem_getpage_gfp()
1767 sbinfo = SHMEM_SB(inode->i_sb); in shmem_getpage_gfp()
1772 error = shmem_swapin_page(inode, index, &page, in shmem_getpage_gfp()
1821 i_size = round_up(i_size_read(inode), PAGE_SIZE); in shmem_getpage_gfp()
1834 page = shmem_alloc_and_acct_page(gfp, inode, index, true); in shmem_getpage_gfp()
1837 page = shmem_alloc_and_acct_page(gfp, inode, in shmem_getpage_gfp()
1888 inode->i_blocks += BLOCKS_PER_PAGE << compound_order(page); in shmem_getpage_gfp()
1889 shmem_recalc_inode(inode); in shmem_getpage_gfp()
1894 DIV_ROUND_UP(i_size_read(inode), PAGE_SIZE) < in shmem_getpage_gfp()
1937 ((loff_t)index << PAGE_SHIFT) >= i_size_read(inode)) { in shmem_getpage_gfp()
1942 shmem_recalc_inode(inode); in shmem_getpage_gfp()
1955 shmem_inode_unacct_blocks(inode, compound_nr(page)); in shmem_getpage_gfp()
1969 shmem_recalc_inode(inode); in shmem_getpage_gfp()
1993 struct inode *inode = file_inode(vma->vm_file); in shmem_fault() local
1994 gfp_t gfp = mapping_gfp_mask(inode->i_mapping); in shmem_fault()
2016 if (unlikely(inode->i_private)) { in shmem_fault()
2019 spin_lock(&inode->i_lock); in shmem_fault()
2020 shmem_falloc = inode->i_private; in shmem_fault()
2037 spin_unlock(&inode->i_lock); in shmem_fault()
2047 spin_lock(&inode->i_lock); in shmem_fault()
2049 spin_unlock(&inode->i_lock); in shmem_fault()
2055 spin_unlock(&inode->i_lock); in shmem_fault()
2066 err = shmem_getpage_gfp(inode, vmf->pgoff, &vmf->page, sgp, in shmem_fault()
2165 struct inode *inode = file_inode(vma->vm_file); in shmem_set_policy() local
2166 return mpol_set_shared_policy(&SHMEM_I(inode)->policy, vma, mpol); in shmem_set_policy()
2172 struct inode *inode = file_inode(vma->vm_file); in shmem_get_policy() local
2176 return mpol_shared_policy_lookup(&SHMEM_I(inode)->policy, index); in shmem_get_policy()
2182 struct inode *inode = file_inode(file); in shmem_lock() local
2183 struct shmem_inode_info *info = SHMEM_I(inode); in shmem_lock()
2188 if (!user_shm_lock(inode->i_size, user)) in shmem_lock()
2194 user_shm_unlock(inode->i_size, user); in shmem_lock()
2238 static struct inode *shmem_get_inode(struct super_block *sb, const struct inode *dir, in shmem_get_inode()
2241 struct inode *inode; in shmem_get_inode() local
2248 inode = new_inode(sb); in shmem_get_inode()
2249 if (inode) { in shmem_get_inode()
2250 inode->i_ino = get_next_ino(); in shmem_get_inode()
2251 inode_init_owner(inode, dir, mode); in shmem_get_inode()
2252 inode->i_blocks = 0; in shmem_get_inode()
2253 inode->i_atime = inode->i_mtime = inode->i_ctime = current_time(inode); in shmem_get_inode()
2254 inode->i_generation = prandom_u32(); in shmem_get_inode()
2255 info = SHMEM_I(inode); in shmem_get_inode()
2256 memset(info, 0, (char *)inode - (char *)info); in shmem_get_inode()
2264 cache_no_acl(inode); in shmem_get_inode()
2268 inode->i_op = &shmem_special_inode_operations; in shmem_get_inode()
2269 init_special_inode(inode, mode, dev); in shmem_get_inode()
2272 inode->i_mapping->a_ops = &shmem_aops; in shmem_get_inode()
2273 inode->i_op = &shmem_inode_operations; in shmem_get_inode()
2274 inode->i_fop = &shmem_file_operations; in shmem_get_inode()
2279 inc_nlink(inode); in shmem_get_inode()
2281 inode->i_size = 2 * BOGO_DIRENT_SIZE; in shmem_get_inode()
2282 inode->i_op = &shmem_dir_inode_operations; in shmem_get_inode()
2283 inode->i_fop = &simple_dir_operations; in shmem_get_inode()
2294 lockdep_annotate_inode_mutex_key(inode); in shmem_get_inode()
2297 return inode; in shmem_get_inode()
2313 struct inode *inode = file_inode(dst_vma->vm_file); in shmem_mfill_atomic_pte() local
2314 struct shmem_inode_info *info = SHMEM_I(inode); in shmem_mfill_atomic_pte()
2315 struct address_space *mapping = inode->i_mapping; in shmem_mfill_atomic_pte()
2327 if (!shmem_inode_acct_block(inode, 1)) in shmem_mfill_atomic_pte()
2345 shmem_inode_unacct_blocks(inode, 1); in shmem_mfill_atomic_pte()
2364 max_off = DIV_ROUND_UP(i_size_read(inode), PAGE_SIZE); in shmem_mfill_atomic_pte()
2396 max_off = DIV_ROUND_UP(i_size_read(inode), PAGE_SIZE); in shmem_mfill_atomic_pte()
2408 inode->i_blocks += BLOCKS_PER_PAGE; in shmem_mfill_atomic_pte()
2409 shmem_recalc_inode(inode); in shmem_mfill_atomic_pte()
2433 shmem_inode_unacct_blocks(inode, 1); in shmem_mfill_atomic_pte()
2464 static int shmem_initxattrs(struct inode *, const struct xattr *, void *);
2474 struct inode *inode = mapping->host; in shmem_write_begin() local
2475 struct shmem_inode_info *info = SHMEM_I(inode); in shmem_write_begin()
2483 if ((info->seals & F_SEAL_GROW) && pos + len > inode->i_size) in shmem_write_begin()
2487 return shmem_getpage(inode, index, pagep, SGP_WRITE); in shmem_write_begin()
2495 struct inode *inode = mapping->host; in shmem_write_end() local
2497 if (pos + copied > inode->i_size) in shmem_write_end()
2498 i_size_write(inode, pos + copied); in shmem_write_end()
2529 struct inode *inode = file_inode(file); in shmem_file_read_iter() local
2530 struct address_space *mapping = inode->i_mapping; in shmem_file_read_iter()
2553 loff_t i_size = i_size_read(inode); in shmem_file_read_iter()
2564 error = shmem_getpage(inode, index, &page, sgp); in shmem_file_read_iter()
2581 i_size = i_size_read(inode); in shmem_file_read_iter()
2689 struct inode *inode = mapping->host; in shmem_file_llseek() local
2695 MAX_LFS_FILESIZE, i_size_read(inode)); in shmem_file_llseek()
2696 inode_lock(inode); in shmem_file_llseek()
2699 if (offset < 0 || offset >= inode->i_size) in shmem_file_llseek()
2703 end = (inode->i_size + PAGE_SIZE - 1) >> PAGE_SHIFT; in shmem_file_llseek()
2707 if (new_offset < inode->i_size) in shmem_file_llseek()
2712 offset = inode->i_size; in shmem_file_llseek()
2718 inode_unlock(inode); in shmem_file_llseek()
2725 struct inode *inode = file_inode(file); in shmem_fallocate() local
2726 struct shmem_sb_info *sbinfo = SHMEM_SB(inode->i_sb); in shmem_fallocate()
2727 struct shmem_inode_info *info = SHMEM_I(inode); in shmem_fallocate()
2735 inode_lock(inode); in shmem_fallocate()
2752 spin_lock(&inode->i_lock); in shmem_fallocate()
2753 inode->i_private = &shmem_falloc; in shmem_fallocate()
2754 spin_unlock(&inode->i_lock); in shmem_fallocate()
2759 shmem_truncate_range(inode, offset, offset + len - 1); in shmem_fallocate()
2762 spin_lock(&inode->i_lock); in shmem_fallocate()
2763 inode->i_private = NULL; in shmem_fallocate()
2766 spin_unlock(&inode->i_lock); in shmem_fallocate()
2772 error = inode_newsize_ok(inode, offset + len); in shmem_fallocate()
2776 if ((info->seals & F_SEAL_GROW) && offset + len > inode->i_size) { in shmem_fallocate()
2794 spin_lock(&inode->i_lock); in shmem_fallocate()
2795 inode->i_private = &shmem_falloc; in shmem_fallocate()
2796 spin_unlock(&inode->i_lock); in shmem_fallocate()
2810 error = shmem_getpage(inode, index, &page, SGP_FALLOC); in shmem_fallocate()
2814 shmem_undo_range(inode, in shmem_fallocate()
2842 if (!(mode & FALLOC_FL_KEEP_SIZE) && offset + len > inode->i_size) in shmem_fallocate()
2843 i_size_write(inode, offset + len); in shmem_fallocate()
2844 inode->i_ctime = current_time(inode); in shmem_fallocate()
2846 spin_lock(&inode->i_lock); in shmem_fallocate()
2847 inode->i_private = NULL; in shmem_fallocate()
2848 spin_unlock(&inode->i_lock); in shmem_fallocate()
2850 inode_unlock(inode); in shmem_fallocate()
2879 shmem_mknod(struct inode *dir, struct dentry *dentry, umode_t mode, dev_t dev) in shmem_mknod()
2881 struct inode *inode; in shmem_mknod() local
2884 inode = shmem_get_inode(dir->i_sb, dir, mode, dev, VM_NORESERVE); in shmem_mknod()
2885 if (inode) { in shmem_mknod()
2886 error = simple_acl_create(dir, inode); in shmem_mknod()
2889 error = security_inode_init_security(inode, dir, in shmem_mknod()
2898 d_instantiate(dentry, inode); in shmem_mknod()
2903 iput(inode); in shmem_mknod()
2908 shmem_tmpfile(struct inode *dir, struct dentry *dentry, umode_t mode) in shmem_tmpfile()
2910 struct inode *inode; in shmem_tmpfile() local
2913 inode = shmem_get_inode(dir->i_sb, dir, mode, 0, VM_NORESERVE); in shmem_tmpfile()
2914 if (inode) { in shmem_tmpfile()
2915 error = security_inode_init_security(inode, dir, in shmem_tmpfile()
2920 error = simple_acl_create(dir, inode); in shmem_tmpfile()
2923 d_tmpfile(dentry, inode); in shmem_tmpfile()
2927 iput(inode); in shmem_tmpfile()
2931 static int shmem_mkdir(struct inode *dir, struct dentry *dentry, umode_t mode) in shmem_mkdir()
2941 static int shmem_create(struct inode *dir, struct dentry *dentry, umode_t mode, in shmem_create()
2950 static int shmem_link(struct dentry *old_dentry, struct inode *dir, struct dentry *dentry) in shmem_link()
2952 struct inode *inode = d_inode(old_dentry); in shmem_link() local
2962 if (inode->i_nlink) { in shmem_link()
2963 ret = shmem_reserve_inode(inode->i_sb); in shmem_link()
2969 inode->i_ctime = dir->i_ctime = dir->i_mtime = current_time(inode); in shmem_link()
2970 inc_nlink(inode); in shmem_link()
2971 ihold(inode); /* New dentry reference */ in shmem_link()
2973 d_instantiate(dentry, inode); in shmem_link()
2978 static int shmem_unlink(struct inode *dir, struct dentry *dentry) in shmem_unlink()
2980 struct inode *inode = d_inode(dentry); in shmem_unlink() local
2982 if (inode->i_nlink > 1 && !S_ISDIR(inode->i_mode)) in shmem_unlink()
2983 shmem_free_inode(inode->i_sb); in shmem_unlink()
2986 inode->i_ctime = dir->i_ctime = dir->i_mtime = current_time(inode); in shmem_unlink()
2987 drop_nlink(inode); in shmem_unlink()
2992 static int shmem_rmdir(struct inode *dir, struct dentry *dentry) in shmem_rmdir()
3002 static int shmem_exchange(struct inode *old_dir, struct dentry *old_dentry, struct inode *new_dir, … in shmem_exchange()
3024 static int shmem_whiteout(struct inode *old_dir, struct dentry *old_dentry) in shmem_whiteout()
3056 static int shmem_rename2(struct inode *old_dir, struct dentry *old_dentry, struct inode *new_dir, s… in shmem_rename2()
3058 struct inode *inode = d_inode(old_dentry); in shmem_rename2() local
3059 int they_are_dirs = S_ISDIR(inode->i_mode); in shmem_rename2()
3093 inode->i_ctime = current_time(old_dir); in shmem_rename2()
3097 static int shmem_symlink(struct inode *dir, struct dentry *dentry, const char *symname) in shmem_symlink()
3101 struct inode *inode; in shmem_symlink() local
3108 inode = shmem_get_inode(dir->i_sb, dir, S_IFLNK | 0777, 0, in shmem_symlink()
3110 if (!inode) in shmem_symlink()
3113 error = security_inode_init_security(inode, dir, &dentry->d_name, in shmem_symlink()
3117 iput(inode); in shmem_symlink()
3123 inode->i_size = len-1; in shmem_symlink()
3125 inode->i_link = kmemdup(symname, len, GFP_KERNEL); in shmem_symlink()
3126 if (!inode->i_link) { in shmem_symlink()
3127 iput(inode); in shmem_symlink()
3130 inode->i_op = &shmem_short_symlink_operations; in shmem_symlink()
3132 inode_nohighmem(inode); in shmem_symlink()
3133 error = shmem_getpage(inode, 0, &page, SGP_WRITE); in shmem_symlink()
3135 iput(inode); in shmem_symlink()
3138 inode->i_mapping->a_ops = &shmem_aops; in shmem_symlink()
3139 inode->i_op = &shmem_symlink_inode_operations; in shmem_symlink()
3148 d_instantiate(dentry, inode); in shmem_symlink()
3160 struct inode *inode, in shmem_get_link() argument
3166 page = find_get_page(inode->i_mapping, 0); in shmem_get_link()
3174 error = shmem_getpage(inode, 0, &page, SGP_READ); in shmem_get_link()
3194 static int shmem_initxattrs(struct inode *inode, in shmem_initxattrs() argument
3198 struct shmem_inode_info *info = SHMEM_I(inode); in shmem_initxattrs()
3228 struct dentry *unused, struct inode *inode, in shmem_xattr_handler_get() argument
3232 struct shmem_inode_info *info = SHMEM_I(inode); in shmem_xattr_handler_get()
3239 struct dentry *unused, struct inode *inode, in shmem_xattr_handler_set() argument
3243 struct shmem_inode_info *info = SHMEM_I(inode); in shmem_xattr_handler_set()
3297 static int shmem_match(struct inode *ino, void *vfh) in shmem_match()
3306 static struct dentry *shmem_find_alias(struct inode *inode) in shmem_find_alias() argument
3308 struct dentry *alias = d_find_alias(inode); in shmem_find_alias()
3310 return alias ?: d_find_any_alias(inode); in shmem_find_alias()
3317 struct inode *inode; in shmem_fh_to_dentry() local
3327 inode = ilookup5(sb, (unsigned long)(inum + fid->raw[0]), in shmem_fh_to_dentry()
3329 if (inode) { in shmem_fh_to_dentry()
3330 dentry = shmem_find_alias(inode); in shmem_fh_to_dentry()
3331 iput(inode); in shmem_fh_to_dentry()
3337 static int shmem_encode_fh(struct inode *inode, __u32 *fh, int *len, in shmem_encode_fh() argument
3338 struct inode *parent) in shmem_encode_fh()
3345 if (inode_unhashed(inode)) { in shmem_encode_fh()
3353 if (inode_unhashed(inode)) in shmem_encode_fh()
3354 __insert_inode_hash(inode, in shmem_encode_fh()
3355 inode->i_ino + inode->i_generation); in shmem_encode_fh()
3359 fh[0] = inode->i_generation; in shmem_encode_fh()
3360 fh[1] = inode->i_ino; in shmem_encode_fh()
3361 fh[2] = ((__u64)inode->i_ino) >> 32; in shmem_encode_fh()
3634 struct inode *inode; in shmem_fill_super() local
3694 inode = shmem_get_inode(sb, NULL, S_IFDIR | sbinfo->mode, 0, VM_NORESERVE); in shmem_fill_super()
3695 if (!inode) in shmem_fill_super()
3697 inode->i_uid = sbinfo->uid; in shmem_fill_super()
3698 inode->i_gid = sbinfo->gid; in shmem_fill_super()
3699 sb->s_root = d_make_root(inode); in shmem_fill_super()
3736 static struct inode *shmem_alloc_inode(struct super_block *sb) in shmem_alloc_inode()
3745 static void shmem_free_in_core_inode(struct inode *inode) in shmem_free_in_core_inode() argument
3747 if (S_ISLNK(inode->i_mode)) in shmem_free_in_core_inode()
3748 kfree(inode->i_link); in shmem_free_in_core_inode()
3749 kmem_cache_free(shmem_inode_cachep, SHMEM_I(inode)); in shmem_free_in_core_inode()
3752 static void shmem_destroy_inode(struct inode *inode) in shmem_destroy_inode() argument
3754 if (S_ISREG(inode->i_mode)) in shmem_destroy_inode()
3755 mpol_free_shared_policy(&SHMEM_I(inode)->policy); in shmem_destroy_inode()
3990 struct inode *inode = file_inode(vma->vm_file); in shmem_huge_enabled() local
3991 struct shmem_sb_info *sbinfo = SHMEM_SB(inode->i_sb); in shmem_huge_enabled()
4009 i_size = round_up(i_size_read(inode), PAGE_SIZE); in shmem_huge_enabled()
4077 void shmem_truncate_range(struct inode *inode, loff_t lstart, loff_t lend) in shmem_truncate_range() argument
4079 truncate_inode_pages_range(inode->i_mapping, lstart, lend); in shmem_truncate_range()
4096 struct inode *inode; in __shmem_file_setup() local
4108 inode = shmem_get_inode(mnt->mnt_sb, NULL, S_IFREG | S_IRWXUGO, 0, in __shmem_file_setup()
4110 if (unlikely(!inode)) { in __shmem_file_setup()
4114 inode->i_flags |= i_flags; in __shmem_file_setup()
4115 inode->i_size = size; in __shmem_file_setup()
4116 clear_nlink(inode); /* It is unlinked */ in __shmem_file_setup()
4117 res = ERR_PTR(ramfs_nommu_expand_for_mapping(inode, size)); in __shmem_file_setup()
4119 res = alloc_file_pseudo(inode, mnt, name, O_RDWR, in __shmem_file_setup()
4122 iput(inode); in __shmem_file_setup()
4219 struct inode *inode = mapping->host; in shmem_read_mapping_page_gfp() local
4224 error = shmem_getpage_gfp(inode, index, &page, SGP_CACHE, in shmem_read_mapping_page_gfp()