Lines Matching full:ni
204 static int bmp_buf_get(struct ntfs_index *indx, struct ntfs_inode *ni, in bmp_buf_get() argument
209 struct ntfs_sb_info *sbi = ni->mi.sbi; in bmp_buf_get()
219 b = ni_find_attr(ni, NULL, &le, ATTR_BITMAP, in->name, in->name_len, in bmp_buf_get()
316 static int indx_mark_used(struct ntfs_index *indx, struct ntfs_inode *ni, in indx_mark_used() argument
322 err = bmp_buf_get(indx, ni, bit, &bbuf); in indx_mark_used()
336 static int indx_mark_free(struct ntfs_index *indx, struct ntfs_inode *ni, in indx_mark_free() argument
342 err = bmp_buf_get(indx, ni, bit, &bbuf); in indx_mark_free()
360 static int scan_nres_bitmap(struct ntfs_inode *ni, struct ATTRIB *bitmap, in scan_nres_bitmap() argument
366 struct ntfs_sb_info *sbi = ni->mi.sbi; in scan_nres_bitmap()
402 err = attr_load_runs_vcn(ni, ATTR_BITMAP, name->name, in scan_nres_bitmap()
474 static int indx_find_free(struct ntfs_index *indx, struct ntfs_inode *ni, in indx_find_free() argument
482 b = ni_find_attr(ni, NULL, &le, ATTR_BITMAP, in->name, in->name_len, in indx_find_free()
498 err = scan_nres_bitmap(ni, b, indx, 0, &scan_for_free, bit); in indx_find_free()
522 int indx_used_bit(struct ntfs_index *indx, struct ntfs_inode *ni, size_t *bit) in indx_used_bit() argument
530 b = ni_find_attr(ni, NULL, &le, ATTR_BITMAP, in->name, in->name_len, in indx_used_bit()
545 err = scan_nres_bitmap(ni, b, indx, from, &scan_for_used, bit); in indx_used_bit()
932 struct ntfs_inode *ni, CLST vbn, in indx_new() argument
955 err = ntfs_get_bh(ni->mi.sbi, &indx->alloc_run, vbo, bytes, &r->nb); in indx_new()
994 struct INDEX_ROOT *indx_get_root(struct ntfs_index *indx, struct ntfs_inode *ni, in indx_get_root() argument
1002 a = ni_find_attr(ni, NULL, &le, ATTR_ROOT, in->name, in->name_len, NULL, in indx_get_root()
1022 static int indx_write(struct ntfs_index *indx, struct ntfs_inode *ni, in indx_write() argument
1027 return ntfs_write_bh(ni->mi.sbi, &ib->rhdr, &node->nb, sync); in indx_write()
1037 int indx_read(struct ntfs_index *indx, struct ntfs_inode *ni, CLST vbn, in indx_read() argument
1067 err = ntfs_read_bh(ni->mi.sbi, run, vbo, &ib->rhdr, bytes, &in->nb); in indx_read()
1080 err = attr_load_runs_range(ni, ATTR_ALLOC, name->name, name->name_len, in indx_read()
1087 err = ntfs_read_bh(ni->mi.sbi, run, vbo, &ib->rhdr, bytes, &in->nb); in indx_read()
1097 _ntfs_bad_inode(&ni->vfs_inode); in indx_read()
1103 ntfs_write_bh(ni->mi.sbi, &ib->rhdr, &in->nb, 0); in indx_read()
1119 _ntfs_bad_inode(&ni->vfs_inode); in indx_read()
1137 int indx_find(struct ntfs_index *indx, struct ntfs_inode *ni, in indx_find() argument
1147 root = indx_get_root(&ni->dir, ni, NULL, NULL); in indx_find()
1179 err = indx_read(indx, ni, de_get_vbn(e), &node); in indx_find()
1200 int indx_find_sort(struct ntfs_index *indx, struct ntfs_inode *ni, in indx_find_sort() argument
1257 err = indx_read(indx, ni, de_get_vbn(e), &n); in indx_find_sort()
1310 int indx_find_raw(struct ntfs_index *indx, struct ntfs_inode *ni, in indx_find_raw() argument
1321 u32 record_size = ni->mi.sbi->record_size; in indx_find_raw()
1391 err = indx_used_bit(indx, ni, &bit); in indx_find_raw()
1401 err = indx_read(indx, ni, next_used_vbn, &n); in indx_find_raw()
1429 static int indx_create_allocate(struct ntfs_index *indx, struct ntfs_inode *ni, in indx_create_allocate() argument
1433 struct ntfs_sb_info *sbi = ni->mi.sbi; in indx_create_allocate()
1450 err = ni_insert_nonresident(ni, ATTR_ALLOC, in->name, in->name_len, in indx_create_allocate()
1457 err = ni_insert_resident(ni, ntfs3_bitmap_size(1), ATTR_BITMAP, in indx_create_allocate()
1463 i_size_write(&ni->vfs_inode, data_size); in indx_create_allocate()
1464 inode_set_bytes(&ni->vfs_inode, alloc_size); in indx_create_allocate()
1474 mi_remove_attr(NULL, &ni->mi, alloc); in indx_create_allocate()
1486 static int indx_add_allocate(struct ntfs_index *indx, struct ntfs_inode *ni, in indx_add_allocate() argument
1497 err = indx_find_free(indx, ni, &bit, &bmp); in indx_add_allocate()
1528 err = attr_set_size(ni, ATTR_BITMAP, in->name, in->name_len, in indx_add_allocate()
1536 alloc = ni_find_attr(ni, NULL, NULL, ATTR_ALLOC, in->name, in->name_len, in indx_add_allocate()
1551 err = attr_set_size(ni, ATTR_ALLOC, in->name, in->name_len, in indx_add_allocate()
1561 i_size_write(&ni->vfs_inode, data_size); in indx_add_allocate()
1570 attr_set_size(ni, ATTR_BITMAP, in->name, in->name_len, in indx_add_allocate()
1583 static int indx_insert_into_root(struct ntfs_index *indx, struct ntfs_inode *ni, in indx_insert_into_root() argument
1604 root = indx_get_root(indx, ni, &attr, &mi); in indx_insert_into_root()
1614 sbi = ni->mi.sbi; in indx_insert_into_root()
1703 indx_create_allocate(indx, ni, &new_vbn) : in indx_insert_into_root()
1704 indx_add_allocate(indx, ni, &new_vbn); in indx_insert_into_root()
1707 root = indx_get_root(indx, ni, &attr, &mi); in indx_insert_into_root()
1731 n = indx_new(indx, ni, new_vbn, sub_vbn); in indx_insert_into_root()
1745 indx_mark_used(indx, ni, new_vbn >> indx->idx2vbn_bits); in indx_insert_into_root()
1756 indx_write(indx, ni, n, 0); in indx_insert_into_root()
1760 err = indx_insert_entry(indx, ni, new_de, ctx, fnd, undo); in indx_insert_into_root()
1776 indx_write(indx, ni, n, 0); in indx_insert_into_root()
1796 indx_insert_into_buffer(struct ntfs_index *indx, struct ntfs_inode *ni, in indx_insert_into_buffer() argument
1819 indx_write(indx, ni, n1, 0); in indx_insert_into_buffer()
1861 err = indx_add_allocate(indx, ni, &new_vbn); in indx_insert_into_buffer()
1866 n2 = indx_new(indx, ni, new_vbn, sub_vbn); in indx_insert_into_buffer()
1899 indx_mark_used(indx, ni, new_vbn >> indx->idx2vbn_bits); in indx_insert_into_buffer()
1901 indx_write(indx, ni, n1, 0); in indx_insert_into_buffer()
1902 indx_write(indx, ni, n2, 0); in indx_insert_into_buffer()
1912 err = indx_insert_into_root(indx, ni, up_e, NULL, ctx, fnd, 0); in indx_insert_into_buffer()
1918 err = indx_insert_into_buffer(indx, ni, root, up_e, ctx, in indx_insert_into_buffer()
1926 indx_mark_free(indx, ni, new_vbn >> indx->idx2vbn_bits); in indx_insert_into_buffer()
1928 indx_write(indx, ni, n1, 0); in indx_insert_into_buffer()
1943 int indx_insert_entry(struct ntfs_index *indx, struct ntfs_inode *ni, in indx_insert_entry() argument
1962 root = indx_get_root(indx, ni, NULL, NULL); in indx_insert_entry()
1973 err = indx_find(indx, ni, root, new_de + 1, in indx_insert_entry()
1990 err = indx_insert_into_root(indx, ni, new_de, fnd->root_de, ctx, in indx_insert_entry()
1996 err = indx_insert_into_buffer(indx, ni, root, new_de, ctx, in indx_insert_entry()
2010 struct ntfs_inode *ni, in indx_find_buffer() argument
2035 err = indx_read(indx, ni, de_get_vbn(e), &n); in indx_find_buffer()
2039 r = indx_find_buffer(indx, ni, root, vbn, n); in indx_find_buffer()
2056 static int indx_shrink(struct ntfs_index *indx, struct ntfs_inode *ni, in indx_shrink() argument
2066 b = ni_find_attr(ni, NULL, &le, ATTR_BITMAP, in->name, in->name_len, in indx_shrink()
2092 err = scan_nres_bitmap(ni, b, indx, bit, &scan_for_used, &used); in indx_shrink()
2102 err = attr_set_size(ni, ATTR_ALLOC, in->name, in->name_len, in indx_shrink()
2108 i_size_write(&ni->vfs_inode, new_data); in indx_shrink()
2114 err = attr_set_size(ni, ATTR_BITMAP, in->name, in->name_len, in indx_shrink()
2120 static int indx_free_children(struct ntfs_index *indx, struct ntfs_inode *ni, in indx_free_children() argument
2129 err = indx_read(indx, ni, vbn, &n); in indx_free_children()
2137 indx_free_children(indx, ni, e, false); in indx_free_children()
2149 indx_mark_free(indx, ni, i); in indx_free_children()
2159 indx_shrink(indx, ni, i + 1); in indx_free_children()
2171 struct ntfs_inode *ni, in indx_get_entry_to_replace() argument
2189 err = indx_read(indx, ni, vbn, &n); in indx_get_entry_to_replace()
2247 indx_free_children(indx, ni, te, true); in indx_get_entry_to_replace()
2258 indx_write(indx, ni, n, 0); in indx_get_entry_to_replace()
2273 int indx_delete_entry(struct ntfs_index *indx, struct ntfs_inode *ni, in indx_delete_entry() argument
2303 root = indx_get_root(indx, ni, &attr, &mi); in indx_delete_entry()
2310 err = indx_find(indx, ni, root, key, key_len, ctx, &diff, &e, fnd); in indx_delete_entry()
2346 indx_write(indx, ni, n, 0); in indx_delete_entry()
2363 err = indx_get_entry_to_replace(indx, ni, next, &re, fnd2); in indx_delete_entry()
2371 err = level ? indx_insert_into_buffer(indx, ni, root, in indx_delete_entry()
2375 indx_insert_into_root(indx, ni, re, e, in indx_delete_entry()
2389 indx_free_children(indx, ni, next, true); in indx_delete_entry()
2394 indx_write(indx, ni, n, 0); in indx_delete_entry()
2409 root = indx_get_root(indx, ni, &attr, &mi); in indx_delete_entry()
2444 in = indx_find_buffer(indx, ni, root, sub_vbn, NULL); in indx_delete_entry()
2556 indx_write(indx, ni, n2d, 0); in indx_delete_entry()
2568 indx_mark_free(indx, ni, k); in indx_delete_entry()
2581 err = indx_insert_entry(indx, ni, me, ctx, fnd, 0); in indx_delete_entry()
2587 indx_shrink(indx, ni, trim_bit); in indx_delete_entry()
2599 err = attr_set_size(ni, ATTR_ALLOC, in->name, in->name_len, in indx_delete_entry()
2602 i_size_write(&ni->vfs_inode, 0); in indx_delete_entry()
2604 err = ni_remove_attr(ni, ATTR_ALLOC, in->name, in->name_len, in indx_delete_entry()
2608 err = attr_set_size(ni, ATTR_BITMAP, in->name, in->name_len, in indx_delete_entry()
2610 err = ni_remove_attr(ni, ATTR_BITMAP, in->name, in->name_len, in indx_delete_entry()
2614 root = indx_get_root(indx, ni, &attr, &mi); in indx_delete_entry()
2659 int indx_update_dup(struct ntfs_inode *ni, struct ntfs_sb_info *sbi, in indx_update_dup() argument
2669 struct ntfs_index *indx = &ni->dir; in indx_update_dup()
2675 root = indx_get_root(indx, ni, NULL, &mi); in indx_update_dup()
2682 err = indx_find(indx, ni, root, fname, fname_full_size(fname), sbi, in indx_update_dup()
2710 err = indx_write(indx, ni, fnd->nodes[fnd->level - 1], sync); in indx_update_dup()
2717 mark_inode_dirty(&ni->vfs_inode); in indx_update_dup()