Lines Matching refs:handle
795 static void ext4_xattr_update_super_block(handle_t *handle, in ext4_xattr_update_super_block() argument
802 if (ext4_journal_get_write_access(handle, EXT4_SB(sb)->s_sbh) == 0) { in ext4_xattr_update_super_block()
804 ext4_handle_dirty_super(handle, sb); in ext4_xattr_update_super_block()
980 static int ext4_xattr_ensure_credits(handle_t *handle, struct inode *inode, in ext4_xattr_ensure_credits() argument
986 if (!ext4_handle_valid(handle)) in ext4_xattr_ensure_credits()
989 if (handle->h_buffer_credits >= credits) in ext4_xattr_ensure_credits()
992 error = ext4_journal_extend(handle, credits - handle->h_buffer_credits); in ext4_xattr_ensure_credits()
1003 error = ext4_handle_dirty_metadata(handle, NULL, bh); in ext4_xattr_ensure_credits()
1011 error = ext4_journal_restart(handle, credits); in ext4_xattr_ensure_credits()
1018 error = ext4_journal_get_write_access(handle, bh); in ext4_xattr_ensure_credits()
1029 static int ext4_xattr_inode_update_ref(handle_t *handle, struct inode *ea_inode, in ext4_xattr_inode_update_ref() argument
1038 ret = ext4_reserve_inode_write(handle, ea_inode, &iloc); in ext4_xattr_inode_update_ref()
1055 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()
1071 ret = ext4_mark_iloc_dirty(handle, ea_inode, &iloc); in ext4_xattr_inode_update_ref()
1080 static int ext4_xattr_inode_inc_ref(handle_t *handle, struct inode *ea_inode) in ext4_xattr_inode_inc_ref() argument
1082 return ext4_xattr_inode_update_ref(handle, ea_inode, 1); in ext4_xattr_inode_inc_ref()
1085 static int ext4_xattr_inode_dec_ref(handle_t *handle, struct inode *ea_inode) in ext4_xattr_inode_dec_ref() argument
1087 return ext4_xattr_inode_update_ref(handle, ea_inode, -1); in ext4_xattr_inode_dec_ref()
1090 static int ext4_xattr_inode_inc_ref_all(handle_t *handle, struct inode *parent, in ext4_xattr_inode_inc_ref_all() argument
1109 err = ext4_xattr_inode_inc_ref(handle, ea_inode); in ext4_xattr_inode_inc_ref_all()
1137 err = ext4_xattr_inode_dec_ref(handle, ea_inode); in ext4_xattr_inode_inc_ref_all()
1147 ext4_xattr_inode_dec_ref_all(handle_t *handle, struct inode *parent, in ext4_xattr_inode_dec_ref_all() argument
1182 err = ext4_xattr_ensure_credits(handle, parent, credits, bh, in ext4_xattr_inode_dec_ref_all()
1190 err = ext4_xattr_inode_dec_ref(handle, ea_inode); in ext4_xattr_inode_dec_ref_all()
1220 err = ext4_handle_dirty_metadata(handle, NULL, bh); in ext4_xattr_inode_dec_ref_all()
1232 ext4_xattr_release_block(handle_t *handle, struct inode *inode, in ext4_xattr_release_block() argument
1242 error = ext4_journal_get_write_access(handle, bh); in ext4_xattr_release_block()
1272 ext4_xattr_inode_dec_ref_all(handle, inode, bh, in ext4_xattr_release_block()
1278 ext4_free_blocks(handle, inode, bh, 0, 1, in ext4_xattr_release_block()
1308 if (ext4_handle_valid(handle)) in ext4_xattr_release_block()
1309 error = ext4_handle_dirty_metadata(handle, inode, bh); in ext4_xattr_release_block()
1311 if (!ext4_handle_valid(handle)) in ext4_xattr_release_block()
1312 error = ext4_handle_dirty_metadata(handle, inode, bh); in ext4_xattr_release_block()
1314 ext4_handle_sync(handle); in ext4_xattr_release_block()
1346 static int ext4_xattr_inode_write(handle_t *handle, struct inode *ea_inode, in ext4_xattr_inode_write() argument
1363 ret = ext4_map_blocks(handle, ea_inode, &map, in ext4_xattr_inode_write()
1366 ext4_mark_inode_dirty(handle, ea_inode); in ext4_xattr_inode_write()
1385 bh = ext4_getblk(handle, ea_inode, block, 0); in ext4_xattr_inode_write()
1394 ret = ext4_journal_get_write_access(handle, bh); in ext4_xattr_inode_write()
1400 ext4_handle_dirty_metadata(handle, ea_inode, bh); in ext4_xattr_inode_write()
1412 ext4_mark_inode_dirty(handle, ea_inode); in ext4_xattr_inode_write()
1423 static struct inode *ext4_xattr_inode_create(handle_t *handle, in ext4_xattr_inode_create() argument
1441 ea_inode = ext4_new_inode(handle, inode->i_sb->s_root->d_inode, in ext4_xattr_inode_create()
1452 err = ext4_mark_inode_dirty(handle, ea_inode); in ext4_xattr_inode_create()
1456 if (ext4_xattr_inode_dec_ref(handle, ea_inode)) in ext4_xattr_inode_create()
1529 static int ext4_xattr_inode_lookup_create(handle_t *handle, struct inode *inode, in ext4_xattr_inode_lookup_create() argument
1540 err = ext4_xattr_inode_inc_ref(handle, ea_inode); in ext4_xattr_inode_lookup_create()
1551 ea_inode = ext4_xattr_inode_create(handle, inode, hash); in ext4_xattr_inode_lookup_create()
1555 err = ext4_xattr_inode_write(handle, ea_inode, value, value_len); in ext4_xattr_inode_lookup_create()
1557 ext4_xattr_inode_dec_ref(handle, ea_inode); in ext4_xattr_inode_lookup_create()
1578 handle_t *handle, struct inode *inode, in ext4_xattr_set_entry() argument
1679 ret = ext4_xattr_inode_lookup_create(handle, inode, i->value, in ext4_xattr_set_entry()
1691 ret = ext4_xattr_inode_dec_ref(handle, old_ea_inode); in ext4_xattr_set_entry()
1697 err = ext4_xattr_inode_dec_ref(handle, in ext4_xattr_set_entry()
1879 ext4_xattr_block_set(handle_t *handle, struct inode *inode, in ext4_xattr_block_set() argument
1901 error = ext4_journal_get_write_access(handle, bs->bh); in ext4_xattr_block_set()
1929 error = ext4_xattr_set_entry(i, s, handle, inode, in ext4_xattr_block_set()
1936 error = ext4_handle_dirty_metadata(handle, in ext4_xattr_block_set()
1999 error = ext4_xattr_set_entry(i, s, handle, inode, true /* is_block */); in ext4_xattr_block_set()
2043 error = ext4_journal_get_write_access(handle, in ext4_xattr_block_set()
2078 error = ext4_handle_dirty_metadata(handle, in ext4_xattr_block_set()
2102 block = ext4_new_meta_blocks(handle, inode, goal, 0, in ext4_xattr_block_set()
2114 ext4_free_blocks(handle, inode, NULL, block, 1, in ext4_xattr_block_set()
2118 error = ext4_xattr_inode_inc_ref_all(handle, inode, in ext4_xattr_block_set()
2124 error = ext4_xattr_inode_dec_ref(handle, in ext4_xattr_block_set()
2135 error = ext4_journal_get_create_access(handle, new_bh); in ext4_xattr_block_set()
2146 error = ext4_handle_dirty_metadata(handle, inode, in ext4_xattr_block_set()
2163 ext4_xattr_release_block(handle, inode, bs->bh, in ext4_xattr_block_set()
2174 error2 = ext4_xattr_inode_dec_ref(handle, ea_inode); in ext4_xattr_block_set()
2234 int ext4_xattr_ibody_set(handle_t *handle, struct inode *inode, in ext4_xattr_ibody_set() argument
2245 error = ext4_xattr_set_entry(i, s, handle, inode, false /* is_block */); in ext4_xattr_ibody_set()
2304 ext4_xattr_set_handle(handle_t *handle, struct inode *inode, int name_index, in ext4_xattr_set_handle() argument
2332 if (ext4_handle_valid(handle)) { in ext4_xattr_set_handle()
2347 if (!ext4_handle_has_enough_credits(handle, credits)) { in ext4_xattr_set_handle()
2354 error = ext4_reserve_inode_write(handle, inode, &is.iloc); in ext4_xattr_set_handle()
2386 error = ext4_xattr_ibody_set(handle, inode, &i, &is); in ext4_xattr_set_handle()
2388 error = ext4_xattr_block_set(handle, inode, &i, &bs); in ext4_xattr_set_handle()
2402 error = ext4_xattr_ibody_set(handle, inode, &i, &is); in ext4_xattr_set_handle()
2405 error = ext4_xattr_block_set(handle, inode, &i, &bs); in ext4_xattr_set_handle()
2414 error = ext4_xattr_block_set(handle, inode, &i, &bs); in ext4_xattr_set_handle()
2417 error = ext4_xattr_ibody_set(handle, inode, &i, in ext4_xattr_set_handle()
2433 ext4_xattr_update_super_block(handle, inode->i_sb); in ext4_xattr_set_handle()
2437 error = ext4_mark_iloc_dirty(handle, inode, &is.iloc); in ext4_xattr_set_handle()
2444 ext4_handle_sync(handle); in ext4_xattr_set_handle()
2493 handle_t *handle; in ext4_xattr_set() local
2508 handle = ext4_journal_start(inode, EXT4_HT_XATTR, credits); in ext4_xattr_set()
2509 if (IS_ERR(handle)) { in ext4_xattr_set()
2510 error = PTR_ERR(handle); in ext4_xattr_set()
2514 error = ext4_xattr_set_handle(handle, inode, name_index, name, in ext4_xattr_set()
2516 error2 = ext4_journal_stop(handle); in ext4_xattr_set()
2556 static int ext4_xattr_move_to_block(handle_t *handle, struct inode *inode, in ext4_xattr_move_to_block() argument
2622 error = ext4_xattr_block_set(handle, inode, &i, bs); in ext4_xattr_move_to_block()
2629 error = ext4_xattr_ibody_set(handle, inode, &i, is); in ext4_xattr_move_to_block()
2645 static int ext4_xattr_make_inode_space(handle_t *handle, struct inode *inode, in ext4_xattr_make_inode_space() argument
2697 error = ext4_xattr_move_to_block(handle, inode, raw_inode, in ext4_xattr_make_inode_space()
2715 struct ext4_inode *raw_inode, handle_t *handle) in ext4_expand_extra_isize_ea() argument
2789 error = ext4_xattr_make_inode_space(handle, inode, raw_inode, in ext4_expand_extra_isize_ea()
2874 int ext4_xattr_delete_inode(handle_t *handle, struct inode *inode, in ext4_xattr_delete_inode() argument
2885 error = ext4_xattr_ensure_credits(handle, inode, extra_credits, in ext4_xattr_delete_inode()
2903 error = ext4_journal_get_write_access(handle, iloc.bh); in ext4_xattr_delete_inode()
2912 ext4_xattr_inode_dec_ref_all(handle, inode, iloc.bh, in ext4_xattr_delete_inode()
2952 ext4_xattr_release_block(handle, inode, bh, ea_inode_array, in ext4_xattr_delete_inode()
2959 error = ext4_mark_inode_dirty(handle, inode); in ext4_xattr_delete_inode()