Lines Matching refs:ip

109 	struct gfs2_inode *ip = GFS2_I(jd->jd_inode);  in gfs2_jdesc_check()  local
118 if (gfs2_write_alloc_required(ip, 0, size)) { in gfs2_jdesc_check()
119 gfs2_consist_inode(ip); in gfs2_jdesc_check()
135 struct gfs2_inode *ip = GFS2_I(sdp->sd_jdesc->jd_inode); in gfs2_make_fs_rw() local
136 struct gfs2_glock *j_gl = ip->i_gl; in gfs2_make_fs_rw()
334 struct gfs2_inode *ip; in gfs2_lock_fs_check_clean() local
352 ip = GFS2_I(jd->jd_inode); in gfs2_lock_fs_check_clean()
353 error = gfs2_glock_nq_init(ip->i_gl, LM_ST_SHARED, 0, &lfcc->gh); in gfs2_lock_fs_check_clean()
401 void gfs2_dinode_out(const struct gfs2_inode *ip, void *buf) in gfs2_dinode_out() argument
403 const struct inode *inode = &ip->i_inode; in gfs2_dinode_out()
409 str->di_num.no_addr = cpu_to_be64(ip->i_no_addr); in gfs2_dinode_out()
410 str->di_num.no_formal_ino = cpu_to_be64(ip->i_no_formal_ino); in gfs2_dinode_out()
421 str->di_goal_meta = cpu_to_be64(ip->i_goal); in gfs2_dinode_out()
422 str->di_goal_data = cpu_to_be64(ip->i_goal); in gfs2_dinode_out()
423 str->di_generation = cpu_to_be64(ip->i_generation); in gfs2_dinode_out()
425 str->di_flags = cpu_to_be32(ip->i_diskflags); in gfs2_dinode_out()
426 str->di_height = cpu_to_be16(ip->i_height); in gfs2_dinode_out()
428 !(ip->i_diskflags & GFS2_DIF_EXHASH) ? in gfs2_dinode_out()
430 str->di_depth = cpu_to_be16(ip->i_depth); in gfs2_dinode_out()
431 str->di_entries = cpu_to_be32(ip->i_entries); in gfs2_dinode_out()
433 str->di_eattr = cpu_to_be64(ip->i_eattr); in gfs2_dinode_out()
449 struct gfs2_inode *ip = GFS2_I(inode); in gfs2_write_inode() local
451 struct address_space *metamapping = gfs2_glock2aspace(ip->i_gl); in gfs2_write_inode()
454 bool flush_all = (wbc->sync_mode == WB_SYNC_ALL || gfs2_is_jdata(ip)); in gfs2_write_inode()
457 gfs2_log_flush(GFS2_SB(inode), ip->i_gl, in gfs2_write_inode()
471 gfs2_ordered_del_inode(ip); in gfs2_write_inode()
492 struct gfs2_inode *ip = GFS2_I(inode); in gfs2_dirty_inode() local
500 if (unlikely(!ip->i_gl)) { in gfs2_dirty_inode()
502 BUG_ON(!test_bit(GIF_ALLOC_FAILED, &ip->i_flags)); in gfs2_dirty_inode()
508 if (!gfs2_glock_is_locked_by_me(ip->i_gl)) { in gfs2_dirty_inode()
509 ret = gfs2_glock_nq_init(ip->i_gl, LM_ST_EXCLUSIVE, 0, &gh); in gfs2_dirty_inode()
512 gfs2_dump_glock(NULL, ip->i_gl, true); in gfs2_dirty_inode()
516 } else if (WARN_ON_ONCE(ip->i_gl->gl_state != LM_ST_EXCLUSIVE)) in gfs2_dirty_inode()
528 ret = gfs2_meta_inode_buffer(ip, &bh); in gfs2_dirty_inode()
530 gfs2_trans_add_meta(ip->i_gl, bh); in gfs2_dirty_inode()
531 gfs2_dinode_out(ip, bh->b_data); in gfs2_dirty_inode()
1035 struct gfs2_inode *ip = GFS2_I(inode); in gfs2_drop_inode() local
1039 gfs2_holder_initialized(&ip->i_iopen_gh)) { in gfs2_drop_inode()
1040 struct gfs2_glock *gl = ip->i_iopen_gh.gh_gl; in gfs2_drop_inode()
1052 gfs2_holder_initialized(&ip->i_iopen_gh)) { in gfs2_drop_inode()
1053 struct gfs2_glock *gl = ip->i_iopen_gh.gh_gl; in gfs2_drop_inode()
1194 static void gfs2_final_release_pages(struct gfs2_inode *ip) in gfs2_final_release_pages() argument
1196 struct inode *inode = &ip->i_inode; in gfs2_final_release_pages()
1197 struct gfs2_glock *gl = ip->i_gl; in gfs2_final_release_pages()
1201 BUG_ON(!test_bit(GIF_ALLOC_FAILED, &ip->i_flags)); in gfs2_final_release_pages()
1214 static int gfs2_dinode_dealloc(struct gfs2_inode *ip) in gfs2_dinode_dealloc() argument
1216 struct gfs2_sbd *sdp = GFS2_SB(&ip->i_inode); in gfs2_dinode_dealloc()
1221 if (gfs2_get_inode_blocks(&ip->i_inode) != 1) { in gfs2_dinode_dealloc()
1222 gfs2_consist_inode(ip); in gfs2_dinode_dealloc()
1228 error = gfs2_quota_hold(ip, NO_UID_QUOTA_CHANGE, NO_GID_QUOTA_CHANGE); in gfs2_dinode_dealloc()
1232 rgd = gfs2_blk2rgrpd(sdp, ip->i_no_addr, 1); in gfs2_dinode_dealloc()
1234 gfs2_consist_inode(ip); in gfs2_dinode_dealloc()
1249 gfs2_free_di(rgd, ip); in gfs2_dinode_dealloc()
1251 gfs2_final_release_pages(ip); in gfs2_dinode_dealloc()
1258 gfs2_quota_unhold(ip); in gfs2_dinode_dealloc()
1280 struct gfs2_inode *ip = GFS2_I(inode); in gfs2_upgrade_iopen_glock() local
1282 struct gfs2_holder *gh = &ip->i_iopen_gh; in gfs2_upgrade_iopen_glock()
1326 test_bit(GLF_DEMOTE, &ip->i_gl->gl_flags), in gfs2_upgrade_iopen_glock()
1348 struct gfs2_inode *ip = GFS2_I(inode); in evict_should_delete() local
1353 if (unlikely(test_bit(GIF_ALLOC_FAILED, &ip->i_flags))) in evict_should_delete()
1356 if (test_bit(GIF_DEFERRED_DELETE, &ip->i_flags)) in evict_should_delete()
1364 ret = gfs2_glock_nq_init(ip->i_gl, LM_ST_EXCLUSIVE, GL_SKIP, gh); in evict_should_delete()
1366 glock_clear_object(ip->i_iopen_gh.gh_gl, ip); in evict_should_delete()
1367 ip->i_iopen_gh.gh_flags |= GL_NOCACHE; in evict_should_delete()
1368 gfs2_glock_dq_uninit(&ip->i_iopen_gh); in evict_should_delete()
1372 if (gfs2_inode_already_deleted(ip->i_gl, ip->i_no_formal_ino)) in evict_should_delete()
1374 ret = gfs2_check_blk_type(sdp, ip->i_no_addr, GFS2_BLKST_UNLINKED); in evict_should_delete()
1389 if (gfs2_holder_initialized(&ip->i_iopen_gh) && in evict_should_delete()
1390 test_bit(HIF_HOLDER, &ip->i_iopen_gh.gh_iflags)) { in evict_should_delete()
1392 gfs2_holder_uninit(&ip->i_iopen_gh); in evict_should_delete()
1405 struct gfs2_inode *ip = GFS2_I(inode); in evict_unlinked_inode() local
1409 (ip->i_diskflags & GFS2_DIF_EXHASH)) { in evict_unlinked_inode()
1410 ret = gfs2_dir_exhash_dealloc(ip); in evict_unlinked_inode()
1415 if (ip->i_eattr) { in evict_unlinked_inode()
1416 ret = gfs2_ea_dealloc(ip); in evict_unlinked_inode()
1421 if (!gfs2_is_stuffed(ip)) { in evict_unlinked_inode()
1422 ret = gfs2_file_dealloc(ip); in evict_unlinked_inode()
1439 ret = gfs2_dinode_dealloc(ip); in evict_unlinked_inode()
1440 if (!ret && ip->i_gl) in evict_unlinked_inode()
1441 gfs2_inode_remember_delete(ip->i_gl, ip->i_no_formal_ino); in evict_unlinked_inode()
1455 struct gfs2_inode *ip = GFS2_I(inode); in evict_linked_inode() local
1459 gfs2_log_flush(sdp, ip->i_gl, GFS2_LOG_HEAD_FLUSH_NORMAL | in evict_linked_inode()
1461 metamapping = gfs2_glock2aspace(ip->i_gl); in evict_linked_inode()
1462 if (test_bit(GLF_DIRTY, &ip->i_gl->gl_flags)) { in evict_linked_inode()
1467 gfs2_ail_flush(ip->i_gl, 0); in evict_linked_inode()
1505 struct gfs2_inode *ip = GFS2_I(inode); in gfs2_evict_inode() local
1509 if (inode->i_nlink || sb_rdonly(sb) || !ip->i_no_addr) in gfs2_evict_inode()
1529 if (gfs2_rs_active(&ip->i_res)) in gfs2_evict_inode()
1530 gfs2_rs_deltree(&ip->i_res); in gfs2_evict_inode()
1538 if (ip->i_qadata) in gfs2_evict_inode()
1539 gfs2_assert_warn(sdp, ip->i_qadata->qa_ref == 0); in gfs2_evict_inode()
1540 gfs2_rs_deltree(&ip->i_res); in gfs2_evict_inode()
1541 gfs2_ordered_del_inode(ip); in gfs2_evict_inode()
1543 gfs2_dir_hash_inval(ip); in gfs2_evict_inode()
1544 if (gfs2_holder_initialized(&ip->i_iopen_gh)) { in gfs2_evict_inode()
1545 struct gfs2_glock *gl = ip->i_iopen_gh.gh_gl; in gfs2_evict_inode()
1547 glock_clear_object(gl, ip); in gfs2_evict_inode()
1549 ip->i_iopen_gh.gh_flags |= GL_NOCACHE; in gfs2_evict_inode()
1550 gfs2_glock_dq_uninit(&ip->i_iopen_gh); in gfs2_evict_inode()
1553 if (ip->i_gl) { in gfs2_evict_inode()
1554 glock_clear_object(ip->i_gl, ip); in gfs2_evict_inode()
1555 wait_on_bit_io(&ip->i_flags, GIF_GLOP_PENDING, TASK_UNINTERRUPTIBLE); in gfs2_evict_inode()
1556 gfs2_glock_add_to_lru(ip->i_gl); in gfs2_evict_inode()
1557 gfs2_glock_put_eventually(ip->i_gl); in gfs2_evict_inode()
1558 rcu_assign_pointer(ip->i_gl, NULL); in gfs2_evict_inode()
1564 struct gfs2_inode *ip; in gfs2_alloc_inode() local
1566 ip = alloc_inode_sb(sb, gfs2_inode_cachep, GFP_KERNEL); in gfs2_alloc_inode()
1567 if (!ip) in gfs2_alloc_inode()
1569 ip->i_no_addr = 0; in gfs2_alloc_inode()
1570 ip->i_flags = 0; in gfs2_alloc_inode()
1571 ip->i_gl = NULL; in gfs2_alloc_inode()
1572 gfs2_holder_mark_uninitialized(&ip->i_iopen_gh); in gfs2_alloc_inode()
1573 memset(&ip->i_res, 0, sizeof(ip->i_res)); in gfs2_alloc_inode()
1574 RB_CLEAR_NODE(&ip->i_res.rs_node); in gfs2_alloc_inode()
1575 ip->i_rahead = 0; in gfs2_alloc_inode()
1576 return &ip->i_inode; in gfs2_alloc_inode()