Lines Matching refs:ni
84 int ntfs_map_runlist_nolock(ntfs_inode *ni, VCN vcn, ntfs_attr_search_ctx *ctx) in ntfs_map_runlist_nolock() argument
99 if (!NInoAttr(ni)) in ntfs_map_runlist_nolock()
100 base_ni = ni; in ntfs_map_runlist_nolock()
102 base_ni = ni->ext.base_ntfs_ino; in ntfs_map_runlist_nolock()
121 read_lock_irqsave(&ni->size_lock, flags); in ntfs_map_runlist_nolock()
122 allocated_size_vcn = ni->allocated_size >> in ntfs_map_runlist_nolock()
123 ni->vol->cluster_size_bits; in ntfs_map_runlist_nolock()
124 read_unlock_irqrestore(&ni->size_lock, flags); in ntfs_map_runlist_nolock()
134 if (vcn >= allocated_size_vcn || (a->type == ni->type && in ntfs_map_runlist_nolock()
135 a->name_length == ni->name_len && in ntfs_map_runlist_nolock()
137 ni->name, ni->name_len) && in ntfs_map_runlist_nolock()
166 err = ntfs_attr_lookup(ni->type, ni->name, ni->name_len, in ntfs_map_runlist_nolock()
187 rl = ntfs_mapping_pairs_decompress(ni->vol, a, ni->runlist.rl); in ntfs_map_runlist_nolock()
191 ni->runlist.rl = rl; in ntfs_map_runlist_nolock()
298 int ntfs_map_runlist(ntfs_inode *ni, VCN vcn) in ntfs_map_runlist() argument
302 down_write(&ni->runlist.lock); in ntfs_map_runlist()
304 if (likely(ntfs_rl_vcn_to_lcn(ni->runlist.rl, vcn) <= in ntfs_map_runlist()
306 err = ntfs_map_runlist_nolock(ni, vcn, NULL); in ntfs_map_runlist()
307 up_write(&ni->runlist.lock); in ntfs_map_runlist()
341 LCN ntfs_attr_vcn_to_lcn_nolock(ntfs_inode *ni, const VCN vcn, in ntfs_attr_vcn_to_lcn_nolock() argument
348 BUG_ON(!ni); in ntfs_attr_vcn_to_lcn_nolock()
350 ni->mft_no, (unsigned long long)vcn, in ntfs_attr_vcn_to_lcn_nolock()
352 BUG_ON(!NInoNonResident(ni)); in ntfs_attr_vcn_to_lcn_nolock()
354 if (!ni->runlist.rl) { in ntfs_attr_vcn_to_lcn_nolock()
355 read_lock_irqsave(&ni->size_lock, flags); in ntfs_attr_vcn_to_lcn_nolock()
356 if (!ni->allocated_size) { in ntfs_attr_vcn_to_lcn_nolock()
357 read_unlock_irqrestore(&ni->size_lock, flags); in ntfs_attr_vcn_to_lcn_nolock()
360 read_unlock_irqrestore(&ni->size_lock, flags); in ntfs_attr_vcn_to_lcn_nolock()
364 lcn = ntfs_rl_vcn_to_lcn(ni->runlist.rl, vcn); in ntfs_attr_vcn_to_lcn_nolock()
376 up_read(&ni->runlist.lock); in ntfs_attr_vcn_to_lcn_nolock()
377 down_write(&ni->runlist.lock); in ntfs_attr_vcn_to_lcn_nolock()
378 if (unlikely(ntfs_rl_vcn_to_lcn(ni->runlist.rl, vcn) != in ntfs_attr_vcn_to_lcn_nolock()
380 up_write(&ni->runlist.lock); in ntfs_attr_vcn_to_lcn_nolock()
381 down_read(&ni->runlist.lock); in ntfs_attr_vcn_to_lcn_nolock()
385 err = ntfs_map_runlist_nolock(ni, vcn, NULL); in ntfs_attr_vcn_to_lcn_nolock()
387 up_write(&ni->runlist.lock); in ntfs_attr_vcn_to_lcn_nolock()
388 down_read(&ni->runlist.lock); in ntfs_attr_vcn_to_lcn_nolock()
402 ntfs_error(ni->vol->sb, "Failed with error code %lli.", in ntfs_attr_vcn_to_lcn_nolock()
464 runlist_element *ntfs_attr_find_vcn_nolock(ntfs_inode *ni, const VCN vcn, in ntfs_attr_find_vcn_nolock() argument
472 BUG_ON(!ni); in ntfs_attr_find_vcn_nolock()
474 ni->mft_no, (unsigned long long)vcn, ctx ? "" : "out"); in ntfs_attr_find_vcn_nolock()
475 BUG_ON(!NInoNonResident(ni)); in ntfs_attr_find_vcn_nolock()
477 if (!ni->runlist.rl) { in ntfs_attr_find_vcn_nolock()
478 read_lock_irqsave(&ni->size_lock, flags); in ntfs_attr_find_vcn_nolock()
479 if (!ni->allocated_size) { in ntfs_attr_find_vcn_nolock()
480 read_unlock_irqrestore(&ni->size_lock, flags); in ntfs_attr_find_vcn_nolock()
483 read_unlock_irqrestore(&ni->size_lock, flags); in ntfs_attr_find_vcn_nolock()
486 rl = ni->runlist.rl; in ntfs_attr_find_vcn_nolock()
517 err = ntfs_map_runlist_nolock(ni, vcn, ctx); in ntfs_attr_find_vcn_nolock()
528 ntfs_error(ni->vol->sb, "Failed with error code %i.", err); in ntfs_attr_find_vcn_nolock()
862 ntfs_inode *base_ni, *ni; in ntfs_external_attr_find() local
872 ni = ctx->ntfs_ino; in ntfs_external_attr_find()
874 ntfs_debug("Entering for inode 0x%lx, type 0x%x.", ni->mft_no, type); in ntfs_external_attr_find()
880 if (ni == base_ni) in ntfs_external_attr_find()
981 if (MREF_LE(al_entry->mft_reference) == ni->mft_no) { in ntfs_external_attr_find()
982 if (MSEQNO_LE(al_entry->mft_reference) != ni->seq_no) { in ntfs_external_attr_find()
992 if (ni != base_ni) in ntfs_external_attr_find()
993 unmap_extent_mft_record(ni); in ntfs_external_attr_find()
997 ni = ctx->ntfs_ino = base_ni; in ntfs_external_attr_find()
1003 al_entry->mft_reference), &ni); in ntfs_external_attr_find()
1016 ni = NULL; in ntfs_external_attr_find()
1019 ctx->ntfs_ino = ni; in ntfs_external_attr_find()
1090 if (ni != base_ni) { in ntfs_external_attr_find()
1091 if (ni) in ntfs_external_attr_find()
1092 unmap_extent_mft_record(ni); in ntfs_external_attr_find()
1123 if (ni != base_ni) in ntfs_external_attr_find()
1124 unmap_extent_mft_record(ni); in ntfs_external_attr_find()
1218 ntfs_inode *ni, MFT_RECORD *mrec) in ntfs_attr_init_search_ctx() argument
1226 .ntfs_ino = ni, in ntfs_attr_init_search_ctx()
1269 ntfs_attr_search_ctx *ntfs_attr_get_search_ctx(ntfs_inode *ni, MFT_RECORD *mrec) in ntfs_attr_get_search_ctx() argument
1275 ntfs_attr_init_search_ctx(ctx, ni, mrec); in ntfs_attr_get_search_ctx()
1535 int ntfs_attr_make_non_resident(ntfs_inode *ni, const u32 data_size) in ntfs_attr_make_non_resident() argument
1538 struct inode *vi = VFS_I(ni); in ntfs_attr_make_non_resident()
1539 ntfs_volume *vol = ni->vol; in ntfs_attr_make_non_resident()
1553 err = ntfs_attr_can_be_non_resident(vol, ni->type); in ntfs_attr_make_non_resident()
1567 BUG_ON(NInoCompressed(ni)); in ntfs_attr_make_non_resident()
1568 BUG_ON(NInoEncrypted(ni)); in ntfs_attr_make_non_resident()
1607 down_write(&ni->runlist.lock); in ntfs_attr_make_non_resident()
1608 if (!NInoAttr(ni)) in ntfs_attr_make_non_resident()
1609 base_ni = ni; in ntfs_attr_make_non_resident()
1611 base_ni = ni->ext.base_ntfs_ino; in ntfs_attr_make_non_resident()
1624 err = ntfs_attr_lookup(ni->type, ni->name, ni->name_len, in ntfs_attr_make_non_resident()
1633 BUG_ON(NInoNonResident(ni)); in ntfs_attr_make_non_resident()
1638 if (NInoSparse(ni) || NInoCompressed(ni)) in ntfs_attr_make_non_resident()
1695 if (NInoSparse(ni) || NInoCompressed(ni)) { in ntfs_attr_make_non_resident()
1697 if (NInoCompressed(ni) || vol->major_ver < 3) in ntfs_attr_make_non_resident()
1712 ni->runlist.rl = rl; in ntfs_attr_make_non_resident()
1713 write_lock_irqsave(&ni->size_lock, flags); in ntfs_attr_make_non_resident()
1714 ni->allocated_size = new_size; in ntfs_attr_make_non_resident()
1715 if (NInoSparse(ni) || NInoCompressed(ni)) { in ntfs_attr_make_non_resident()
1716 ni->itype.compressed.size = ni->allocated_size; in ntfs_attr_make_non_resident()
1718 ni->itype.compressed.block_size = 1U << (a->data. in ntfs_attr_make_non_resident()
1721 ni->itype.compressed.block_size_bits = in ntfs_attr_make_non_resident()
1722 ffs(ni->itype.compressed.block_size) - in ntfs_attr_make_non_resident()
1724 ni->itype.compressed.block_clusters = 1U << in ntfs_attr_make_non_resident()
1727 ni->itype.compressed.block_size = 0; in ntfs_attr_make_non_resident()
1728 ni->itype.compressed.block_size_bits = 0; in ntfs_attr_make_non_resident()
1729 ni->itype.compressed.block_clusters = 0; in ntfs_attr_make_non_resident()
1731 vi->i_blocks = ni->itype.compressed.size >> 9; in ntfs_attr_make_non_resident()
1733 vi->i_blocks = ni->allocated_size >> 9; in ntfs_attr_make_non_resident()
1734 write_unlock_irqrestore(&ni->size_lock, flags); in ntfs_attr_make_non_resident()
1741 NInoSetNonResident(ni); in ntfs_attr_make_non_resident()
1747 up_write(&ni->runlist.lock); in ntfs_attr_make_non_resident()
1790 (unsigned)le32_to_cpu(ni->type), in ntfs_attr_make_non_resident()
1792 ((ni->type == AT_DATA) && in ntfs_attr_make_non_resident()
1793 !ni->name_len) ? "FILE": "ATTRIBUTE"); in ntfs_attr_make_non_resident()
1794 write_lock_irqsave(&ni->size_lock, flags); in ntfs_attr_make_non_resident()
1795 ni->initialized_size = attr_size; in ntfs_attr_make_non_resident()
1797 write_unlock_irqrestore(&ni->size_lock, flags); in ntfs_attr_make_non_resident()
1813 write_lock_irqsave(&ni->size_lock, flags); in ntfs_attr_make_non_resident()
1814 ni->allocated_size = arec_size - mp_ofs; in ntfs_attr_make_non_resident()
1815 write_unlock_irqrestore(&ni->size_lock, flags); in ntfs_attr_make_non_resident()
1824 ni->runlist.rl = NULL; in ntfs_attr_make_non_resident()
1825 up_write(&ni->runlist.lock); in ntfs_attr_make_non_resident()
1904 s64 ntfs_attr_extend_allocation(ntfs_inode *ni, s64 new_alloc_size, in ntfs_attr_extend_allocation() argument
1909 struct inode *vi = VFS_I(ni); in ntfs_attr_extend_allocation()
1910 ntfs_volume *vol = ni->vol; in ntfs_attr_extend_allocation()
1922 read_lock_irqsave(&ni->size_lock, flags); in ntfs_attr_extend_allocation()
1923 allocated_size = ni->allocated_size; in ntfs_attr_extend_allocation()
1924 read_unlock_irqrestore(&ni->size_lock, flags); in ntfs_attr_extend_allocation()
1929 (unsigned)le32_to_cpu(ni->type), in ntfs_attr_extend_allocation()
1940 if (NInoNonResident(ni)) { in ntfs_attr_extend_allocation()
1948 err = ntfs_attr_size_bounds_check(vol, ni->type, new_alloc_size); in ntfs_attr_extend_allocation()
1951 read_lock_irqsave(&ni->size_lock, flags); in ntfs_attr_extend_allocation()
1952 allocated_size = ni->allocated_size; in ntfs_attr_extend_allocation()
1953 read_unlock_irqrestore(&ni->size_lock, flags); in ntfs_attr_extend_allocation()
1963 le32_to_cpu(ni->type)); in ntfs_attr_extend_allocation()
1973 le32_to_cpu(ni->type)); in ntfs_attr_extend_allocation()
1983 if (!NInoAttr(ni)) in ntfs_attr_extend_allocation()
1984 base_ni = ni; in ntfs_attr_extend_allocation()
1986 base_ni = ni->ext.base_ntfs_ino; in ntfs_attr_extend_allocation()
1991 down_write(&ni->runlist.lock); in ntfs_attr_extend_allocation()
2004 read_lock_irqsave(&ni->size_lock, flags); in ntfs_attr_extend_allocation()
2005 allocated_size = ni->allocated_size; in ntfs_attr_extend_allocation()
2006 read_unlock_irqrestore(&ni->size_lock, flags); in ntfs_attr_extend_allocation()
2011 vcn = NInoNonResident(ni) ? allocated_size >> vol->cluster_size_bits : in ntfs_attr_extend_allocation()
2030 err = ntfs_attr_lookup(ni->type, ni->name, ni->name_len, in ntfs_attr_extend_allocation()
2042 BUG_ON(NInoNonResident(ni)); in ntfs_attr_extend_allocation()
2055 write_lock_irqsave(&ni->size_lock, flags); in ntfs_attr_extend_allocation()
2056 ni->allocated_size = le32_to_cpu(a->length) - in ntfs_attr_extend_allocation()
2058 write_unlock_irqrestore(&ni->size_lock, flags); in ntfs_attr_extend_allocation()
2076 up_write(&ni->runlist.lock); in ntfs_attr_extend_allocation()
2081 err = ntfs_attr_make_non_resident(ni, attr_len); in ntfs_attr_extend_allocation()
2091 read_lock_irqsave(&ni->size_lock, flags); in ntfs_attr_extend_allocation()
2092 allocated_size = ni->allocated_size; in ntfs_attr_extend_allocation()
2093 read_unlock_irqrestore(&ni->size_lock, flags); in ntfs_attr_extend_allocation()
2100 (unsigned)le32_to_cpu(ni->type), err); in ntfs_attr_extend_allocation()
2106 read_lock_irqsave(&ni->size_lock, flags); in ntfs_attr_extend_allocation()
2107 allocated_size = ni->allocated_size; in ntfs_attr_extend_allocation()
2108 read_unlock_irqrestore(&ni->size_lock, flags); in ntfs_attr_extend_allocation()
2132 if (ni->type == AT_ATTRIBUTE_LIST || in ntfs_attr_extend_allocation()
2133 ni->type == AT_STANDARD_INFORMATION) { in ntfs_attr_extend_allocation()
2151 BUG_ON(!NInoNonResident(ni)); in ntfs_attr_extend_allocation()
2164 if ((start >= 0 && start <= allocated_size) || ni->type != AT_DATA || in ntfs_attr_extend_allocation()
2165 !NVolSparseEnabled(vol) || NInoSparseDisabled(ni)) in ntfs_attr_extend_allocation()
2172 rl = ni->runlist.rl; in ntfs_attr_extend_allocation()
2180 (rl->lcn == LCN_ENOENT && rl > ni->runlist.rl && in ntfs_attr_extend_allocation()
2184 rl = ntfs_mapping_pairs_decompress(vol, a, ni->runlist.rl); in ntfs_attr_extend_allocation()
2194 (unsigned)le32_to_cpu(ni->type), in ntfs_attr_extend_allocation()
2200 ni->runlist.rl = rl; in ntfs_attr_extend_allocation()
2213 while (rl->lcn < 0 && rl > ni->runlist.rl) in ntfs_attr_extend_allocation()
2230 (unsigned)le32_to_cpu(ni->type), err); in ntfs_attr_extend_allocation()
2235 rl = ntfs_runlists_merge(ni->runlist.rl, rl2); in ntfs_attr_extend_allocation()
2243 (unsigned)le32_to_cpu(ni->type), err); in ntfs_attr_extend_allocation()
2256 ni->runlist.rl = rl; in ntfs_attr_extend_allocation()
2276 (unsigned)le32_to_cpu(ni->type), err); in ntfs_attr_extend_allocation()
2311 (unsigned)le32_to_cpu(ni->type), err); in ntfs_attr_extend_allocation()
2330 err = ntfs_attr_lookup(ni->type, ni->name, ni->name_len, in ntfs_attr_extend_allocation()
2337 write_lock_irqsave(&ni->size_lock, flags); in ntfs_attr_extend_allocation()
2338 ni->allocated_size = new_alloc_size; in ntfs_attr_extend_allocation()
2350 if (NInoSparse(ni) || NInoCompressed(ni)) { in ntfs_attr_extend_allocation()
2351 ni->itype.compressed.size += new_alloc_size - allocated_size; in ntfs_attr_extend_allocation()
2353 cpu_to_sle64(ni->itype.compressed.size); in ntfs_attr_extend_allocation()
2354 vi->i_blocks = ni->itype.compressed.size >> 9; in ntfs_attr_extend_allocation()
2357 write_unlock_irqrestore(&ni->size_lock, flags); in ntfs_attr_extend_allocation()
2371 up_write(&ni->runlist.lock); in ntfs_attr_extend_allocation()
2381 (unsigned)le32_to_cpu(ni->type), err); in ntfs_attr_extend_allocation()
2385 if (ntfs_attr_lookup(ni->type, ni->name, ni->name_len, CASE_SENSITIVE, in ntfs_attr_extend_allocation()
2391 write_lock_irqsave(&ni->size_lock, flags); in ntfs_attr_extend_allocation()
2392 ni->allocated_size = new_alloc_size; in ntfs_attr_extend_allocation()
2398 if (NInoSparse(ni) || NInoCompressed(ni)) { in ntfs_attr_extend_allocation()
2399 ni->itype.compressed.size += new_alloc_size - in ntfs_attr_extend_allocation()
2401 vi->i_blocks = ni->itype.compressed.size >> 9; in ntfs_attr_extend_allocation()
2404 write_unlock_irqrestore(&ni->size_lock, flags); in ntfs_attr_extend_allocation()
2407 up_write(&ni->runlist.lock); in ntfs_attr_extend_allocation()
2419 if (ntfs_cluster_free(ni, ll, -1, ctx) < 0) { in ntfs_attr_extend_allocation()
2433 if (ntfs_rl_truncate_nolock(vol, &ni->runlist, ll) || IS_ERR(m)) { in ntfs_attr_extend_allocation()
2467 up_write(&ni->runlist.lock); in ntfs_attr_extend_allocation()
2493 int ntfs_attr_set(ntfs_inode *ni, const s64 ofs, const s64 cnt, const u8 val) in ntfs_attr_set() argument
2495 ntfs_volume *vol = ni->vol; in ntfs_attr_set()
2512 BUG_ON(NInoCompressed(ni)); in ntfs_attr_set()
2513 BUG_ON(NInoEncrypted(ni)); in ntfs_attr_set()
2514 mapping = VFS_I(ni)->i_mapping; in ntfs_attr_set()
2522 if (unlikely(end > i_size_read(VFS_I(ni)))) { in ntfs_attr_set()