• Home
  • Raw
  • Download

Lines Matching refs:ni

406 				(unsigned long long)ia_na->ni->mft_no);  in ntfs_inode_lookup_by_name()
411 ia_na->ni->mft_no, vcn)) { in ntfs_inode_lookup_by_name()
658 ntfs_inode *ni; in ntfs_pathname_to_inode() local
692 ni = parent; in ntfs_pathname_to_inode()
711 ni = ntfs_inode_open(vol, inum); in ntfs_pathname_to_inode()
712 if (!ni) { in ntfs_pathname_to_inode()
717 result = ni; in ntfs_pathname_to_inode()
721 ni = ntfs_inode_open(vol, FILE_root); in ntfs_pathname_to_inode()
722 if (!ni) { in ntfs_pathname_to_inode()
767 inum = ntfs_inode_lookup_by_name(ni, unicode, len); in ntfs_pathname_to_inode()
786 inum = ntfs_inode_lookup_by_name(ni, unicode, len); in ntfs_pathname_to_inode()
795 if (ni != parent) in ntfs_pathname_to_inode()
796 if (ntfs_inode_close(ni)) { in ntfs_pathname_to_inode()
802 ni = ntfs_inode_open(vol, inum); in ntfs_pathname_to_inode()
803 if (!ni) { in ntfs_pathname_to_inode()
819 result = ni; in ntfs_pathname_to_inode()
820 ni = NULL; in ntfs_pathname_to_inode()
822 if (ni && (ni != parent)) in ntfs_pathname_to_inode()
823 if (ntfs_inode_close(ni) && !err) in ntfs_pathname_to_inode()
866 u32 ntfs_interix_types(ntfs_inode *ni) in ntfs_interix_types() argument
873 na = ntfs_attr_open(ni, AT_DATA, NULL, 0); in ntfs_interix_types()
879 if (ni->mrec->flags & MFT_RECORD_IS_DIRECTORY) in ntfs_interix_types()
884 if (!(ni->flags & FILE_ATTR_HIDDEN)) in ntfs_interix_types()
916 ntfs_inode *ni; in ntfs_dir_entry_type() local
920 ni = ntfs_inode_open(dir_ni->vol, mref); in ntfs_dir_entry_type()
921 if (ni) { in ntfs_dir_entry_type()
923 dt_type = (ntfs_possible_symlink(ni) in ntfs_dir_entry_type()
928 dt_type = ntfs_interix_types(ni); in ntfs_dir_entry_type()
933 if (ntfs_inode_close(ni)) { in ntfs_dir_entry_type()
1044 static MFT_REF ntfs_mft_get_parent_ref(ntfs_inode *ni) in ntfs_mft_get_parent_ref() argument
1053 if (!ni) { in ntfs_mft_get_parent_ref()
1058 ctx = ntfs_attr_get_search_ctx(ni, NULL); in ntfs_mft_get_parent_ref()
1063 (unsigned long long)ni->mft_no); in ntfs_mft_get_parent_ref()
1068 "%lld)\n", (unsigned long long)ni->mft_no); in ntfs_mft_get_parent_ref()
1355 ia_na->ni->mft_no, ia_start >> index_vcn_size_bits)) { in ntfs_readdir()
1473 ntfs_inode *ni; in __ntfs_create() local
1490 ni = ntfs_mft_record_alloc(dir_ni->vol, NULL); in __ntfs_create()
1491 if (!ni) in __ntfs_create()
1494 ntfs_inode_invalidate(dir_ni->vol, ni->mft_no); in __ntfs_create()
1511 si->creation_time = ni->creation_time; in __ntfs_create()
1512 si->last_data_change_time = ni->last_data_change_time; in __ntfs_create()
1513 si->last_mft_change_time = ni->last_mft_change_time; in __ntfs_create()
1514 si->last_access_time = ni->last_access_time; in __ntfs_create()
1516 set_nino_flag(ni, v3_Extensions); in __ntfs_create()
1517 ni->owner_id = si->owner_id = const_cpu_to_le32(0); in __ntfs_create()
1518 ni->security_id = si->security_id = securid; in __ntfs_create()
1519 ni->quota_charged = si->quota_charged = const_cpu_to_le64(0); in __ntfs_create()
1520 ni->usn = si->usn = const_cpu_to_le64(0); in __ntfs_create()
1522 clear_nino_flag(ni, v3_Extensions); in __ntfs_create()
1529 ni->flags = FILE_ATTRIBUTE_RECALL_ON_OPEN; in __ntfs_create()
1534 ni->flags = FILE_ATTR_SYSTEM; in __ntfs_create()
1538 ni->flags |= FILE_ATTR_ARCHIVE; in __ntfs_create()
1543 ni->flags |= FILE_ATTR_HIDDEN; in __ntfs_create()
1554 ni->flags |= FILE_ATTR_COMPRESSED; in __ntfs_create()
1556 if (ntfs_attr_add(ni, AT_STANDARD_INFORMATION, AT_UNNAMED, 0, in __ntfs_create()
1565 if (ntfs_sd_add_everyone(ni)) { in __ntfs_create()
1587 ir->index_block_size = cpu_to_le32(ni->vol->indx_record_size); in __ntfs_create()
1588 if (ni->vol->cluster_size <= ni->vol->indx_record_size) in __ntfs_create()
1590 ni->vol->indx_record_size >> in __ntfs_create()
1591 ni->vol->cluster_size_bits; in __ntfs_create()
1594 ni->vol->indx_record_size >> in __ntfs_create()
1604 if (ntfs_attr_add(ni, AT_INDEX_ROOT, NTFS_INDEX_I30, 4, in __ntfs_create()
1678 if (ntfs_attr_add(ni, AT_DATA, AT_UNNAMED, 0, (u8*)data, in __ntfs_create()
1705 fn->file_attributes |= ni->flags & FILE_ATTR_COMPRESSED; in __ntfs_create()
1707 fn->file_attributes |= ni->flags & FILE_ATTR_HIDDEN; in __ntfs_create()
1708 fn->creation_time = ni->creation_time; in __ntfs_create()
1709 fn->last_data_change_time = ni->last_data_change_time; in __ntfs_create()
1710 fn->last_mft_change_time = ni->last_mft_change_time; in __ntfs_create()
1711 fn->last_access_time = ni->last_access_time; in __ntfs_create()
1712 if (ni->mrec->flags & MFT_RECORD_IS_DIRECTORY) in __ntfs_create()
1715 fn->data_size = cpu_to_sle64(ni->data_size); in __ntfs_create()
1716 fn->allocated_size = cpu_to_sle64(ni->allocated_size); in __ntfs_create()
1720 if (ntfs_attr_add(ni, AT_FILE_NAME, AT_UNNAMED, 0, (u8*)fn, fn_len)) { in __ntfs_create()
1726 if (ntfs_index_add_filename(dir_ni, fn, MK_MREF(ni->mft_no, in __ntfs_create()
1727 le16_to_cpu(ni->mrec->sequence_number)))) { in __ntfs_create()
1734 ni->mrec->link_count = const_cpu_to_le16(1); in __ntfs_create()
1736 ni->mrec->flags |= MFT_RECORD_IS_DIRECTORY; in __ntfs_create()
1741 err = ntfs_reparse_set_wsl_symlink(ni, target, in __ntfs_create()
1748 err = ntfs_reparse_set_wsl_not_symlink(ni, in __ntfs_create()
1751 err = ntfs_ea_set_wsl_not_symlink(ni, in __ntfs_create()
1754 ntfs_remove_ntfs_reparse_data(ni); in __ntfs_create()
1766 ntfs_inode_mark_dirty(ni); in __ntfs_create()
1771 return ni; in __ntfs_create()
1776 ntfs_index_remove(dir_ni, ni, fn, fn_len); in __ntfs_create()
1779 ntfs_attr_remove(ni, AT_SECURITY_DESCRIPTOR, AT_UNNAMED, 0); in __ntfs_create()
1782 ntfs_attr_remove(ni, AT_DATA, AT_UNNAMED, 0); in __ntfs_create()
1788 while (ni->nr_extents) in __ntfs_create()
1789 if (ntfs_mft_record_free(ni->vol, *(ni->extent_nis))) { in __ntfs_create()
1794 if (ntfs_mft_record_free(ni->vol, ni)) in __ntfs_create()
1841 int ntfs_check_empty_dir(ntfs_inode *ni) in ntfs_check_empty_dir() argument
1846 if (!(ni->mrec->flags & MFT_RECORD_IS_DIRECTORY)) in ntfs_check_empty_dir()
1849 na = ntfs_attr_open(ni, AT_INDEX_ROOT, NTFS_INDEX_I30, 4); in ntfs_check_empty_dir()
1868 static int ntfs_check_unlinkable_dir(ntfs_inode *ni, FILE_NAME_ATTR *fn) in ntfs_check_unlinkable_dir() argument
1870 int link_count = le16_to_cpu(ni->mrec->link_count); in ntfs_check_unlinkable_dir()
1873 ret = ntfs_check_empty_dir(ni); in ntfs_check_unlinkable_dir()
1905 ntfs_inode *ni, ntfs_inode *dir_ni, const ntfschar *name, in ntfs_delete() argument
1928 if (!ni || !dir_ni || !name || !name_len) { in ntfs_delete()
1933 if (ni->nr_extents == -1) in ntfs_delete()
1934 ni = ni->base_ni; in ntfs_delete()
1943 actx = ntfs_attr_get_search_ctx(ni, NULL); in ntfs_delete()
1987 && NVolCaseSensitive(ni->vol))) in ntfs_delete()
1992 ni->vol->upcase, ni->vol->upcase_len)){ in ntfs_delete()
2017 if (ntfs_check_unlinkable_dir(ni, fn) < 0) in ntfs_delete()
2020 if (ntfs_index_remove(dir_ni, ni, fn, le32_to_cpu(actx->attr->value_length))) in ntfs_delete()
2028 if ((ni->mrec->link_count == const_cpu_to_le16(1)) && !actx->base_ntfs_ino) { in ntfs_delete()
2036 ni->mrec->link_count = cpu_to_le16(le16_to_cpu( in ntfs_delete()
2037 ni->mrec->link_count) - 1); in ntfs_delete()
2039 ntfs_inode_mark_dirty(ni); in ntfs_delete()
2056 lkitem.inum = ni->mft_no; in ntfs_delete()
2062 inum = ni->mft_no; in ntfs_delete()
2084 if (ni->mrec->link_count) { in ntfs_delete()
2085 ntfs_inode_update_times(ni, NTFS_UPDATE_CTIME); in ntfs_delete()
2088 if (ntfs_delete_reparse_index(ni)) { in ntfs_delete()
2097 if (ntfs_delete_object_id_index(ni)) { in ntfs_delete()
2109 rl = ntfs_mapping_pairs_decompress(ni->vol, actx->attr, in ntfs_delete()
2117 if (ntfs_cluster_free_from_rl(ni->vol, rl)) { in ntfs_delete()
2137 for (i=ni->nr_extents-1; i>=0; i--) { in ntfs_delete()
2138 ni->extent_nis[i]->base_ni = (ntfs_inode*)NULL; in ntfs_delete()
2139 ni->extent_nis[i]->nr_extents = 0; in ntfs_delete()
2140 if (ntfs_mft_record_free(ni->vol, ni->extent_nis[i])) { in ntfs_delete()
2146 free(ni->extent_nis); in ntfs_delete()
2147 ni->nr_extents = 0; in ntfs_delete()
2148 ni->extent_nis = (ntfs_inode**)NULL; in ntfs_delete()
2150 while (ni->nr_extents) in ntfs_delete()
2151 if (ntfs_mft_record_free(ni->vol, *(ni->extent_nis))) { in ntfs_delete()
2157 debug_double_inode(ni->mft_no,0); in ntfs_delete()
2158 if (ntfs_mft_record_free(ni->vol, ni)) { in ntfs_delete()
2163 ni = NULL; in ntfs_delete()
2171 if (ntfs_inode_close(ni) && !err) in ntfs_delete()
2200 static int ntfs_link_i(ntfs_inode *ni, ntfs_inode *dir_ni, const ntfschar *name, in ntfs_link_i() argument
2208 if (!ni || !dir_ni || !name || !name_len || in ntfs_link_i()
2209 ni->mft_no == dir_ni->mft_no) { in ntfs_link_i()
2220 ni->flags |= FILE_ATTR_HIDDEN; in ntfs_link_i()
2222 ni->flags &= ~FILE_ATTR_HIDDEN; in ntfs_link_i()
2236 fn->file_attributes = ni->flags; in ntfs_link_i()
2237 if (ni->mrec->flags & MFT_RECORD_IS_DIRECTORY) { in ntfs_link_i()
2241 fn->allocated_size = cpu_to_sle64(ni->allocated_size); in ntfs_link_i()
2242 fn->data_size = cpu_to_sle64(ni->data_size); in ntfs_link_i()
2244 fn->creation_time = ni->creation_time; in ntfs_link_i()
2245 fn->last_data_change_time = ni->last_data_change_time; in ntfs_link_i()
2246 fn->last_mft_change_time = ni->last_mft_change_time; in ntfs_link_i()
2247 fn->last_access_time = ni->last_access_time; in ntfs_link_i()
2250 if (ntfs_index_add_filename(dir_ni, fn, MK_MREF(ni->mft_no, in ntfs_link_i()
2251 le16_to_cpu(ni->mrec->sequence_number)))) { in ntfs_link_i()
2257 if (ntfs_attr_add(ni, AT_FILE_NAME, AT_UNNAMED, 0, (u8*)fn, fn_len)) { in ntfs_link_i()
2261 if (ntfs_index_remove(dir_ni, ni, fn, fn_len)) in ntfs_link_i()
2266 ni->mrec->link_count = cpu_to_le16(le16_to_cpu( in ntfs_link_i()
2267 ni->mrec->link_count) + 1); in ntfs_link_i()
2269 ntfs_inode_mark_dirty(ni); in ntfs_link_i()
2281 int ntfs_link(ntfs_inode *ni, ntfs_inode *dir_ni, const ntfschar *name, in ntfs_link() argument
2284 return (ntfs_link_i(ni, dir_ni, name, name_len, FILE_NAME_POSIX)); in ntfs_link()
2298 ntfs_inode *ntfs_dir_parent_inode(ntfs_inode *ni) in ntfs_dir_parent_inode() argument
2305 if (ni->mft_no != FILE_root) { in ntfs_dir_parent_inode()
2307 ctx = ntfs_attr_get_search_ctx(ni, NULL); in ntfs_dir_parent_inode()
2318 dir_ni = ntfs_inode_open(ni->vol, MREF(inum)); in ntfs_dir_parent_inode()
2338 static int get_dos_name(ntfs_inode *ni, u64 dnum, ntfschar *dosname) in get_dos_name() argument
2346 ctx = ntfs_attr_get_search_ctx(ni, NULL); in get_dos_name()
2390 static int get_long_name(ntfs_inode *ni, u64 dnum, ntfschar *longname) in get_long_name() argument
2398 ctx = ntfs_attr_get_search_ctx(ni, NULL); in get_long_name()
2455 int ntfs_get_ntfs_dos_name(ntfs_inode *ni, ntfs_inode *dir_ni, in ntfs_get_ntfs_dos_name() argument
2465 doslen = get_dos_name(ni, dnum, dosname); in ntfs_get_ntfs_dos_name()
2473 ni->vol->upcase, ni->vol->upcase_len); in ntfs_get_ntfs_dos_name()
2501 static int set_namespace(ntfs_inode *ni, ntfs_inode *dir_ni, in set_namespace() argument
2514 actx = ntfs_attr_get_search_ctx(ni, NULL); in set_namespace()
2538 ntfs_inode_mark_dirty(ni); in set_namespace()
2575 static int set_dos_name(ntfs_inode *ni, ntfs_inode *dir_ni, in set_dos_name() argument
2591 vol = ni->vol; in set_dos_name()
2593 fnum = ni->mft_no; in set_dos_name()
2595 linkcount = le16_to_cpu(ni->mrec->link_count); in set_dos_name()
2598 collapsible = ntfs_collapsible_chars(ni->vol, shortname, shortlen, in set_dos_name()
2604 oldnametype = set_namespace(ni, dir_ni, deletename, in set_dos_name()
2607 if (set_namespace(ni, dir_ni, longname, longlen, in set_dos_name()
2610 (const char*)NULL, ni, dir_ni, in set_dos_name()
2619 if (!done && (set_namespace(ni, dir_ni, in set_dos_name()
2623 ntfs_inode_update_times(ni, NTFS_UPDATE_CTIME); in set_dos_name()
2625 if (ntfs_inode_close_in_dir(ni,dir_ni) && !res) in set_dos_name()
2631 if (!ntfs_link_i(ni, dir_ni, shortname, shortlen, in set_dos_name()
2634 && (le16_to_cpu(ni->mrec->link_count) > linkcount)) { in set_dos_name()
2637 if (!ntfs_delete(vol, (char*)NULL, ni, dir_ni, in set_dos_name()
2642 ni = ntfs_inode_open(vol, fnum); in set_dos_name()
2643 if (ni) { in set_dos_name()
2644 if (!ntfs_link_i(ni, dir_ni, in set_dos_name()
2648 if (ntfs_inode_close_in_dir(ni, in set_dos_name()
2658 ntfs_inode_close_in_dir(ni,dir_ni); in set_dos_name()
2676 int ntfs_set_ntfs_dos_name(ntfs_inode *ni, ntfs_inode *dir_ni, in ntfs_set_ntfs_dos_name() argument
2705 || ntfs_forbidden_names(ni->vol,shortname,shortlen,TRUE)) { in ntfs_set_ntfs_dos_name()
2706 ntfs_inode_close_in_dir(ni,dir_ni); in ntfs_set_ntfs_dos_name()
2712 longlen = get_long_name(ni, dnum, longname); in ntfs_set_ntfs_dos_name()
2714 oldlen = get_dos_name(ni, dnum, oldname); in ntfs_set_ntfs_dos_name()
2716 && !ntfs_forbidden_names(ni->vol, longname, longlen, in ntfs_set_ntfs_dos_name()
2729 res = set_dos_name(ni, dir_ni, in ntfs_set_ntfs_dos_name()
2740 res = set_dos_name(ni, dir_ni, in ntfs_set_ntfs_dos_name()
2756 ntfs_inode_close_in_dir(ni,dir_ni); in ntfs_set_ntfs_dos_name()
2766 int ntfs_remove_ntfs_dos_name(ntfs_inode *ni, ntfs_inode *dir_ni) in ntfs_remove_ntfs_dos_name() argument
2779 vol = ni->vol; in ntfs_remove_ntfs_dos_name()
2781 longlen = get_long_name(ni, dnum, longname); in ntfs_remove_ntfs_dos_name()
2783 shortlen = get_dos_name(ni, dnum, shortname); in ntfs_remove_ntfs_dos_name()
2786 oldnametype = set_namespace(ni,dir_ni,longname,longlen, in ntfs_remove_ntfs_dos_name()
2795 set_namespace(ni,dir_ni,longname,longlen, in ntfs_remove_ntfs_dos_name()
2801 if (set_namespace(ni,dir_ni,shortname,shortlen, in ntfs_remove_ntfs_dos_name()
2804 (const char*)NULL, ni, in ntfs_remove_ntfs_dos_name()
2818 (long long)ni->mft_no); in ntfs_remove_ntfs_dos_name()
2833 ntfs_inode_close_in_dir(ni,dir_ni); in ntfs_remove_ntfs_dos_name()
2866 int ntfs_dir_link_cnt(ntfs_inode *ni) in ntfs_dir_link_cnt() argument
2874 if (!ni) { in ntfs_dir_link_cnt()
2879 if (ni->nr_extents == -1) in ntfs_dir_link_cnt()
2880 ni = ni->base_ni; in ntfs_dir_link_cnt()
2881 if (ni->mrec->flags & MFT_RECORD_IS_DIRECTORY) { in ntfs_dir_link_cnt()
2889 err = ntfs_readdir(ni, &pos, &nlink, nlink_increment); in ntfs_dir_link_cnt()
2897 actx = ntfs_attr_get_search_ctx(ni, NULL); in ntfs_dir_link_cnt()
2913 (long long)ni->mft_no); in ntfs_dir_link_cnt()