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()
1518 err = attr_set_size(ni, ATTR_BITMAP, in->name, in->name_len, in indx_add_allocate()
1526 alloc = ni_find_attr(ni, NULL, NULL, ATTR_ALLOC, in->name, in->name_len, in indx_add_allocate()
1541 err = attr_set_size(ni, ATTR_ALLOC, in->name, in->name_len, in indx_add_allocate()
1551 i_size_write(&ni->vfs_inode, data_size); in indx_add_allocate()
1560 attr_set_size(ni, ATTR_BITMAP, in->name, in->name_len, in indx_add_allocate()
1573 static int indx_insert_into_root(struct ntfs_index *indx, struct ntfs_inode *ni, in indx_insert_into_root() argument
1594 root = indx_get_root(indx, ni, &attr, &mi); in indx_insert_into_root()
1604 sbi = ni->mi.sbi; in indx_insert_into_root()
1693 indx_create_allocate(indx, ni, &new_vbn) : in indx_insert_into_root()
1694 indx_add_allocate(indx, ni, &new_vbn); in indx_insert_into_root()
1697 root = indx_get_root(indx, ni, &attr, &mi); in indx_insert_into_root()
1721 n = indx_new(indx, ni, new_vbn, sub_vbn); in indx_insert_into_root()
1735 indx_mark_used(indx, ni, new_vbn >> indx->idx2vbn_bits); in indx_insert_into_root()
1746 indx_write(indx, ni, n, 0); in indx_insert_into_root()
1750 err = indx_insert_entry(indx, ni, new_de, ctx, fnd, undo); in indx_insert_into_root()
1766 indx_write(indx, ni, n, 0); in indx_insert_into_root()
1786 indx_insert_into_buffer(struct ntfs_index *indx, struct ntfs_inode *ni, in indx_insert_into_buffer() argument
1809 indx_write(indx, ni, n1, 0); in indx_insert_into_buffer()
1851 err = indx_add_allocate(indx, ni, &new_vbn); in indx_insert_into_buffer()
1856 n2 = indx_new(indx, ni, new_vbn, sub_vbn); in indx_insert_into_buffer()
1889 indx_mark_used(indx, ni, new_vbn >> indx->idx2vbn_bits); in indx_insert_into_buffer()
1891 indx_write(indx, ni, n1, 0); in indx_insert_into_buffer()
1892 indx_write(indx, ni, n2, 0); in indx_insert_into_buffer()
1902 err = indx_insert_into_root(indx, ni, up_e, NULL, ctx, fnd, 0); in indx_insert_into_buffer()
1908 err = indx_insert_into_buffer(indx, ni, root, up_e, ctx, in indx_insert_into_buffer()
1916 indx_mark_free(indx, ni, new_vbn >> indx->idx2vbn_bits); in indx_insert_into_buffer()
1918 indx_write(indx, ni, n1, 0); in indx_insert_into_buffer()
1933 int indx_insert_entry(struct ntfs_index *indx, struct ntfs_inode *ni, in indx_insert_entry() argument
1952 root = indx_get_root(indx, ni, NULL, NULL); in indx_insert_entry()
1963 err = indx_find(indx, ni, root, new_de + 1, in indx_insert_entry()
1980 err = indx_insert_into_root(indx, ni, new_de, fnd->root_de, ctx, in indx_insert_entry()
1986 err = indx_insert_into_buffer(indx, ni, root, new_de, ctx, in indx_insert_entry()
2000 struct ntfs_inode *ni, in indx_find_buffer() argument
2025 err = indx_read(indx, ni, de_get_vbn(e), &n); in indx_find_buffer()
2029 r = indx_find_buffer(indx, ni, root, vbn, n); in indx_find_buffer()
2046 static int indx_shrink(struct ntfs_index *indx, struct ntfs_inode *ni, in indx_shrink() argument
2056 b = ni_find_attr(ni, NULL, &le, ATTR_BITMAP, in->name, in->name_len, in indx_shrink()
2082 err = scan_nres_bitmap(ni, b, indx, bit, &scan_for_used, &used); in indx_shrink()
2092 err = attr_set_size(ni, ATTR_ALLOC, in->name, in->name_len, in indx_shrink()
2098 i_size_write(&ni->vfs_inode, new_data); in indx_shrink()
2104 err = attr_set_size(ni, ATTR_BITMAP, in->name, in->name_len, in indx_shrink()
2110 static int indx_free_children(struct ntfs_index *indx, struct ntfs_inode *ni, in indx_free_children() argument
2119 err = indx_read(indx, ni, vbn, &n); in indx_free_children()
2127 indx_free_children(indx, ni, e, false); in indx_free_children()
2139 indx_mark_free(indx, ni, i); in indx_free_children()
2149 indx_shrink(indx, ni, i + 1); in indx_free_children()
2161 struct ntfs_inode *ni, in indx_get_entry_to_replace() argument
2179 err = indx_read(indx, ni, vbn, &n); in indx_get_entry_to_replace()
2229 indx_free_children(indx, ni, te, true); in indx_get_entry_to_replace()
2240 indx_write(indx, ni, n, 0); in indx_get_entry_to_replace()
2255 int indx_delete_entry(struct ntfs_index *indx, struct ntfs_inode *ni, in indx_delete_entry() argument
2285 root = indx_get_root(indx, ni, &attr, &mi); in indx_delete_entry()
2292 err = indx_find(indx, ni, root, key, key_len, ctx, &diff, &e, fnd); in indx_delete_entry()
2328 indx_write(indx, ni, n, 0); in indx_delete_entry()
2345 err = indx_get_entry_to_replace(indx, ni, next, &re, fnd2); in indx_delete_entry()
2353 err = level ? indx_insert_into_buffer(indx, ni, root, in indx_delete_entry()
2357 indx_insert_into_root(indx, ni, re, e, in indx_delete_entry()
2371 indx_free_children(indx, ni, next, true); in indx_delete_entry()
2376 indx_write(indx, ni, n, 0); in indx_delete_entry()
2391 root = indx_get_root(indx, ni, &attr, &mi); in indx_delete_entry()
2426 in = indx_find_buffer(indx, ni, root, sub_vbn, NULL); in indx_delete_entry()
2538 indx_write(indx, ni, n2d, 0); in indx_delete_entry()
2550 indx_mark_free(indx, ni, k); in indx_delete_entry()
2563 err = indx_insert_entry(indx, ni, me, ctx, fnd, 0); in indx_delete_entry()
2569 indx_shrink(indx, ni, trim_bit); in indx_delete_entry()
2581 err = attr_set_size(ni, ATTR_ALLOC, in->name, in->name_len, in indx_delete_entry()
2584 i_size_write(&ni->vfs_inode, 0); in indx_delete_entry()
2586 err = ni_remove_attr(ni, ATTR_ALLOC, in->name, in->name_len, in indx_delete_entry()
2590 err = attr_set_size(ni, ATTR_BITMAP, in->name, in->name_len, in indx_delete_entry()
2592 err = ni_remove_attr(ni, ATTR_BITMAP, in->name, in->name_len, in indx_delete_entry()
2596 root = indx_get_root(indx, ni, &attr, &mi); in indx_delete_entry()
2641 int indx_update_dup(struct ntfs_inode *ni, struct ntfs_sb_info *sbi, in indx_update_dup() argument
2651 struct ntfs_index *indx = &ni->dir; in indx_update_dup()
2657 root = indx_get_root(indx, ni, NULL, &mi); in indx_update_dup()
2664 err = indx_find(indx, ni, root, fname, fname_full_size(fname), sbi, in indx_update_dup()
2692 err = indx_write(indx, ni, fnd->nodes[fnd->level - 1], sync); in indx_update_dup()
2699 mark_inode_dirty(&ni->vfs_inode); in indx_update_dup()