Lines Matching refs:dir_ni

226  * @dir_ni:	ntfs inode of the directory in which to search for the name
230 * Look for an inode with name @uname in the directory with inode @dir_ni.
249 u64 ntfs_inode_lookup_by_name(ntfs_inode *dir_ni,
255 ntfs_volume *vol = dir_ni->vol;
269 if (!dir_ni || !dir_ni->mrec || !uname || uname_len <= 0) {
274 ctx = ntfs_attr_get_search_ctx(dir_ni, NULL);
282 "%lld", (unsigned long long)dir_ni->mft_no);
313 (unsigned long long)dir_ni->mft_no);
325 dir_ni->mft_no)) {
372 ia_na = ntfs_attr_open(dir_ni, AT_INDEX_ALLOCATION, NTFS_INDEX_I30, 4);
375 (unsigned long long)dir_ni->mft_no);
433 (unsigned long long)dir_ni->mft_no);
446 dir_ni->mft_no)) {
482 (unsigned long long)dir_ni->mft_no);
491 "0x%llx.\n", (unsigned long long)dir_ni->mft_no);
531 u64 ntfs_inode_lookup_by_mbsname(ntfs_inode *dir_ni, const char *name)
539 if (!NVolCaseSensitive(dir_ni->vol)) {
541 dir_ni->vol->upcase, dir_ni->vol->upcase_len);
554 if (dir_ni->vol->lookup_cache) {
560 item.parent = dir_ni->mft_no;
562 dir_ni->vol->lookup_cache,
572 inum = ntfs_inode_lookup_by_name(dir_ni,
576 ntfs_enter_cache(dir_ni->vol->lookup_cache,
589 inum = ntfs_inode_lookup_by_name(dir_ni,
607 void ntfs_inode_update_mbsname(ntfs_inode *dir_ni, const char *name, u64 inum)
614 if (dir_ni->vol->lookup_cache) {
615 if (!NVolCaseSensitive(dir_ni->vol)) {
617 dir_ni->vol->upcase, dir_ni->vol->upcase_len);
625 item.parent = dir_ni->mft_no;
628 dir_ni->vol->lookup_cache,
913 static u32 ntfs_dir_entry_type(ntfs_inode *dir_ni, MFT_REF mref,
920 ni = ntfs_inode_open(dir_ni->vol, mref);
947 * @dir_ni: ntfs inode of current directory
959 static int ntfs_filldir(ntfs_inode *dir_ni, s64 *pos, u8 ivcn_bits,
976 dir_ni->vol->mft_record_size;
987 dt_type = ntfs_dir_entry_type(dir_ni, mref,
996 if ((!metadata && (NVolShowHidFiles(dir_ni->vol)
998 || (NVolShowSysFiles(dir_ni->vol) && (NVolShowHidFiles(dir_ni->vol)
1000 if (NVolCaseSensitive(dir_ni->vol)) {
1011 dir_ni->vol->locase,
1012 dir_ni->vol->upcase_len);
1087 * @dir_ni: ntfs inode of current directory
1101 int ntfs_readdir(ntfs_inode *dir_ni, s64 *pos,
1118 if (!dir_ni || !pos || !filldir) {
1123 if (!(dir_ni->mrec->flags & MFT_RECORD_IS_DIRECTORY)) {
1128 vol = dir_ni->vol;
1131 (unsigned long long)dir_ni->mft_no, (long long)*pos);
1134 ia_na = ntfs_attr_open(dir_ni, AT_INDEX_ALLOCATION, NTFS_INDEX_I30, 4);
1139 (unsigned long long)dir_ni->mft_no);
1155 MK_MREF(dir_ni->mft_no,
1156 le16_to_cpu(dir_ni->mrec->sequence_number)),
1165 parent_mref = ntfs_mft_get_parent_ref(dir_ni);
1178 ctx = ntfs_attr_get_search_ctx(dir_ni, NULL);
1188 "%lld", (unsigned long long)dir_ni->mft_no);
1235 (unsigned long long)dir_ni->mft_no);
1251 dir_ni->mft_no)) {
1259 rc = ntfs_filldir(dir_ni, pos, index_vcn_size_bits,
1287 bmp_na = ntfs_attr_open(dir_ni, AT_BITMAP, NTFS_INDEX_I30, 4);
1377 "%lld.\n", (unsigned long long)dir_ni->mft_no);
1393 dir_ni->mft_no)) {
1401 rc = ntfs_filldir(dir_ni, pos, index_vcn_size_bits,
1439 * @dir_ni: ntfs inode for directory in which create new object
1469 static ntfs_inode *__ntfs_create(ntfs_inode *dir_ni, le32 securid,
1484 if (!dir_ni || !name || !name_len) {
1490 ni = ntfs_mft_record_alloc(dir_ni->vol, NULL);
1494 ntfs_inode_invalidate(dir_ni->vol, ni->mft_no);
1496 special_files = dir_ni->vol->special_files;
1539 if (NVolHideDotFiles(dir_ni->vol)
1549 if ((dir_ni->flags & FILE_ATTR_COMPRESSED)
1550 && (dir_ni->vol->major_ver >= 3)
1551 && NVolCompression(dir_ni->vol)
1552 && (dir_ni->vol->cluster_size <= MAX_COMPRESSION_CLUSTER_SIZE)
1695 fn->parent_directory = MK_LE_MREF(dir_ni->mft_no,
1696 le16_to_cpu(dir_ni->mrec->sequence_number));
1726 if (ntfs_index_add_filename(dir_ni, fn, MK_MREF(ni->mft_no,
1776 ntfs_index_remove(dir_ni, ni, fn, fn_len);
1807 ntfs_inode *ntfs_create(ntfs_inode *dir_ni, le32 securid, const ntfschar *name,
1815 return __ntfs_create(dir_ni, securid, name, name_len, type, 0, NULL, 0);
1818 ntfs_inode *ntfs_create_device(ntfs_inode *dir_ni, le32 securid,
1825 return __ntfs_create(dir_ni, securid, name, name_len, type, dev, NULL, 0);
1828 ntfs_inode *ntfs_create_symlink(ntfs_inode *dir_ni, le32 securid,
1837 return __ntfs_create(dir_ni, securid, name, name_len, S_IFLNK, 0,
1895 * @dir_ni: ntfs inode for directory in which delete object
1905 ntfs_inode *ni, ntfs_inode *dir_ni, const ntfschar *name,
1928 if (!ni || !dir_ni || !name || !name_len) {
1935 if (dir_ni->nr_extents == -1)
1936 dir_ni = dir_ni->base_ni;
1978 if (dir_ni->mft_no != MREF_LE(fn->parent_directory)) {
1981 (long long unsigned)dir_ni->mft_no,
2020 if (ntfs_index_remove(dir_ni, ni, fn, le32_to_cpu(actx->attr->value_length)))
2057 lkitem.parent = dir_ni->mft_no;
2165 ntfs_inode_update_times(dir_ni, NTFS_UPDATE_MCTIME);
2169 if (ntfs_inode_close(dir_ni) && !err)
2188 * @dir_ni: ntfs inode for directory in which new link should be placed
2200 static int ntfs_link_i(ntfs_inode *ni, ntfs_inode *dir_ni, const ntfschar *name,
2208 if (!ni || !dir_ni || !name || !name_len ||
2209 ni->mft_no == dir_ni->mft_no) {
2215 if (NVolHideDotFiles(dir_ni->vol)) {
2232 fn->parent_directory = MK_LE_MREF(dir_ni->mft_no,
2233 le16_to_cpu(dir_ni->mrec->sequence_number));
2250 if (ntfs_index_add_filename(dir_ni, fn, MK_MREF(ni->mft_no,
2261 if (ntfs_index_remove(dir_ni, ni, fn, fn_len))
2281 int ntfs_link(ntfs_inode *ni, ntfs_inode *dir_ni, const ntfschar *name,
2284 return (ntfs_link_i(ni, dir_ni, name, name_len, FILE_NAME_POSIX));
2300 ntfs_inode *dir_ni = (ntfs_inode*)NULL;
2318 dir_ni = ntfs_inode_open(ni->vol, MREF(inum));
2323 return (dir_ni);
2455 int ntfs_get_ntfs_dos_name(ntfs_inode *ni, ntfs_inode *dir_ni,
2464 dnum = dir_ni->mft_no;
2501 static int set_namespace(ntfs_inode *ni, ntfs_inode *dir_ni,
2524 == dir_ni->mft_no)
2530 icx = ntfs_index_ctx_get(dir_ni, NTFS_INDEX_I30, 4);
2575 static int set_dos_name(ntfs_inode *ni, ntfs_inode *dir_ni,
2592 dnum = dir_ni->mft_no;
2604 oldnametype = set_namespace(ni, dir_ni, deletename,
2607 if (set_namespace(ni, dir_ni, longname, longlen,
2610 (const char*)NULL, ni, dir_ni,
2619 if (!done && (set_namespace(ni, dir_ni,
2624 ntfs_inode_update_times(dir_ni, NTFS_UPDATE_MCTIME);
2625 if (ntfs_inode_close_in_dir(ni,dir_ni) && !res)
2627 if (ntfs_inode_close(dir_ni) && !res)
2631 if (!ntfs_link_i(ni, dir_ni, shortname, shortlen,
2637 if (!ntfs_delete(vol, (char*)NULL, ni, dir_ni,
2640 dir_ni = ntfs_inode_open(vol, dnum);
2641 if (dir_ni) {
2644 if (!ntfs_link_i(ni, dir_ni,
2649 dir_ni)
2653 if (ntfs_inode_close(dir_ni) && !res)
2658 ntfs_inode_close_in_dir(ni,dir_ni);
2659 ntfs_inode_close(dir_ni);
2676 int ntfs_set_ntfs_dos_name(ntfs_inode *ni, ntfs_inode *dir_ni,
2706 ntfs_inode_close_in_dir(ni,dir_ni);
2707 ntfs_inode_close(dir_ni);
2711 dnum = dir_ni->mft_no;
2729 res = set_dos_name(ni, dir_ni,
2740 res = set_dos_name(ni, dir_ni,
2756 ntfs_inode_close_in_dir(ni,dir_ni);
2757 ntfs_inode_close(dir_ni);
2766 int ntfs_remove_ntfs_dos_name(ntfs_inode *ni, ntfs_inode *dir_ni)
2780 dnum = dir_ni->mft_no;
2786 oldnametype = set_namespace(ni,dir_ni,longname,longlen,
2795 set_namespace(ni,dir_ni,longname,longlen,
2801 if (set_namespace(ni,dir_ni,shortname,shortlen,
2805 dir_ni, shortname,
2833 ntfs_inode_close_in_dir(ni,dir_ni);
2834 ntfs_inode_close(dir_ni);