Lines Matching refs:inode
69 static int ocfs2_read_locked_inode(struct inode *inode,
71 static int ocfs2_init_locked_inode(struct inode *inode, void *opaque);
72 static int ocfs2_find_actor(struct inode *inode, void *opaque);
74 struct inode *inode,
77 void ocfs2_set_inode_flags(struct inode *inode) in ocfs2_set_inode_flags() argument
79 unsigned int flags = OCFS2_I(inode)->ip_attr; in ocfs2_set_inode_flags()
81 inode->i_flags &= ~(S_IMMUTABLE | in ocfs2_set_inode_flags()
85 inode->i_flags |= S_IMMUTABLE; in ocfs2_set_inode_flags()
88 inode->i_flags |= S_SYNC; in ocfs2_set_inode_flags()
90 inode->i_flags |= S_APPEND; in ocfs2_set_inode_flags()
92 inode->i_flags |= S_NOATIME; in ocfs2_set_inode_flags()
94 inode->i_flags |= S_DIRSYNC; in ocfs2_set_inode_flags()
116 struct inode *ocfs2_ilookup(struct super_block *sb, u64 blkno) in ocfs2_ilookup()
127 struct inode *ocfs2_iget(struct ocfs2_super *osb, u64 blkno, unsigned flags, in ocfs2_iget()
130 struct inode *inode = NULL; in ocfs2_iget() local
142 inode = ERR_PTR(-EINVAL); in ocfs2_iget()
143 mlog_errno(PTR_ERR(inode)); in ocfs2_iget()
152 inode = iget5_locked(sb, args.fi_ino, ocfs2_find_actor, in ocfs2_iget()
157 if (inode == NULL) { in ocfs2_iget()
158 inode = ERR_PTR(-ENOMEM); in ocfs2_iget()
159 mlog_errno(PTR_ERR(inode)); in ocfs2_iget()
162 trace_ocfs2_iget5_locked(inode->i_state); in ocfs2_iget()
163 if (inode->i_state & I_NEW) { in ocfs2_iget()
164 ocfs2_read_locked_inode(inode, &args); in ocfs2_iget()
165 unlock_new_inode(inode); in ocfs2_iget()
167 if (is_bad_inode(inode)) { in ocfs2_iget()
168 iput(inode); in ocfs2_iget()
169 inode = ERR_PTR(-ESTALE); in ocfs2_iget()
183 struct ocfs2_inode_info *oi = OCFS2_I(inode); in ocfs2_iget()
200 if (!IS_ERR(inode)) { in ocfs2_iget()
201 trace_ocfs2_iget_end(inode, in ocfs2_iget()
202 (unsigned long long)OCFS2_I(inode)->ip_blkno); in ocfs2_iget()
205 return inode; in ocfs2_iget()
216 static int ocfs2_find_actor(struct inode *inode, void *opaque) in ocfs2_find_actor() argument
219 struct ocfs2_inode_info *oi = OCFS2_I(inode); in ocfs2_find_actor()
224 mlog_bug_on_msg(!inode, "No inode in find actor!\n"); in ocfs2_find_actor()
226 trace_ocfs2_find_actor(inode, inode->i_ino, opaque, args->fi_blkno); in ocfs2_find_actor()
241 static int ocfs2_init_locked_inode(struct inode *inode, void *opaque) in ocfs2_init_locked_inode() argument
247 inode->i_ino = args->fi_ino; in ocfs2_init_locked_inode()
248 OCFS2_I(inode)->ip_blkno = args->fi_blkno; in ocfs2_init_locked_inode()
250 lockdep_set_class(&inode->i_mutex, in ocfs2_init_locked_inode()
256 lockdep_set_class(&OCFS2_I(inode)->ip_alloc_sem, in ocfs2_init_locked_inode()
259 lockdep_set_class(&OCFS2_I(inode)->ip_alloc_sem, in ocfs2_init_locked_inode()
265 void ocfs2_populate_inode(struct inode *inode, struct ocfs2_dinode *fe, in ocfs2_populate_inode() argument
272 sb = inode->i_sb; in ocfs2_populate_inode()
291 OCFS2_I(inode)->ip_clusters = le32_to_cpu(fe->i_clusters); in ocfs2_populate_inode()
292 OCFS2_I(inode)->ip_attr = le32_to_cpu(fe->i_attr); in ocfs2_populate_inode()
293 OCFS2_I(inode)->ip_dyn_features = le16_to_cpu(fe->i_dyn_features); in ocfs2_populate_inode()
295 inode->i_version = 1; in ocfs2_populate_inode()
296 inode->i_generation = le32_to_cpu(fe->i_generation); in ocfs2_populate_inode()
297 inode->i_rdev = huge_decode_dev(le64_to_cpu(fe->id1.dev1.i_rdev)); in ocfs2_populate_inode()
298 inode->i_mode = le16_to_cpu(fe->i_mode); in ocfs2_populate_inode()
299 i_uid_write(inode, le32_to_cpu(fe->i_uid)); in ocfs2_populate_inode()
300 i_gid_write(inode, le32_to_cpu(fe->i_gid)); in ocfs2_populate_inode()
303 if (S_ISLNK(inode->i_mode) && !fe->i_clusters) { in ocfs2_populate_inode()
304 inode->i_blocks = 0; in ocfs2_populate_inode()
305 inode->i_mapping->a_ops = &ocfs2_fast_symlink_aops; in ocfs2_populate_inode()
307 inode->i_blocks = ocfs2_inode_sector_count(inode); in ocfs2_populate_inode()
308 inode->i_mapping->a_ops = &ocfs2_aops; in ocfs2_populate_inode()
310 inode->i_atime.tv_sec = le64_to_cpu(fe->i_atime); in ocfs2_populate_inode()
311 inode->i_atime.tv_nsec = le32_to_cpu(fe->i_atime_nsec); in ocfs2_populate_inode()
312 inode->i_mtime.tv_sec = le64_to_cpu(fe->i_mtime); in ocfs2_populate_inode()
313 inode->i_mtime.tv_nsec = le32_to_cpu(fe->i_mtime_nsec); in ocfs2_populate_inode()
314 inode->i_ctime.tv_sec = le64_to_cpu(fe->i_ctime); in ocfs2_populate_inode()
315 inode->i_ctime.tv_nsec = le32_to_cpu(fe->i_ctime_nsec); in ocfs2_populate_inode()
317 if (OCFS2_I(inode)->ip_blkno != le64_to_cpu(fe->i_blkno)) in ocfs2_populate_inode()
320 (unsigned long long)OCFS2_I(inode)->ip_blkno, in ocfs2_populate_inode()
323 set_nlink(inode, ocfs2_read_links_count(fe)); in ocfs2_populate_inode()
325 trace_ocfs2_populate_inode(OCFS2_I(inode)->ip_blkno, in ocfs2_populate_inode()
328 OCFS2_I(inode)->ip_flags |= OCFS2_INODE_SYSTEM_FILE; in ocfs2_populate_inode()
329 inode->i_flags |= S_NOQUOTA; in ocfs2_populate_inode()
333 OCFS2_I(inode)->ip_flags |= OCFS2_INODE_BITMAP; in ocfs2_populate_inode()
335 OCFS2_I(inode)->ip_flags |= OCFS2_INODE_BITMAP; in ocfs2_populate_inode()
337 inode->i_flags |= S_NOQUOTA; in ocfs2_populate_inode()
344 switch (inode->i_mode & S_IFMT) { in ocfs2_populate_inode()
347 inode->i_fop = &ocfs2_fops; in ocfs2_populate_inode()
349 inode->i_fop = &ocfs2_fops_no_plocks; in ocfs2_populate_inode()
350 inode->i_op = &ocfs2_file_iops; in ocfs2_populate_inode()
351 i_size_write(inode, le64_to_cpu(fe->i_size)); in ocfs2_populate_inode()
354 inode->i_op = &ocfs2_dir_iops; in ocfs2_populate_inode()
356 inode->i_fop = &ocfs2_dops; in ocfs2_populate_inode()
358 inode->i_fop = &ocfs2_dops_no_plocks; in ocfs2_populate_inode()
359 i_size_write(inode, le64_to_cpu(fe->i_size)); in ocfs2_populate_inode()
360 OCFS2_I(inode)->ip_dir_lock_gen = 1; in ocfs2_populate_inode()
363 inode->i_op = &ocfs2_symlink_inode_operations; in ocfs2_populate_inode()
364 i_size_write(inode, le64_to_cpu(fe->i_size)); in ocfs2_populate_inode()
367 inode->i_op = &ocfs2_special_file_iops; in ocfs2_populate_inode()
368 init_special_inode(inode, inode->i_mode, in ocfs2_populate_inode()
369 inode->i_rdev); in ocfs2_populate_inode()
374 inode->i_ino = ino_from_blkno(inode->i_sb, in ocfs2_populate_inode()
384 ocfs2_inode_lock_res_init(&OCFS2_I(inode)->ip_inode_lockres, in ocfs2_populate_inode()
385 OCFS2_LOCK_TYPE_META, 0, inode); in ocfs2_populate_inode()
387 ocfs2_inode_lock_res_init(&OCFS2_I(inode)->ip_open_lockres, in ocfs2_populate_inode()
388 OCFS2_LOCK_TYPE_OPEN, 0, inode); in ocfs2_populate_inode()
391 ocfs2_inode_lock_res_init(&OCFS2_I(inode)->ip_rw_lockres, in ocfs2_populate_inode()
392 OCFS2_LOCK_TYPE_RW, inode->i_generation, in ocfs2_populate_inode()
393 inode); in ocfs2_populate_inode()
395 ocfs2_set_inode_flags(inode); in ocfs2_populate_inode()
397 OCFS2_I(inode)->ip_last_used_slot = 0; in ocfs2_populate_inode()
398 OCFS2_I(inode)->ip_last_used_group = 0; in ocfs2_populate_inode()
400 if (S_ISDIR(inode->i_mode)) in ocfs2_populate_inode()
401 ocfs2_resv_set_type(&OCFS2_I(inode)->ip_la_data_resv, in ocfs2_populate_inode()
405 static int ocfs2_read_locked_inode(struct inode *inode, in ocfs2_read_locked_inode() argument
416 sb = inode->i_sb; in ocfs2_read_locked_inode()
453 (unsigned long long)OCFS2_I(inode)->ip_blkno, can_lock); in ocfs2_read_locked_inode()
465 ocfs2_inode_lock_res_init(&OCFS2_I(inode)->ip_inode_lockres, in ocfs2_read_locked_inode()
467 generation, inode); in ocfs2_read_locked_inode()
469 ocfs2_inode_lock_res_init(&OCFS2_I(inode)->ip_open_lockres, in ocfs2_read_locked_inode()
471 0, inode); in ocfs2_read_locked_inode()
474 status = ocfs2_open_lock(inode); in ocfs2_read_locked_inode()
476 make_bad_inode(inode); in ocfs2_read_locked_inode()
480 status = ocfs2_inode_lock(inode, NULL, 0); in ocfs2_read_locked_inode()
482 make_bad_inode(inode); in ocfs2_read_locked_inode()
489 status = ocfs2_try_open_lock(inode, 0); in ocfs2_read_locked_inode()
491 make_bad_inode(inode); in ocfs2_read_locked_inode()
497 status = ocfs2_read_inode_block_full(inode, &bh, in ocfs2_read_locked_inode()
528 inode->i_rdev = huge_decode_dev(le64_to_cpu(fe->id1.dev1.i_rdev)); in ocfs2_read_locked_inode()
530 ocfs2_populate_inode(inode, fe, 0); in ocfs2_read_locked_inode()
538 ocfs2_inode_unlock(inode, 0); in ocfs2_read_locked_inode()
541 make_bad_inode(inode); in ocfs2_read_locked_inode()
554 struct inode *inode, in ocfs2_truncate_for_delete() argument
568 if (ocfs2_should_order_data(inode)) in ocfs2_truncate_for_delete()
569 ocfs2_begin_ordered_truncate(inode, 0); in ocfs2_truncate_for_delete()
579 status = ocfs2_journal_access_di(handle, INODE_CACHE(inode), in ocfs2_truncate_for_delete()
587 i_size_write(inode, 0); in ocfs2_truncate_for_delete()
589 status = ocfs2_mark_inode_dirty(handle, inode, fe_bh); in ocfs2_truncate_for_delete()
598 status = ocfs2_commit_truncate(osb, inode, fe_bh); in ocfs2_truncate_for_delete()
611 static int ocfs2_remove_inode(struct inode *inode, in ocfs2_remove_inode() argument
613 struct inode *orphan_dir_inode, in ocfs2_remove_inode()
617 struct inode *inode_alloc_inode = NULL; in ocfs2_remove_inode()
620 struct ocfs2_super *osb = OCFS2_SB(inode->i_sb); in ocfs2_remove_inode()
642 ocfs2_quota_trans_credits(inode->i_sb)); in ocfs2_remove_inode()
649 if (!(OCFS2_I(inode)->ip_flags & OCFS2_INODE_SKIP_ORPHAN_DIR)) { in ocfs2_remove_inode()
650 status = ocfs2_orphan_del(osb, handle, orphan_dir_inode, inode, in ocfs2_remove_inode()
659 status = ocfs2_journal_access_di(handle, INODE_CACHE(inode), di_bh, in ocfs2_remove_inode()
670 ocfs2_remove_from_cache(INODE_CACHE(inode), di_bh); in ocfs2_remove_inode()
671 dquot_free_inode(inode); in ocfs2_remove_inode()
725 static int ocfs2_wipe_inode(struct inode *inode, in ocfs2_wipe_inode() argument
729 struct inode *orphan_dir_inode = NULL; in ocfs2_wipe_inode()
731 struct ocfs2_super *osb = OCFS2_SB(inode->i_sb); in ocfs2_wipe_inode()
734 if (!(OCFS2_I(inode)->ip_flags & OCFS2_INODE_SKIP_ORPHAN_DIR)) { in ocfs2_wipe_inode()
767 status = ocfs2_truncate_for_delete(osb, inode, di_bh); in ocfs2_wipe_inode()
774 if (S_ISDIR(inode->i_mode)) { in ocfs2_wipe_inode()
775 status = ocfs2_dx_dir_truncate(inode, di_bh); in ocfs2_wipe_inode()
783 status = ocfs2_xattr_remove(inode, di_bh); in ocfs2_wipe_inode()
789 status = ocfs2_remove_refcount_tree(inode, di_bh); in ocfs2_wipe_inode()
795 status = ocfs2_remove_inode(inode, di_bh, orphan_dir_inode, in ocfs2_wipe_inode()
801 if (OCFS2_I(inode)->ip_flags & OCFS2_INODE_SKIP_ORPHAN_DIR) in ocfs2_wipe_inode()
816 static int ocfs2_inode_is_valid_to_delete(struct inode *inode) in ocfs2_inode_is_valid_to_delete() argument
819 struct ocfs2_inode_info *oi = OCFS2_I(inode); in ocfs2_inode_is_valid_to_delete()
820 struct ocfs2_super *osb = OCFS2_SB(inode->i_sb); in ocfs2_inode_is_valid_to_delete()
828 if (inode == osb->root_inode) { in ocfs2_inode_is_valid_to_delete()
864 static int ocfs2_query_inode_wipe(struct inode *inode, in ocfs2_query_inode_wipe() argument
869 struct ocfs2_inode_info *oi = OCFS2_I(inode); in ocfs2_query_inode_wipe()
875 inode->i_nlink); in ocfs2_query_inode_wipe()
880 if (!ocfs2_inode_is_valid_to_delete(inode)) { in ocfs2_query_inode_wipe()
887 if (inode->i_nlink) in ocfs2_query_inode_wipe()
937 status = ocfs2_try_open_lock(inode, 1); in ocfs2_query_inode_wipe()
959 static void ocfs2_cleanup_delete_inode(struct inode *inode, in ocfs2_cleanup_delete_inode() argument
963 (unsigned long long)OCFS2_I(inode)->ip_blkno, sync_data); in ocfs2_cleanup_delete_inode()
965 filemap_write_and_wait(inode->i_mapping); in ocfs2_cleanup_delete_inode()
966 truncate_inode_pages_final(&inode->i_data); in ocfs2_cleanup_delete_inode()
969 static void ocfs2_delete_inode(struct inode *inode) in ocfs2_delete_inode() argument
976 trace_ocfs2_delete_inode(inode->i_ino, in ocfs2_delete_inode()
977 (unsigned long long)OCFS2_I(inode)->ip_blkno, in ocfs2_delete_inode()
978 is_bad_inode(inode)); in ocfs2_delete_inode()
983 if (is_bad_inode(inode) || !OCFS2_I(inode)->ip_blkno) in ocfs2_delete_inode()
986 if (!ocfs2_inode_is_valid_to_delete(inode)) { in ocfs2_delete_inode()
990 ocfs2_cleanup_delete_inode(inode, 0); in ocfs2_delete_inode()
994 dquot_initialize(inode); in ocfs2_delete_inode()
1007 status = ocfs2_nfs_sync_lock(OCFS2_SB(inode->i_sb), 0); in ocfs2_delete_inode()
1010 ocfs2_cleanup_delete_inode(inode, 0); in ocfs2_delete_inode()
1021 status = ocfs2_inode_lock(inode, &di_bh, 1); in ocfs2_delete_inode()
1025 ocfs2_cleanup_delete_inode(inode, 0); in ocfs2_delete_inode()
1033 ocfs2_cleanup_delete_inode(inode, 0); in ocfs2_delete_inode()
1039 status = ocfs2_query_inode_wipe(inode, di_bh, &wipe); in ocfs2_delete_inode()
1050 ocfs2_cleanup_delete_inode(inode, 1); in ocfs2_delete_inode()
1054 ocfs2_cleanup_delete_inode(inode, 0); in ocfs2_delete_inode()
1056 status = ocfs2_wipe_inode(inode, di_bh); in ocfs2_delete_inode()
1072 OCFS2_I(inode)->ip_flags |= OCFS2_INODE_DELETED; in ocfs2_delete_inode()
1075 ocfs2_inode_unlock(inode, 1); in ocfs2_delete_inode()
1079 ocfs2_nfs_sync_unlock(OCFS2_SB(inode->i_sb), 0); in ocfs2_delete_inode()
1087 static void ocfs2_clear_inode(struct inode *inode) in ocfs2_clear_inode() argument
1090 struct ocfs2_inode_info *oi = OCFS2_I(inode); in ocfs2_clear_inode()
1091 struct ocfs2_super *osb = OCFS2_SB(inode->i_sb); in ocfs2_clear_inode()
1093 clear_inode(inode); in ocfs2_clear_inode()
1095 inode->i_nlink); in ocfs2_clear_inode()
1097 mlog_bug_on_msg(OCFS2_SB(inode->i_sb) == NULL, in ocfs2_clear_inode()
1098 "Inode=%lu\n", inode->i_ino); in ocfs2_clear_inode()
1100 dquot_drop(inode); in ocfs2_clear_inode()
1104 ocfs2_open_unlock(inode); in ocfs2_clear_inode()
1112 ocfs2_resv_discard(&OCFS2_SB(inode->i_sb)->osb_la_resmap, in ocfs2_clear_inode()
1122 if (!(OCFS2_I(inode)->ip_flags & OCFS2_INODE_DELETED)) in ocfs2_clear_inode()
1123 ocfs2_checkpoint_inode(inode); in ocfs2_clear_inode()
1129 ocfs2_extent_map_trunc(inode, 0); in ocfs2_clear_inode()
1131 status = ocfs2_drop_inode_locks(inode); in ocfs2_clear_inode()
1139 ocfs2_metadata_cache_exit(INODE_CACHE(inode)); in ocfs2_clear_inode()
1141 mlog_bug_on_msg(INODE_CACHE(inode)->ci_num_cached, in ocfs2_clear_inode()
1144 INODE_CACHE(inode)->ci_num_cached); in ocfs2_clear_inode()
1146 mlog_bug_on_msg(!(INODE_CACHE(inode)->ci_flags & OCFS2_CACHE_FL_INLINE), in ocfs2_clear_inode()
1182 jbd2_journal_release_jbd_inode(OCFS2_SB(inode->i_sb)->journal->j_journal, in ocfs2_clear_inode()
1186 void ocfs2_evict_inode(struct inode *inode) in ocfs2_evict_inode() argument
1188 if (!inode->i_nlink || in ocfs2_evict_inode()
1189 (OCFS2_I(inode)->ip_flags & OCFS2_INODE_MAYBE_ORPHANED)) { in ocfs2_evict_inode()
1190 ocfs2_delete_inode(inode); in ocfs2_evict_inode()
1192 truncate_inode_pages_final(&inode->i_data); in ocfs2_evict_inode()
1194 ocfs2_clear_inode(inode); in ocfs2_evict_inode()
1200 int ocfs2_drop_inode(struct inode *inode) in ocfs2_drop_inode() argument
1202 struct ocfs2_inode_info *oi = OCFS2_I(inode); in ocfs2_drop_inode()
1205 inode->i_nlink, oi->ip_flags); in ocfs2_drop_inode()
1207 assert_spin_locked(&inode->i_lock); in ocfs2_drop_inode()
1208 inode->i_state |= I_WILL_FREE; in ocfs2_drop_inode()
1209 spin_unlock(&inode->i_lock); in ocfs2_drop_inode()
1210 write_inode_now(inode, 1); in ocfs2_drop_inode()
1211 spin_lock(&inode->i_lock); in ocfs2_drop_inode()
1212 WARN_ON(inode->i_state & I_NEW); in ocfs2_drop_inode()
1213 inode->i_state &= ~I_WILL_FREE; in ocfs2_drop_inode()
1223 struct inode *inode = d_inode(dentry); in ocfs2_inode_revalidate() local
1226 trace_ocfs2_inode_revalidate(inode, in ocfs2_inode_revalidate()
1227 inode ? (unsigned long long)OCFS2_I(inode)->ip_blkno : 0ULL, in ocfs2_inode_revalidate()
1228 inode ? (unsigned long long)OCFS2_I(inode)->ip_flags : 0); in ocfs2_inode_revalidate()
1230 if (!inode) { in ocfs2_inode_revalidate()
1235 spin_lock(&OCFS2_I(inode)->ip_lock); in ocfs2_inode_revalidate()
1236 if (OCFS2_I(inode)->ip_flags & OCFS2_INODE_DELETED) { in ocfs2_inode_revalidate()
1237 spin_unlock(&OCFS2_I(inode)->ip_lock); in ocfs2_inode_revalidate()
1241 spin_unlock(&OCFS2_I(inode)->ip_lock); in ocfs2_inode_revalidate()
1245 status = ocfs2_inode_lock(inode, NULL, 0); in ocfs2_inode_revalidate()
1251 ocfs2_inode_unlock(inode, 0); in ocfs2_inode_revalidate()
1262 struct inode *inode, in ocfs2_mark_inode_dirty() argument
1268 trace_ocfs2_mark_inode_dirty((unsigned long long)OCFS2_I(inode)->ip_blkno); in ocfs2_mark_inode_dirty()
1270 status = ocfs2_journal_access_di(handle, INODE_CACHE(inode), bh, in ocfs2_mark_inode_dirty()
1277 spin_lock(&OCFS2_I(inode)->ip_lock); in ocfs2_mark_inode_dirty()
1278 fe->i_clusters = cpu_to_le32(OCFS2_I(inode)->ip_clusters); in ocfs2_mark_inode_dirty()
1279 ocfs2_get_inode_flags(OCFS2_I(inode)); in ocfs2_mark_inode_dirty()
1280 fe->i_attr = cpu_to_le32(OCFS2_I(inode)->ip_attr); in ocfs2_mark_inode_dirty()
1281 fe->i_dyn_features = cpu_to_le16(OCFS2_I(inode)->ip_dyn_features); in ocfs2_mark_inode_dirty()
1282 spin_unlock(&OCFS2_I(inode)->ip_lock); in ocfs2_mark_inode_dirty()
1284 fe->i_size = cpu_to_le64(i_size_read(inode)); in ocfs2_mark_inode_dirty()
1285 ocfs2_set_links_count(fe, inode->i_nlink); in ocfs2_mark_inode_dirty()
1286 fe->i_uid = cpu_to_le32(i_uid_read(inode)); in ocfs2_mark_inode_dirty()
1287 fe->i_gid = cpu_to_le32(i_gid_read(inode)); in ocfs2_mark_inode_dirty()
1288 fe->i_mode = cpu_to_le16(inode->i_mode); in ocfs2_mark_inode_dirty()
1289 fe->i_atime = cpu_to_le64(inode->i_atime.tv_sec); in ocfs2_mark_inode_dirty()
1290 fe->i_atime_nsec = cpu_to_le32(inode->i_atime.tv_nsec); in ocfs2_mark_inode_dirty()
1291 fe->i_ctime = cpu_to_le64(inode->i_ctime.tv_sec); in ocfs2_mark_inode_dirty()
1292 fe->i_ctime_nsec = cpu_to_le32(inode->i_ctime.tv_nsec); in ocfs2_mark_inode_dirty()
1293 fe->i_mtime = cpu_to_le64(inode->i_mtime.tv_sec); in ocfs2_mark_inode_dirty()
1294 fe->i_mtime_nsec = cpu_to_le32(inode->i_mtime.tv_nsec); in ocfs2_mark_inode_dirty()
1297 ocfs2_update_inode_fsync_trans(handle, inode, 1); in ocfs2_mark_inode_dirty()
1307 void ocfs2_refresh_inode(struct inode *inode, in ocfs2_refresh_inode() argument
1310 spin_lock(&OCFS2_I(inode)->ip_lock); in ocfs2_refresh_inode()
1312 OCFS2_I(inode)->ip_clusters = le32_to_cpu(fe->i_clusters); in ocfs2_refresh_inode()
1313 OCFS2_I(inode)->ip_attr = le32_to_cpu(fe->i_attr); in ocfs2_refresh_inode()
1314 OCFS2_I(inode)->ip_dyn_features = le16_to_cpu(fe->i_dyn_features); in ocfs2_refresh_inode()
1315 ocfs2_set_inode_flags(inode); in ocfs2_refresh_inode()
1316 i_size_write(inode, le64_to_cpu(fe->i_size)); in ocfs2_refresh_inode()
1317 set_nlink(inode, ocfs2_read_links_count(fe)); in ocfs2_refresh_inode()
1318 i_uid_write(inode, le32_to_cpu(fe->i_uid)); in ocfs2_refresh_inode()
1319 i_gid_write(inode, le32_to_cpu(fe->i_gid)); in ocfs2_refresh_inode()
1320 inode->i_mode = le16_to_cpu(fe->i_mode); in ocfs2_refresh_inode()
1321 if (S_ISLNK(inode->i_mode) && le32_to_cpu(fe->i_clusters) == 0) in ocfs2_refresh_inode()
1322 inode->i_blocks = 0; in ocfs2_refresh_inode()
1324 inode->i_blocks = ocfs2_inode_sector_count(inode); in ocfs2_refresh_inode()
1325 inode->i_atime.tv_sec = le64_to_cpu(fe->i_atime); in ocfs2_refresh_inode()
1326 inode->i_atime.tv_nsec = le32_to_cpu(fe->i_atime_nsec); in ocfs2_refresh_inode()
1327 inode->i_mtime.tv_sec = le64_to_cpu(fe->i_mtime); in ocfs2_refresh_inode()
1328 inode->i_mtime.tv_nsec = le32_to_cpu(fe->i_mtime_nsec); in ocfs2_refresh_inode()
1329 inode->i_ctime.tv_sec = le64_to_cpu(fe->i_ctime); in ocfs2_refresh_inode()
1330 inode->i_ctime.tv_nsec = le32_to_cpu(fe->i_ctime_nsec); in ocfs2_refresh_inode()
1332 spin_unlock(&OCFS2_I(inode)->ip_lock); in ocfs2_refresh_inode()
1399 int ocfs2_read_inode_block_full(struct inode *inode, struct buffer_head **bh, in ocfs2_read_inode_block_full() argument
1405 rc = ocfs2_read_blocks(INODE_CACHE(inode), OCFS2_I(inode)->ip_blkno, in ocfs2_read_inode_block_full()
1415 int ocfs2_read_inode_block(struct inode *inode, struct buffer_head **bh) in ocfs2_read_inode_block() argument
1417 return ocfs2_read_inode_block_full(inode, bh, 0); in ocfs2_read_inode_block()