Lines Matching refs:handle
785 static void ext4_xattr_update_super_block(handle_t *handle, in ext4_xattr_update_super_block() argument
792 if (ext4_journal_get_write_access(handle, EXT4_SB(sb)->s_sbh) == 0) { in ext4_xattr_update_super_block()
794 ext4_handle_dirty_super(handle, sb); in ext4_xattr_update_super_block()
970 static int ext4_xattr_ensure_credits(handle_t *handle, struct inode *inode, in ext4_xattr_ensure_credits() argument
976 if (!ext4_handle_valid(handle)) in ext4_xattr_ensure_credits()
979 if (handle->h_buffer_credits >= credits) in ext4_xattr_ensure_credits()
982 error = ext4_journal_extend(handle, credits - handle->h_buffer_credits); in ext4_xattr_ensure_credits()
993 error = ext4_handle_dirty_metadata(handle, NULL, bh); in ext4_xattr_ensure_credits()
1001 error = ext4_journal_restart(handle, credits); in ext4_xattr_ensure_credits()
1008 error = ext4_journal_get_write_access(handle, bh); in ext4_xattr_ensure_credits()
1019 static int ext4_xattr_inode_update_ref(handle_t *handle, struct inode *ea_inode, in ext4_xattr_inode_update_ref() argument
1030 ret = ext4_reserve_inode_write(handle, ea_inode, &iloc); in ext4_xattr_inode_update_ref()
1047 ext4_orphan_del(handle, ea_inode); in ext4_xattr_inode_update_ref()
1067 ext4_orphan_add(handle, ea_inode); in ext4_xattr_inode_update_ref()
1077 ret = ext4_mark_iloc_dirty(handle, ea_inode, &iloc); in ext4_xattr_inode_update_ref()
1086 static int ext4_xattr_inode_inc_ref(handle_t *handle, struct inode *ea_inode) in ext4_xattr_inode_inc_ref() argument
1088 return ext4_xattr_inode_update_ref(handle, ea_inode, 1); in ext4_xattr_inode_inc_ref()
1091 static int ext4_xattr_inode_dec_ref(handle_t *handle, struct inode *ea_inode) in ext4_xattr_inode_dec_ref() argument
1093 return ext4_xattr_inode_update_ref(handle, ea_inode, -1); in ext4_xattr_inode_dec_ref()
1096 static int ext4_xattr_inode_inc_ref_all(handle_t *handle, struct inode *parent, in ext4_xattr_inode_inc_ref_all() argument
1115 err = ext4_xattr_inode_inc_ref(handle, ea_inode); in ext4_xattr_inode_inc_ref_all()
1143 err = ext4_xattr_inode_dec_ref(handle, ea_inode); in ext4_xattr_inode_inc_ref_all()
1153 ext4_xattr_inode_dec_ref_all(handle_t *handle, struct inode *parent, in ext4_xattr_inode_dec_ref_all() argument
1188 err = ext4_xattr_ensure_credits(handle, parent, credits, bh, in ext4_xattr_inode_dec_ref_all()
1196 err = ext4_xattr_inode_dec_ref(handle, ea_inode); in ext4_xattr_inode_dec_ref_all()
1226 err = ext4_handle_dirty_metadata(handle, NULL, bh); in ext4_xattr_inode_dec_ref_all()
1238 ext4_xattr_release_block(handle_t *handle, struct inode *inode, in ext4_xattr_release_block() argument
1248 error = ext4_journal_get_write_access(handle, bh); in ext4_xattr_release_block()
1268 ext4_xattr_inode_dec_ref_all(handle, inode, bh, in ext4_xattr_release_block()
1274 ext4_free_blocks(handle, inode, bh, 0, 1, in ext4_xattr_release_block()
1304 if (ext4_handle_valid(handle)) in ext4_xattr_release_block()
1305 error = ext4_handle_dirty_metadata(handle, inode, bh); in ext4_xattr_release_block()
1307 if (!ext4_handle_valid(handle)) in ext4_xattr_release_block()
1308 error = ext4_handle_dirty_metadata(handle, inode, bh); in ext4_xattr_release_block()
1310 ext4_handle_sync(handle); in ext4_xattr_release_block()
1342 static int ext4_xattr_inode_write(handle_t *handle, struct inode *ea_inode, in ext4_xattr_inode_write() argument
1359 ret = ext4_map_blocks(handle, ea_inode, &map, in ext4_xattr_inode_write()
1362 ext4_mark_inode_dirty(handle, ea_inode); in ext4_xattr_inode_write()
1381 bh = ext4_getblk(handle, ea_inode, block, 0); in ext4_xattr_inode_write()
1390 ret = ext4_journal_get_write_access(handle, bh); in ext4_xattr_inode_write()
1396 ext4_handle_dirty_metadata(handle, ea_inode, bh); in ext4_xattr_inode_write()
1408 ext4_mark_inode_dirty(handle, ea_inode); in ext4_xattr_inode_write()
1419 static struct inode *ext4_xattr_inode_create(handle_t *handle, in ext4_xattr_inode_create() argument
1430 ea_inode = ext4_new_inode(handle, inode->i_sb->s_root->d_inode, in ext4_xattr_inode_create()
1441 err = ext4_mark_inode_dirty(handle, ea_inode); in ext4_xattr_inode_create()
1513 static int ext4_xattr_inode_lookup_create(handle_t *handle, struct inode *inode, in ext4_xattr_inode_lookup_create() argument
1524 err = ext4_xattr_inode_inc_ref(handle, ea_inode); in ext4_xattr_inode_lookup_create()
1535 ea_inode = ext4_xattr_inode_create(handle, inode, hash); in ext4_xattr_inode_lookup_create()
1539 err = ext4_xattr_inode_write(handle, ea_inode, value, value_len); in ext4_xattr_inode_lookup_create()
1541 ext4_xattr_inode_dec_ref(handle, ea_inode); in ext4_xattr_inode_lookup_create()
1562 handle_t *handle, struct inode *inode, in ext4_xattr_set_entry() argument
1663 ret = ext4_xattr_inode_lookup_create(handle, inode, i->value, in ext4_xattr_set_entry()
1675 ret = ext4_xattr_inode_dec_ref(handle, old_ea_inode); in ext4_xattr_set_entry()
1681 err = ext4_xattr_inode_dec_ref(handle, in ext4_xattr_set_entry()
1846 ext4_xattr_block_set(handle_t *handle, struct inode *inode, in ext4_xattr_block_set() argument
1866 error = ext4_journal_get_write_access(handle, bs->bh); in ext4_xattr_block_set()
1883 error = ext4_xattr_set_entry(i, s, handle, inode, in ext4_xattr_block_set()
1890 error = ext4_handle_dirty_metadata(handle, in ext4_xattr_block_set()
1956 error = ext4_xattr_set_entry(i, s, handle, inode, true /* is_block */); in ext4_xattr_block_set()
1999 error = ext4_journal_get_write_access(handle, in ext4_xattr_block_set()
2040 error = ext4_handle_dirty_metadata(handle, in ext4_xattr_block_set()
2068 block = ext4_new_meta_blocks(handle, inode, goal, 0, in ext4_xattr_block_set()
2083 ext4_free_blocks(handle, inode, NULL, block, 1, in ext4_xattr_block_set()
2087 error = ext4_xattr_inode_inc_ref_all(handle, inode, in ext4_xattr_block_set()
2093 error = ext4_xattr_inode_dec_ref(handle, in ext4_xattr_block_set()
2104 error = ext4_journal_get_create_access(handle, new_bh); in ext4_xattr_block_set()
2115 error = ext4_handle_dirty_metadata(handle, inode, in ext4_xattr_block_set()
2132 ext4_xattr_release_block(handle, inode, bs->bh, in ext4_xattr_block_set()
2143 error2 = ext4_xattr_inode_dec_ref(handle, ea_inode); in ext4_xattr_block_set()
2202 int ext4_xattr_ibody_inline_set(handle_t *handle, struct inode *inode, in ext4_xattr_ibody_inline_set() argument
2212 error = ext4_xattr_set_entry(i, s, handle, inode, false /* is_block */); in ext4_xattr_ibody_inline_set()
2226 static int ext4_xattr_ibody_set(handle_t *handle, struct inode *inode, in ext4_xattr_ibody_set() argument
2236 error = ext4_xattr_set_entry(i, s, handle, inode, false /* is_block */); in ext4_xattr_ibody_set()
2295 ext4_xattr_set_handle(handle_t *handle, struct inode *inode, int name_index, in ext4_xattr_set_handle() argument
2323 if (ext4_handle_valid(handle)) { in ext4_xattr_set_handle()
2338 if (!ext4_handle_has_enough_credits(handle, credits)) { in ext4_xattr_set_handle()
2344 error = ext4_reserve_inode_write(handle, inode, &is.iloc); in ext4_xattr_set_handle()
2376 error = ext4_xattr_ibody_set(handle, inode, &i, &is); in ext4_xattr_set_handle()
2378 error = ext4_xattr_block_set(handle, inode, &i, &bs); in ext4_xattr_set_handle()
2392 error = ext4_xattr_ibody_set(handle, inode, &i, &is); in ext4_xattr_set_handle()
2395 error = ext4_xattr_block_set(handle, inode, &i, &bs); in ext4_xattr_set_handle()
2404 error = ext4_xattr_block_set(handle, inode, &i, &bs); in ext4_xattr_set_handle()
2407 error = ext4_xattr_ibody_set(handle, inode, &i, in ext4_xattr_set_handle()
2423 ext4_xattr_update_super_block(handle, inode->i_sb); in ext4_xattr_set_handle()
2427 error = ext4_mark_iloc_dirty(handle, inode, &is.iloc); in ext4_xattr_set_handle()
2434 ext4_handle_sync(handle); in ext4_xattr_set_handle()
2483 handle_t *handle; in ext4_xattr_set() local
2498 handle = ext4_journal_start(inode, EXT4_HT_XATTR, credits); in ext4_xattr_set()
2499 if (IS_ERR(handle)) { in ext4_xattr_set()
2500 error = PTR_ERR(handle); in ext4_xattr_set()
2504 error = ext4_xattr_set_handle(handle, inode, name_index, name, in ext4_xattr_set()
2506 error2 = ext4_journal_stop(handle); in ext4_xattr_set()
2546 static int ext4_xattr_move_to_block(handle_t *handle, struct inode *inode, in ext4_xattr_move_to_block() argument
2600 error = ext4_xattr_ibody_set(handle, inode, &i, is); in ext4_xattr_move_to_block()
2611 error = ext4_xattr_block_set(handle, inode, &i, bs); in ext4_xattr_move_to_block()
2628 static int ext4_xattr_make_inode_space(handle_t *handle, struct inode *inode, in ext4_xattr_make_inode_space() argument
2680 error = ext4_xattr_move_to_block(handle, inode, raw_inode, in ext4_xattr_make_inode_space()
2698 struct ext4_inode *raw_inode, handle_t *handle) in ext4_expand_extra_isize_ea() argument
2772 error = ext4_xattr_make_inode_space(handle, inode, raw_inode, in ext4_expand_extra_isize_ea()
2854 int ext4_xattr_delete_inode(handle_t *handle, struct inode *inode, in ext4_xattr_delete_inode() argument
2865 error = ext4_xattr_ensure_credits(handle, inode, extra_credits, in ext4_xattr_delete_inode()
2883 error = ext4_journal_get_write_access(handle, iloc.bh); in ext4_xattr_delete_inode()
2892 ext4_xattr_inode_dec_ref_all(handle, inode, iloc.bh, in ext4_xattr_delete_inode()
2932 ext4_xattr_release_block(handle, inode, bh, ea_inode_array, in ext4_xattr_delete_inode()
2939 error = ext4_mark_inode_dirty(handle, inode); in ext4_xattr_delete_inode()