Lines Matching refs:inode

139 static inline void copy_attributes_from_inode(struct inode *inode,  in copy_attributes_from_inode()  argument
142 struct orangefs_inode_s *orangefs_inode = ORANGEFS_I(inode); in copy_attributes_from_inode()
145 attrs->owner = from_kuid(&init_user_ns, inode->i_uid); in copy_attributes_from_inode()
150 attrs->group = from_kgid(&init_user_ns, inode->i_gid); in copy_attributes_from_inode()
158 attrs->atime = (time64_t)inode->i_atime.tv_sec; in copy_attributes_from_inode()
165 attrs->mtime = (time64_t)inode->i_mtime.tv_sec; in copy_attributes_from_inode()
179 attrs->perms = ORANGEFS_util_translate_mode(inode->i_mode); in copy_attributes_from_inode()
196 static void orangefs_make_bad_inode(struct inode *inode) in orangefs_make_bad_inode() argument
198 if (is_root_handle(inode)) { in orangefs_make_bad_inode()
206 get_khandle_from_ino(inode)); in orangefs_make_bad_inode()
210 get_khandle_from_ino(inode)); in orangefs_make_bad_inode()
211 make_bad_inode(inode); in orangefs_make_bad_inode()
215 static int orangefs_inode_is_stale(struct inode *inode, in orangefs_inode_is_stale() argument
218 struct orangefs_inode_s *orangefs_inode = ORANGEFS_I(inode); in orangefs_inode_is_stale()
224 if (type == -1 || inode_wrong_type(inode, type)) { in orangefs_inode_is_stale()
225 orangefs_make_bad_inode(inode); in orangefs_inode_is_stale()
230 orangefs_make_bad_inode(inode); in orangefs_inode_is_stale()
236 int orangefs_inode_getattr(struct inode *inode, int flags) in orangefs_inode_getattr() argument
238 struct orangefs_inode_s *orangefs_inode = ORANGEFS_I(inode); in orangefs_inode_getattr()
244 __func__, get_khandle_from_ino(inode), flags); in orangefs_inode_getattr()
247 spin_lock(&inode->i_lock); in orangefs_inode_getattr()
250 orangefs_inode->attr_valid || inode->i_state & I_DIRTY_PAGES) { in orangefs_inode_getattr()
252 spin_unlock(&inode->i_lock); in orangefs_inode_getattr()
253 write_inode_now(inode, 1); in orangefs_inode_getattr()
256 spin_unlock(&inode->i_lock); in orangefs_inode_getattr()
259 spin_unlock(&inode->i_lock); in orangefs_inode_getattr()
276 get_interruptible_flag(inode)); in orangefs_inode_getattr()
281 spin_lock(&inode->i_lock); in orangefs_inode_getattr()
284 orangefs_inode->attr_valid || inode->i_state & I_DIRTY_PAGES) { in orangefs_inode_getattr()
286 spin_unlock(&inode->i_lock); in orangefs_inode_getattr()
287 write_inode_now(inode, 1); in orangefs_inode_getattr()
290 if (inode->i_state & I_DIRTY_PAGES) { in orangefs_inode_getattr()
301 ret = orangefs_inode_is_stale(inode, in orangefs_inode_getattr()
314 inode->i_flags = orangefs_inode_flags(&new_op-> in orangefs_inode_getattr()
319 inode->i_size = inode_size; in orangefs_inode_getattr()
320 inode->i_blkbits = ffs(new_op->downcall.resp.getattr. in orangefs_inode_getattr()
322 inode->i_bytes = inode_size; in orangefs_inode_getattr()
323 inode->i_blocks = in orangefs_inode_getattr()
329 inode->i_size = PAGE_SIZE; in orangefs_inode_getattr()
330 inode_set_bytes(inode, inode->i_size); in orangefs_inode_getattr()
332 set_nlink(inode, 1); in orangefs_inode_getattr()
336 inode->i_size = (loff_t)strlen(new_op-> in orangefs_inode_getattr()
345 inode->i_link = orangefs_inode->link_target; in orangefs_inode_getattr()
351 orangefs_make_bad_inode(inode); in orangefs_inode_getattr()
356 inode->i_uid = make_kuid(&init_user_ns, new_op-> in orangefs_inode_getattr()
358 inode->i_gid = make_kgid(&init_user_ns, new_op-> in orangefs_inode_getattr()
360 inode->i_atime.tv_sec = (time64_t)new_op-> in orangefs_inode_getattr()
362 inode->i_mtime.tv_sec = (time64_t)new_op-> in orangefs_inode_getattr()
364 inode_set_ctime(inode, in orangefs_inode_getattr()
367 inode->i_atime.tv_nsec = 0; in orangefs_inode_getattr()
368 inode->i_mtime.tv_nsec = 0; in orangefs_inode_getattr()
371 inode->i_mode = type | (is_root_handle(inode) ? S_ISVTX : 0) | in orangefs_inode_getattr()
378 spin_unlock(&inode->i_lock); in orangefs_inode_getattr()
384 int orangefs_inode_check_changed(struct inode *inode) in orangefs_inode_check_changed() argument
386 struct orangefs_inode_s *orangefs_inode = ORANGEFS_I(inode); in orangefs_inode_check_changed()
391 get_khandle_from_ino(inode)); in orangefs_inode_check_changed()
401 get_interruptible_flag(inode)); in orangefs_inode_check_changed()
405 ret = orangefs_inode_is_stale(inode, in orangefs_inode_check_changed()
417 int orangefs_inode_setattr(struct inode *inode) in orangefs_inode_setattr() argument
419 struct orangefs_inode_s *orangefs_inode = ORANGEFS_I(inode); in orangefs_inode_setattr()
427 spin_lock(&inode->i_lock); in orangefs_inode_setattr()
431 copy_attributes_from_inode(inode, in orangefs_inode_setattr()
435 spin_unlock(&inode->i_lock); in orangefs_inode_setattr()
439 spin_unlock(&inode->i_lock); in orangefs_inode_setattr()
442 get_interruptible_flag(inode) | ORANGEFS_OP_WRITEBACK); in orangefs_inode_setattr()
446 orangefs_make_bad_inode(inode); in orangefs_inode_setattr()