Lines Matching refs:inode

22 	struct inode *inode = page->mapping->host;  in orangefs_writepage_locked()  local
32 len = i_size_read(inode); in orangefs_writepage_locked()
56 ret = wait_for_direct_io(ORANGEFS_IO_WRITE, inode, &off, &iter, wlen, in orangefs_writepage_locked()
91 struct inode *inode = ow->pages[0]->mapping->host; in orangefs_writepages_work() local
99 len = i_size_read(inode); in orangefs_writepages_work()
118 ret = wait_for_direct_io(ORANGEFS_IO_WRITE, inode, &off, &iter, ow->len, in orangefs_writepages_work()
245 struct inode *inode = rac->mapping->host; in orangefs_readahead() local
252 loff_t bytes_remaining = inode->i_size - readahead_pos(rac); in orangefs_readahead()
269 if ((ret = wait_for_direct_io(ORANGEFS_IO_READ, inode, in orangefs_readahead()
271 inode->i_size, NULL, NULL, rac->file)) < 0) in orangefs_readahead()
287 struct inode *inode = folio->mapping->host; in orangefs_read_folio() local
300 ret = wait_for_direct_io(ORANGEFS_IO_READ, inode, &off, &iter, in orangefs_read_folio()
301 folio_size(folio), inode->i_size, NULL, NULL, file); in orangefs_read_folio()
377 struct inode *inode = page->mapping->host; in orangefs_write_end() local
384 if (last_pos > inode->i_size) in orangefs_write_end()
385 i_size_write(inode, last_pos); in orangefs_write_end()
395 (len == PAGE_SIZE || pos + len == inode->i_size)) { in orangefs_write_end()
519 struct inode *inode = file->f_mapping->host; in orangefs_direct_IO() local
520 struct orangefs_inode_s *orangefs_inode = ORANGEFS_I(inode); in orangefs_direct_IO()
566 ret = wait_for_direct_io(type, inode, offset, iter, in orangefs_direct_IO()
603 if (*offset > i_size_read(inode)) in orangefs_direct_IO()
604 i_size_write(inode, *offset); in orangefs_direct_IO()
636 struct inode *inode = file_inode(vmf->vma->vm_file); in orangefs_page_mkwrite() local
637 struct orangefs_inode_s *orangefs_inode = ORANGEFS_I(inode); in orangefs_page_mkwrite()
642 sb_start_pagefault(inode->i_sb); in orangefs_page_mkwrite()
688 if (folio->mapping != inode->i_mapping) { in orangefs_page_mkwrite()
703 sb_end_pagefault(inode->i_sb); in orangefs_page_mkwrite()
707 static int orangefs_setattr_size(struct inode *inode, struct iattr *iattr) in orangefs_setattr_size() argument
709 struct orangefs_inode_s *orangefs_inode = ORANGEFS_I(inode); in orangefs_setattr_size()
717 get_khandle_from_ino(inode), in orangefs_setattr_size()
723 ret = orangefs_inode_getattr(inode, ORANGEFS_GETATTR_SIZE); in orangefs_setattr_size()
731 orig_size = i_size_read(inode); in orangefs_setattr_size()
734 truncate_pagecache(inode, iattr->ia_size); in orangefs_setattr_size()
735 i_size_write(inode, iattr->ia_size); in orangefs_setattr_size()
737 pagecache_isize_extended(inode, orig_size, iattr->ia_size); in orangefs_setattr_size()
748 get_interruptible_flag(inode)); in orangefs_setattr_size()
761 if (orig_size != i_size_read(inode)) in orangefs_setattr_size()
767 int __orangefs_setattr(struct inode *inode, struct iattr *iattr) in __orangefs_setattr() argument
773 if (is_root_handle(inode)) { in __orangefs_setattr()
796 ret = orangefs_setattr_size(inode, iattr); in __orangefs_setattr()
802 spin_lock(&inode->i_lock); in __orangefs_setattr()
803 if (ORANGEFS_I(inode)->attr_valid) { in __orangefs_setattr()
804 if (uid_eq(ORANGEFS_I(inode)->attr_uid, current_fsuid()) && in __orangefs_setattr()
805 gid_eq(ORANGEFS_I(inode)->attr_gid, current_fsgid())) { in __orangefs_setattr()
806 ORANGEFS_I(inode)->attr_valid = iattr->ia_valid; in __orangefs_setattr()
808 spin_unlock(&inode->i_lock); in __orangefs_setattr()
809 write_inode_now(inode, 1); in __orangefs_setattr()
813 ORANGEFS_I(inode)->attr_valid = iattr->ia_valid; in __orangefs_setattr()
814 ORANGEFS_I(inode)->attr_uid = current_fsuid(); in __orangefs_setattr()
815 ORANGEFS_I(inode)->attr_gid = current_fsgid(); in __orangefs_setattr()
817 setattr_copy(&nop_mnt_idmap, inode, iattr); in __orangefs_setattr()
818 spin_unlock(&inode->i_lock); in __orangefs_setattr()
819 mark_inode_dirty(inode); in __orangefs_setattr()
829 struct inode *inode = d_inode(dentry); in __orangefs_setattr_mode() local
831 ret = __orangefs_setattr(inode, iattr); in __orangefs_setattr_mode()
834 ret = posix_acl_chmod(&nop_mnt_idmap, dentry, inode->i_mode); in __orangefs_setattr_mode()
865 struct inode *inode = path->dentry->d_inode; in orangefs_getattr() local
871 ret = orangefs_inode_getattr(inode, in orangefs_getattr()
874 generic_fillattr(&nop_mnt_idmap, request_mask, inode, stat); in orangefs_getattr()
880 generic_fill_statx_attr(inode, stat); in orangefs_getattr()
886 struct inode *inode, int mask) in orangefs_permission() argument
896 ret = orangefs_inode_getattr(inode, 0); in orangefs_permission()
900 return generic_permission(&nop_mnt_idmap, inode, mask); in orangefs_permission()
903 int orangefs_update_time(struct inode *inode, int flags) in orangefs_update_time() argument
908 get_khandle_from_ino(inode)); in orangefs_update_time()
909 flags = generic_update_time(inode, flags); in orangefs_update_time()
917 return __orangefs_setattr(inode, &iattr); in orangefs_update_time()
980 static int orangefs_init_iops(struct inode *inode) in orangefs_init_iops() argument
982 inode->i_mapping->a_ops = &orangefs_address_operations; in orangefs_init_iops()
984 switch (inode->i_mode & S_IFMT) { in orangefs_init_iops()
986 inode->i_op = &orangefs_file_inode_operations; in orangefs_init_iops()
987 inode->i_fop = &orangefs_file_operations; in orangefs_init_iops()
990 inode->i_op = &orangefs_symlink_inode_operations; in orangefs_init_iops()
993 inode->i_op = &orangefs_dir_inode_operations; in orangefs_init_iops()
994 inode->i_fop = &orangefs_dir_operations; in orangefs_init_iops()
1021 static int orangefs_set_inode(struct inode *inode, void *data) in orangefs_set_inode() argument
1024 ORANGEFS_I(inode)->refn.fs_id = ref->fs_id; in orangefs_set_inode()
1025 ORANGEFS_I(inode)->refn.khandle = ref->khandle; in orangefs_set_inode()
1026 ORANGEFS_I(inode)->attr_valid = 0; in orangefs_set_inode()
1027 hash_init(ORANGEFS_I(inode)->xattr_cache); in orangefs_set_inode()
1028 ORANGEFS_I(inode)->mapping_time = jiffies - 1; in orangefs_set_inode()
1029 ORANGEFS_I(inode)->bitlock = 0; in orangefs_set_inode()
1036 static int orangefs_test_inode(struct inode *inode, void *data) in orangefs_test_inode() argument
1041 orangefs_inode = ORANGEFS_I(inode); in orangefs_test_inode()
1055 struct inode *orangefs_iget(struct super_block *sb, in orangefs_iget()
1058 struct inode *inode = NULL; in orangefs_iget() local
1063 inode = iget5_locked(sb, in orangefs_iget()
1069 if (!inode) in orangefs_iget()
1072 if (!(inode->i_state & I_NEW)) in orangefs_iget()
1073 return inode; in orangefs_iget()
1075 error = orangefs_inode_getattr(inode, ORANGEFS_GETATTR_NEW); in orangefs_iget()
1077 iget_failed(inode); in orangefs_iget()
1081 inode->i_ino = hash; /* needed for stat etc */ in orangefs_iget()
1082 orangefs_init_iops(inode); in orangefs_iget()
1083 unlock_new_inode(inode); in orangefs_iget()
1090 inode->i_ino); in orangefs_iget()
1092 return inode; in orangefs_iget()
1098 struct inode *orangefs_new_inode(struct super_block *sb, struct inode *dir, in orangefs_new_inode()
1103 struct inode *inode; in orangefs_new_inode() local
1114 inode = new_inode(sb); in orangefs_new_inode()
1115 if (!inode) in orangefs_new_inode()
1122 orangefs_set_inode(inode, ref); in orangefs_new_inode()
1123 inode->i_ino = hash; /* needed for stat etc */ in orangefs_new_inode()
1125 error = orangefs_inode_getattr(inode, ORANGEFS_GETATTR_NEW); in orangefs_new_inode()
1129 orangefs_init_iops(inode); in orangefs_new_inode()
1130 inode->i_rdev = dev; in orangefs_new_inode()
1133 error = __orangefs_set_acl(inode, default_acl, in orangefs_new_inode()
1140 error = __orangefs_set_acl(inode, acl, ACL_TYPE_ACCESS); in orangefs_new_inode()
1145 error = insert_inode_locked4(inode, hash, orangefs_test_inode, ref); in orangefs_new_inode()
1151 get_khandle_from_ino(inode)); in orangefs_new_inode()
1152 if (mode != inode->i_mode) { in orangefs_new_inode()
1157 inode->i_mode = mode; in orangefs_new_inode()
1158 __orangefs_setattr(inode, &iattr); in orangefs_new_inode()
1159 __posix_acl_chmod(&acl, GFP_KERNEL, inode->i_mode); in orangefs_new_inode()
1163 return inode; in orangefs_new_inode()
1166 iput(inode); in orangefs_new_inode()