Lines Matching full:ni
204 static int bmp_buf_get(struct ntfs_index *indx, struct ntfs_inode *ni,
209 struct ntfs_sb_info *sbi = ni->mi.sbi;
219 b = ni_find_attr(ni, NULL, &le, ATTR_BITMAP, in->name, in->name_len,
316 static int indx_mark_used(struct ntfs_index *indx, struct ntfs_inode *ni,
322 err = bmp_buf_get(indx, ni, bit, &bbuf);
336 static int indx_mark_free(struct ntfs_index *indx, struct ntfs_inode *ni,
342 err = bmp_buf_get(indx, ni, bit, &bbuf);
360 static int scan_nres_bitmap(struct ntfs_inode *ni, struct ATTRIB *bitmap,
366 struct ntfs_sb_info *sbi = ni->mi.sbi;
402 err = attr_load_runs_vcn(ni, ATTR_BITMAP, name->name,
474 static int indx_find_free(struct ntfs_index *indx, struct ntfs_inode *ni,
482 b = ni_find_attr(ni, NULL, &le, ATTR_BITMAP, in->name, in->name_len,
498 err = scan_nres_bitmap(ni, b, indx, 0, &scan_for_free, bit);
522 int indx_used_bit(struct ntfs_index *indx, struct ntfs_inode *ni, size_t *bit)
530 b = ni_find_attr(ni, NULL, &le, ATTR_BITMAP, in->name, in->name_len,
545 err = scan_nres_bitmap(ni, b, indx, from, &scan_for_used, bit);
932 struct ntfs_inode *ni, CLST vbn,
955 err = ntfs_get_bh(ni->mi.sbi, &indx->alloc_run, vbo, bytes, &r->nb);
994 struct INDEX_ROOT *indx_get_root(struct ntfs_index *indx, struct ntfs_inode *ni,
1002 a = ni_find_attr(ni, NULL, &le, ATTR_ROOT, in->name, in->name_len, NULL,
1022 static int indx_write(struct ntfs_index *indx, struct ntfs_inode *ni,
1027 return ntfs_write_bh(ni->mi.sbi, &ib->rhdr, &node->nb, sync);
1037 int indx_read(struct ntfs_index *indx, struct ntfs_inode *ni, CLST vbn,
1067 err = ntfs_read_bh(ni->mi.sbi, run, vbo, &ib->rhdr, bytes, &in->nb);
1080 err = attr_load_runs_range(ni, ATTR_ALLOC, name->name, name->name_len,
1087 err = ntfs_read_bh(ni->mi.sbi, run, vbo, &ib->rhdr, bytes, &in->nb);
1097 _ntfs_bad_inode(&ni->vfs_inode);
1103 ntfs_write_bh(ni->mi.sbi, &ib->rhdr, &in->nb, 0);
1119 _ntfs_bad_inode(&ni->vfs_inode);
1137 int indx_find(struct ntfs_index *indx, struct ntfs_inode *ni,
1147 root = indx_get_root(&ni->dir, ni, NULL, NULL);
1179 err = indx_read(indx, ni, de_get_vbn(e), &node);
1200 int indx_find_sort(struct ntfs_index *indx, struct ntfs_inode *ni,
1257 err = indx_read(indx, ni, de_get_vbn(e), &n);
1310 int indx_find_raw(struct ntfs_index *indx, struct ntfs_inode *ni,
1321 u32 record_size = ni->mi.sbi->record_size;
1391 err = indx_used_bit(indx, ni, &bit);
1401 err = indx_read(indx, ni, next_used_vbn, &n);
1429 static int indx_create_allocate(struct ntfs_index *indx, struct ntfs_inode *ni,
1433 struct ntfs_sb_info *sbi = ni->mi.sbi;
1450 err = ni_insert_nonresident(ni, ATTR_ALLOC, in->name, in->name_len,
1457 err = ni_insert_resident(ni, ntfs3_bitmap_size(1), ATTR_BITMAP,
1463 i_size_write(&ni->vfs_inode, data_size);
1464 inode_set_bytes(&ni->vfs_inode, alloc_size);
1474 mi_remove_attr(NULL, &ni->mi, alloc);
1486 static int indx_add_allocate(struct ntfs_index *indx, struct ntfs_inode *ni,
1497 err = indx_find_free(indx, ni, &bit, &bmp);
1518 err = attr_set_size(ni, ATTR_BITMAP, in->name, in->name_len,
1526 alloc = ni_find_attr(ni, NULL, NULL, ATTR_ALLOC, in->name, in->name_len,
1541 err = attr_set_size(ni, ATTR_ALLOC, in->name, in->name_len,
1551 i_size_write(&ni->vfs_inode, data_size);
1560 attr_set_size(ni, ATTR_BITMAP, in->name, in->name_len,
1573 static int indx_insert_into_root(struct ntfs_index *indx, struct ntfs_inode *ni,
1594 root = indx_get_root(indx, ni, &attr, &mi);
1604 sbi = ni->mi.sbi;
1693 indx_create_allocate(indx, ni, &new_vbn) :
1694 indx_add_allocate(indx, ni, &new_vbn);
1697 root = indx_get_root(indx, ni, &attr, &mi);
1721 n = indx_new(indx, ni, new_vbn, sub_vbn);
1735 indx_mark_used(indx, ni, new_vbn >> indx->idx2vbn_bits);
1746 indx_write(indx, ni, n, 0);
1750 err = indx_insert_entry(indx, ni, new_de, ctx, fnd, undo);
1766 indx_write(indx, ni, n, 0);
1786 indx_insert_into_buffer(struct ntfs_index *indx, struct ntfs_inode *ni,
1809 indx_write(indx, ni, n1, 0);
1851 err = indx_add_allocate(indx, ni, &new_vbn);
1856 n2 = indx_new(indx, ni, new_vbn, sub_vbn);
1889 indx_mark_used(indx, ni, new_vbn >> indx->idx2vbn_bits);
1891 indx_write(indx, ni, n1, 0);
1892 indx_write(indx, ni, n2, 0);
1902 err = indx_insert_into_root(indx, ni, up_e, NULL, ctx, fnd, 0);
1908 err = indx_insert_into_buffer(indx, ni, root, up_e, ctx,
1916 indx_mark_free(indx, ni, new_vbn >> indx->idx2vbn_bits);
1918 indx_write(indx, ni, n1, 0);
1933 int indx_insert_entry(struct ntfs_index *indx, struct ntfs_inode *ni,
1952 root = indx_get_root(indx, ni, NULL, NULL);
1963 err = indx_find(indx, ni, root, new_de + 1,
1980 err = indx_insert_into_root(indx, ni, new_de, fnd->root_de, ctx,
1986 err = indx_insert_into_buffer(indx, ni, root, new_de, ctx,
2000 struct ntfs_inode *ni,
2025 err = indx_read(indx, ni, de_get_vbn(e), &n);
2029 r = indx_find_buffer(indx, ni, root, vbn, n);
2046 static int indx_shrink(struct ntfs_index *indx, struct ntfs_inode *ni,
2056 b = ni_find_attr(ni, NULL, &le, ATTR_BITMAP, in->name, in->name_len,
2082 err = scan_nres_bitmap(ni, b, indx, bit, &scan_for_used, &used);
2092 err = attr_set_size(ni, ATTR_ALLOC, in->name, in->name_len,
2098 i_size_write(&ni->vfs_inode, new_data);
2104 err = attr_set_size(ni, ATTR_BITMAP, in->name, in->name_len,
2110 static int indx_free_children(struct ntfs_index *indx, struct ntfs_inode *ni,
2119 err = indx_read(indx, ni, vbn, &n);
2127 indx_free_children(indx, ni, e, false);
2139 indx_mark_free(indx, ni, i);
2149 indx_shrink(indx, ni, i + 1);
2161 struct ntfs_inode *ni,
2179 err = indx_read(indx, ni, vbn, &n);
2237 indx_free_children(indx, ni, te, true);
2248 indx_write(indx, ni, n, 0);
2263 int indx_delete_entry(struct ntfs_index *indx, struct ntfs_inode *ni,
2293 root = indx_get_root(indx, ni, &attr, &mi);
2300 err = indx_find(indx, ni, root, key, key_len, ctx, &diff, &e, fnd);
2336 indx_write(indx, ni, n, 0);
2353 err = indx_get_entry_to_replace(indx, ni, next, &re, fnd2);
2361 err = level ? indx_insert_into_buffer(indx, ni, root,
2365 indx_insert_into_root(indx, ni, re, e,
2379 indx_free_children(indx, ni, next, true);
2384 indx_write(indx, ni, n, 0);
2399 root = indx_get_root(indx, ni, &attr, &mi);
2434 in = indx_find_buffer(indx, ni, root, sub_vbn, NULL);
2546 indx_write(indx, ni, n2d, 0);
2558 indx_mark_free(indx, ni, k);
2571 err = indx_insert_entry(indx, ni, me, ctx, fnd, 0);
2577 indx_shrink(indx, ni, trim_bit);
2589 err = attr_set_size(ni, ATTR_ALLOC, in->name, in->name_len,
2592 i_size_write(&ni->vfs_inode, 0);
2594 err = ni_remove_attr(ni, ATTR_ALLOC, in->name, in->name_len,
2598 err = attr_set_size(ni, ATTR_BITMAP, in->name, in->name_len,
2600 err = ni_remove_attr(ni, ATTR_BITMAP, in->name, in->name_len,
2604 root = indx_get_root(indx, ni, &attr, &mi);
2649 int indx_update_dup(struct ntfs_inode *ni, struct ntfs_sb_info *sbi,
2659 struct ntfs_index *indx = &ni->dir;
2665 root = indx_get_root(indx, ni, NULL, &mi);
2672 err = indx_find(indx, ni, root, fname, fname_full_size(fname), sbi,
2700 err = indx_write(indx, ni, fnd->nodes[fnd->level - 1], sync);
2707 mark_inode_dirty(&ni->vfs_inode);