Lines Matching refs:ni
62 ntfs_inode *ni; in ntfs_test_inode() local
66 ni = NTFS_I(vi); in ntfs_test_inode()
68 if (likely(!NInoAttr(ni))) { in ntfs_test_inode()
74 if (ni->type != na->type) in ntfs_test_inode()
76 if (ni->name_len != na->name_len) in ntfs_test_inode()
78 if (na->name_len && memcmp(ni->name, na->name, in ntfs_test_inode()
106 ntfs_inode *ni = NTFS_I(vi); in ntfs_init_locked_inode() local
110 ni->type = na->type; in ntfs_init_locked_inode()
112 NInoSetMstProtected(ni); in ntfs_init_locked_inode()
114 ni->name = na->name; in ntfs_init_locked_inode()
115 ni->name_len = na->name_len; in ntfs_init_locked_inode()
125 NInoSetAttr(ni); in ntfs_init_locked_inode()
139 ni->name = kmalloc(i + sizeof(ntfschar), GFP_ATOMIC); in ntfs_init_locked_inode()
140 if (!ni->name) in ntfs_init_locked_inode()
142 memcpy(ni->name, na->name, i); in ntfs_init_locked_inode()
143 ni->name[na->name_len] = 0; in ntfs_init_locked_inode()
323 ntfs_inode *ni; in ntfs_alloc_big_inode() local
326 ni = kmem_cache_alloc(ntfs_big_inode_cache, GFP_NOFS); in ntfs_alloc_big_inode()
327 if (likely(ni != NULL)) { in ntfs_alloc_big_inode()
328 ni->state = 0; in ntfs_alloc_big_inode()
329 return VFS_I(ni); in ntfs_alloc_big_inode()
343 ntfs_inode *ni = NTFS_I(inode); in ntfs_destroy_big_inode() local
346 BUG_ON(ni->page); in ntfs_destroy_big_inode()
347 if (!atomic_dec_and_test(&ni->count)) in ntfs_destroy_big_inode()
354 ntfs_inode *ni; in ntfs_alloc_extent_inode() local
357 ni = kmem_cache_alloc(ntfs_inode_cache, GFP_NOFS); in ntfs_alloc_extent_inode()
358 if (likely(ni != NULL)) { in ntfs_alloc_extent_inode()
359 ni->state = 0; in ntfs_alloc_extent_inode()
360 return ni; in ntfs_alloc_extent_inode()
366 static void ntfs_destroy_extent_inode(ntfs_inode *ni) in ntfs_destroy_extent_inode() argument
369 BUG_ON(ni->page); in ntfs_destroy_extent_inode()
370 if (!atomic_dec_and_test(&ni->count)) in ntfs_destroy_extent_inode()
372 kmem_cache_free(ntfs_inode_cache, ni); in ntfs_destroy_extent_inode()
393 void __ntfs_init_inode(struct super_block *sb, ntfs_inode *ni) in __ntfs_init_inode() argument
396 rwlock_init(&ni->size_lock); in __ntfs_init_inode()
397 ni->initialized_size = ni->allocated_size = 0; in __ntfs_init_inode()
398 ni->seq_no = 0; in __ntfs_init_inode()
399 atomic_set(&ni->count, 1); in __ntfs_init_inode()
400 ni->vol = NTFS_SB(sb); in __ntfs_init_inode()
401 ntfs_init_runlist(&ni->runlist); in __ntfs_init_inode()
402 mutex_init(&ni->mrec_lock); in __ntfs_init_inode()
403 ni->page = NULL; in __ntfs_init_inode()
404 ni->page_ofs = 0; in __ntfs_init_inode()
405 ni->attr_list_size = 0; in __ntfs_init_inode()
406 ni->attr_list = NULL; in __ntfs_init_inode()
407 ntfs_init_runlist(&ni->attr_list_rl); in __ntfs_init_inode()
408 lockdep_set_class(&ni->attr_list_rl.lock, in __ntfs_init_inode()
410 ni->itype.index.block_size = 0; in __ntfs_init_inode()
411 ni->itype.index.vcn_size = 0; in __ntfs_init_inode()
412 ni->itype.index.collation_rule = 0; in __ntfs_init_inode()
413 ni->itype.index.block_size_bits = 0; in __ntfs_init_inode()
414 ni->itype.index.vcn_size_bits = 0; in __ntfs_init_inode()
415 mutex_init(&ni->extent_lock); in __ntfs_init_inode()
416 ni->nr_extents = 0; in __ntfs_init_inode()
417 ni->ext.base_ntfs_ino = NULL; in __ntfs_init_inode()
430 ntfs_inode *ni = ntfs_alloc_extent_inode(); in ntfs_new_extent_inode() local
433 if (likely(ni != NULL)) { in ntfs_new_extent_inode()
434 __ntfs_init_inode(sb, ni); in ntfs_new_extent_inode()
435 lockdep_set_class(&ni->mrec_lock, &extent_inode_mrec_lock_key); in ntfs_new_extent_inode()
436 ni->mft_no = mft_no; in ntfs_new_extent_inode()
437 ni->type = AT_UNUSED; in ntfs_new_extent_inode()
438 ni->name = NULL; in ntfs_new_extent_inode()
439 ni->name_len = 0; in ntfs_new_extent_inode()
441 return ni; in ntfs_new_extent_inode()
552 ntfs_inode *ni; in ntfs_read_locked_inode() local
573 ni = NTFS_I(vi); in ntfs_read_locked_inode()
575 m = map_mft_record(ni); in ntfs_read_locked_inode()
580 ctx = ntfs_attr_get_search_ctx(ni, m); in ntfs_read_locked_inode()
596 vi->i_generation = ni->seq_no = le16_to_cpu(m->sequence_number); in ntfs_read_locked_inode()
696 NInoSetAttrList(ni); in ntfs_read_locked_inode()
721 ni->attr_list_size = (u32)ntfs_attr_size(a); in ntfs_read_locked_inode()
722 ni->attr_list = ntfs_malloc_nofs(ni->attr_list_size); in ntfs_read_locked_inode()
723 if (!ni->attr_list) { in ntfs_read_locked_inode()
730 NInoSetAttrListNonResident(ni); in ntfs_read_locked_inode()
740 ni->attr_list_rl.rl = ntfs_mapping_pairs_decompress(vol, in ntfs_read_locked_inode()
742 if (IS_ERR(ni->attr_list_rl.rl)) { in ntfs_read_locked_inode()
743 err = PTR_ERR(ni->attr_list_rl.rl); in ntfs_read_locked_inode()
744 ni->attr_list_rl.rl = NULL; in ntfs_read_locked_inode()
750 if ((err = load_attribute_list(vol, &ni->attr_list_rl, in ntfs_read_locked_inode()
751 ni->attr_list, ni->attr_list_size, in ntfs_read_locked_inode()
768 memcpy(ni->attr_list, (u8*)a + le16_to_cpu( in ntfs_read_locked_inode()
820 NInoSetCompressed(ni); in ntfs_read_locked_inode()
827 NInoSetEncrypted(ni); in ntfs_read_locked_inode()
830 NInoSetSparse(ni); in ntfs_read_locked_inode()
855 ni->itype.index.collation_rule = ir->collation_rule; in ntfs_read_locked_inode()
856 ni->itype.index.block_size = le32_to_cpu(ir->index_block_size); in ntfs_read_locked_inode()
857 if (ni->itype.index.block_size & in ntfs_read_locked_inode()
858 (ni->itype.index.block_size - 1)) { in ntfs_read_locked_inode()
861 ni->itype.index.block_size); in ntfs_read_locked_inode()
864 if (ni->itype.index.block_size > PAGE_SIZE) { in ntfs_read_locked_inode()
868 ni->itype.index.block_size, in ntfs_read_locked_inode()
873 if (ni->itype.index.block_size < NTFS_BLOCK_SIZE) { in ntfs_read_locked_inode()
877 ni->itype.index.block_size, in ntfs_read_locked_inode()
882 ni->itype.index.block_size_bits = in ntfs_read_locked_inode()
883 ffs(ni->itype.index.block_size) - 1; in ntfs_read_locked_inode()
885 if (vol->cluster_size <= ni->itype.index.block_size) { in ntfs_read_locked_inode()
886 ni->itype.index.vcn_size = vol->cluster_size; in ntfs_read_locked_inode()
887 ni->itype.index.vcn_size_bits = vol->cluster_size_bits; in ntfs_read_locked_inode()
889 ni->itype.index.vcn_size = vol->sector_size; in ntfs_read_locked_inode()
890 ni->itype.index.vcn_size_bits = vol->sector_size_bits; in ntfs_read_locked_inode()
894 NInoSetMstProtected(ni); in ntfs_read_locked_inode()
895 ni->type = AT_INDEX_ALLOCATION; in ntfs_read_locked_inode()
896 ni->name = I30; in ntfs_read_locked_inode()
897 ni->name_len = 4; in ntfs_read_locked_inode()
901 vi->i_size = ni->initialized_size = in ntfs_read_locked_inode()
902 ni->allocated_size = 0; in ntfs_read_locked_inode()
905 unmap_mft_record(ni); in ntfs_read_locked_inode()
910 NInoSetIndexAllocPresent(ni); in ntfs_read_locked_inode()
966 ni->initialized_size = sle64_to_cpu( in ntfs_read_locked_inode()
968 ni->allocated_size = sle64_to_cpu( in ntfs_read_locked_inode()
975 unmap_mft_record(ni); in ntfs_read_locked_inode()
995 ni->itype.index.block_size_bits)) { in ntfs_read_locked_inode()
1013 ni->type = AT_DATA; in ntfs_read_locked_inode()
1014 ni->name = NULL; in ntfs_read_locked_inode()
1015 ni->name_len = 0; in ntfs_read_locked_inode()
1020 vi->i_size = ni->initialized_size = in ntfs_read_locked_inode()
1021 ni->allocated_size = 0; in ntfs_read_locked_inode()
1053 NInoSetCompressed(ni); in ntfs_read_locked_inode()
1073 NInoSetSparse(ni); in ntfs_read_locked_inode()
1076 if (NInoCompressed(ni)) { in ntfs_read_locked_inode()
1081 NInoSetEncrypted(ni); in ntfs_read_locked_inode()
1084 NInoSetNonResident(ni); in ntfs_read_locked_inode()
1085 if (NInoCompressed(ni) || NInoSparse(ni)) { in ntfs_read_locked_inode()
1086 if (NInoCompressed(ni) && a->data.non_resident. in ntfs_read_locked_inode()
1099 ni->itype.compressed.block_size = 1U << in ntfs_read_locked_inode()
1103 ni->itype.compressed.block_size_bits = in ntfs_read_locked_inode()
1104 ffs(ni->itype. in ntfs_read_locked_inode()
1107 ni->itype.compressed.block_clusters = in ntfs_read_locked_inode()
1112 ni->itype.compressed.block_size = 0; in ntfs_read_locked_inode()
1113 ni->itype.compressed.block_size_bits = in ntfs_read_locked_inode()
1115 ni->itype.compressed.block_clusters = in ntfs_read_locked_inode()
1118 ni->itype.compressed.size = sle64_to_cpu( in ntfs_read_locked_inode()
1130 ni->initialized_size = sle64_to_cpu( in ntfs_read_locked_inode()
1132 ni->allocated_size = sle64_to_cpu( in ntfs_read_locked_inode()
1135 vi->i_size = ni->initialized_size = le32_to_cpu( in ntfs_read_locked_inode()
1137 ni->allocated_size = le32_to_cpu(a->length) - in ntfs_read_locked_inode()
1140 if (vi->i_size > ni->allocated_size) { in ntfs_read_locked_inode()
1150 unmap_mft_record(ni); in ntfs_read_locked_inode()
1157 if (NInoMstProtected(ni)) in ntfs_read_locked_inode()
1159 else if (NInoCompressed(ni)) in ntfs_read_locked_inode()
1173 if (S_ISREG(vi->i_mode) && (NInoCompressed(ni) || NInoSparse(ni))) in ntfs_read_locked_inode()
1174 vi->i_blocks = ni->itype.compressed.size >> 9; in ntfs_read_locked_inode()
1176 vi->i_blocks = ni->allocated_size >> 9; in ntfs_read_locked_inode()
1187 unmap_mft_record(ni); in ntfs_read_locked_inode()
1222 ntfs_inode *ni, *base_ni; in ntfs_read_locked_attr_inode() local
1232 ni = NTFS_I(vi); in ntfs_read_locked_attr_inode()
1242 vi->i_generation = ni->seq_no = base_ni->seq_no; in ntfs_read_locked_attr_inode()
1258 err = ntfs_attr_lookup(ni->type, ni->name, ni->name_len, in ntfs_read_locked_attr_inode()
1265 NInoSetCompressed(ni); in ntfs_read_locked_attr_inode()
1266 if ((ni->type != AT_DATA) || (ni->type == AT_DATA && in ntfs_read_locked_attr_inode()
1267 ni->name_len)) { in ntfs_read_locked_attr_inode()
1295 if (NInoMstProtected(ni) && ni->type != AT_INDEX_ROOT) { in ntfs_read_locked_attr_inode()
1300 NInoCompressed(ni) ? "compressed" : in ntfs_read_locked_attr_inode()
1305 NInoSetSparse(ni); in ntfs_read_locked_attr_inode()
1308 if (NInoCompressed(ni)) { in ntfs_read_locked_attr_inode()
1317 if (NInoMstProtected(ni) && ni->type != AT_INDEX_ROOT) { in ntfs_read_locked_attr_inode()
1325 if (ni->type != AT_DATA) { in ntfs_read_locked_attr_inode()
1330 NInoSetEncrypted(ni); in ntfs_read_locked_attr_inode()
1340 if (NInoMstProtected(ni)) { in ntfs_read_locked_attr_inode()
1347 vi->i_size = ni->initialized_size = le32_to_cpu( in ntfs_read_locked_attr_inode()
1349 ni->allocated_size = le32_to_cpu(a->length) - in ntfs_read_locked_attr_inode()
1351 if (vi->i_size > ni->allocated_size) { in ntfs_read_locked_attr_inode()
1357 NInoSetNonResident(ni); in ntfs_read_locked_attr_inode()
1369 if (NInoCompressed(ni) || NInoSparse(ni)) { in ntfs_read_locked_attr_inode()
1370 if (NInoCompressed(ni) && a->data.non_resident. in ntfs_read_locked_attr_inode()
1381 ni->itype.compressed.block_size = 1U << in ntfs_read_locked_attr_inode()
1385 ni->itype.compressed.block_size_bits = in ntfs_read_locked_attr_inode()
1386 ffs(ni->itype.compressed. in ntfs_read_locked_attr_inode()
1388 ni->itype.compressed.block_clusters = 1U << in ntfs_read_locked_attr_inode()
1392 ni->itype.compressed.block_size = 0; in ntfs_read_locked_attr_inode()
1393 ni->itype.compressed.block_size_bits = 0; in ntfs_read_locked_attr_inode()
1394 ni->itype.compressed.block_clusters = 0; in ntfs_read_locked_attr_inode()
1396 ni->itype.compressed.size = sle64_to_cpu( in ntfs_read_locked_attr_inode()
1405 ni->initialized_size = sle64_to_cpu( in ntfs_read_locked_attr_inode()
1407 ni->allocated_size = sle64_to_cpu( in ntfs_read_locked_attr_inode()
1411 if (NInoMstProtected(ni)) in ntfs_read_locked_attr_inode()
1413 else if (NInoCompressed(ni)) in ntfs_read_locked_attr_inode()
1415 if ((NInoCompressed(ni) || NInoSparse(ni)) && ni->type != AT_INDEX_ROOT) in ntfs_read_locked_attr_inode()
1416 vi->i_blocks = ni->itype.compressed.size >> 9; in ntfs_read_locked_attr_inode()
1418 vi->i_blocks = ni->allocated_size >> 9; in ntfs_read_locked_attr_inode()
1424 ni->ext.base_ntfs_ino = base_ni; in ntfs_read_locked_attr_inode()
1425 ni->nr_extents = -1; in ntfs_read_locked_attr_inode()
1443 "Run chkdsk.", err, vi->i_ino, ni->type, ni->name_len, in ntfs_read_locked_attr_inode()
1488 ntfs_inode *ni, *base_ni, *bni; in ntfs_read_locked_index_inode() local
1499 ni = NTFS_I(vi); in ntfs_read_locked_index_inode()
1508 vi->i_generation = ni->seq_no = base_ni->seq_no; in ntfs_read_locked_index_inode()
1523 err = ntfs_attr_lookup(AT_INDEX_ROOT, ni->name, ni->name_len, in ntfs_read_locked_index_inode()
1570 ni->itype.index.collation_rule = ir->collation_rule; in ntfs_read_locked_index_inode()
1573 ni->itype.index.block_size = le32_to_cpu(ir->index_block_size); in ntfs_read_locked_index_inode()
1574 if (!is_power_of_2(ni->itype.index.block_size)) { in ntfs_read_locked_index_inode()
1576 "two.", ni->itype.index.block_size); in ntfs_read_locked_index_inode()
1579 if (ni->itype.index.block_size > PAGE_SIZE) { in ntfs_read_locked_index_inode()
1582 ni->itype.index.block_size, PAGE_SIZE); in ntfs_read_locked_index_inode()
1586 if (ni->itype.index.block_size < NTFS_BLOCK_SIZE) { in ntfs_read_locked_index_inode()
1589 ni->itype.index.block_size, NTFS_BLOCK_SIZE); in ntfs_read_locked_index_inode()
1593 ni->itype.index.block_size_bits = ffs(ni->itype.index.block_size) - 1; in ntfs_read_locked_index_inode()
1595 if (vol->cluster_size <= ni->itype.index.block_size) { in ntfs_read_locked_index_inode()
1596 ni->itype.index.vcn_size = vol->cluster_size; in ntfs_read_locked_index_inode()
1597 ni->itype.index.vcn_size_bits = vol->cluster_size_bits; in ntfs_read_locked_index_inode()
1599 ni->itype.index.vcn_size = vol->sector_size; in ntfs_read_locked_index_inode()
1600 ni->itype.index.vcn_size_bits = vol->sector_size_bits; in ntfs_read_locked_index_inode()
1605 vi->i_size = ni->initialized_size = ni->allocated_size = 0; in ntfs_read_locked_index_inode()
1613 NInoSetIndexAllocPresent(ni); in ntfs_read_locked_index_inode()
1616 err = ntfs_attr_lookup(AT_INDEX_ALLOCATION, ni->name, ni->name_len, in ntfs_read_locked_index_inode()
1664 ni->initialized_size = sle64_to_cpu( in ntfs_read_locked_index_inode()
1666 ni->allocated_size = sle64_to_cpu(a->data.non_resident.allocated_size); in ntfs_read_locked_index_inode()
1676 bvi = ntfs_attr_iget(base_vi, AT_BITMAP, ni->name, ni->name_len); in ntfs_read_locked_index_inode()
1691 if ((bvi_size << 3) < (vi->i_size >> ni->itype.index.block_size_bits)) { in ntfs_read_locked_index_inode()
1701 vi->i_blocks = ni->allocated_size >> 9; in ntfs_read_locked_index_inode()
1707 ni->ext.base_ntfs_ino = base_ni; in ntfs_read_locked_index_inode()
1708 ni->nr_extents = -1; in ntfs_read_locked_index_inode()
1724 ni->name_len); in ntfs_read_locked_index_inode()
1773 ntfs_inode *ni; in ntfs_read_inode_mount() local
1785 ni = NTFS_I(vi); in ntfs_read_inode_mount()
1788 NInoSetNonResident(ni); in ntfs_read_inode_mount()
1789 NInoSetMstProtected(ni); in ntfs_read_inode_mount()
1790 NInoSetSparseDisabled(ni); in ntfs_read_inode_mount()
1791 ni->type = AT_DATA; in ntfs_read_inode_mount()
1792 ni->name = NULL; in ntfs_read_inode_mount()
1793 ni->name_len = 0; in ntfs_read_inode_mount()
1798 ni->itype.index.block_size = vol->mft_record_size; in ntfs_read_inode_mount()
1799 ni->itype.index.block_size_bits = vol->mft_record_size_bits; in ntfs_read_inode_mount()
1846 vi->i_generation = ni->seq_no = le16_to_cpu(m->sequence_number); in ntfs_read_inode_mount()
1851 ctx = ntfs_attr_get_search_ctx(ni, m); in ntfs_read_inode_mount()
1872 NInoSetAttrList(ni); in ntfs_read_inode_mount()
1896 ni->attr_list_size = (u32)ntfs_attr_size(a); in ntfs_read_inode_mount()
1897 ni->attr_list = ntfs_malloc_nofs(ni->attr_list_size); in ntfs_read_inode_mount()
1898 if (!ni->attr_list) { in ntfs_read_inode_mount()
1904 NInoSetAttrListNonResident(ni); in ntfs_read_inode_mount()
1912 ni->attr_list_rl.rl = ntfs_mapping_pairs_decompress(vol, in ntfs_read_inode_mount()
1914 if (IS_ERR(ni->attr_list_rl.rl)) { in ntfs_read_inode_mount()
1915 err = PTR_ERR(ni->attr_list_rl.rl); in ntfs_read_inode_mount()
1916 ni->attr_list_rl.rl = NULL; in ntfs_read_inode_mount()
1923 if ((err = load_attribute_list(vol, &ni->attr_list_rl, in ntfs_read_inode_mount()
1924 ni->attr_list, ni->attr_list_size, in ntfs_read_inode_mount()
1943 memcpy(ni->attr_list, (u8*)a + le16_to_cpu( in ntfs_read_inode_mount()
1960 al_entry = (ATTR_LIST_ENTRY*)ni->attr_list; in ntfs_read_inode_mount()
1961 al_end = (u8*)al_entry + ni->attr_list_size; in ntfs_read_inode_mount()
1964 if ((u8*)al_entry < ni->attr_list || in ntfs_read_inode_mount()
2000 ni->seq_no) in ntfs_read_inode_mount()
2043 nrl = ntfs_mapping_pairs_decompress(vol, a, ni->runlist.rl); in ntfs_read_inode_mount()
2050 ni->runlist.rl = nrl; in ntfs_read_inode_mount()
2068 ni->initialized_size = sle64_to_cpu( in ntfs_read_inode_mount()
2070 ni->allocated_size = sle64_to_cpu( in ntfs_read_inode_mount()
2171 lockdep_set_class(&ni->runlist.lock, &mft_ni_runlist_lock_key); in ntfs_read_inode_mount()
2172 lockdep_set_class(&ni->mrec_lock, &mft_ni_mrec_lock_key); in ntfs_read_inode_mount()
2188 static void __ntfs_clear_inode(ntfs_inode *ni) in __ntfs_clear_inode() argument
2191 down_write(&ni->runlist.lock); in __ntfs_clear_inode()
2192 if (ni->runlist.rl) { in __ntfs_clear_inode()
2193 ntfs_free(ni->runlist.rl); in __ntfs_clear_inode()
2194 ni->runlist.rl = NULL; in __ntfs_clear_inode()
2196 up_write(&ni->runlist.lock); in __ntfs_clear_inode()
2198 if (ni->attr_list) { in __ntfs_clear_inode()
2199 ntfs_free(ni->attr_list); in __ntfs_clear_inode()
2200 ni->attr_list = NULL; in __ntfs_clear_inode()
2203 down_write(&ni->attr_list_rl.lock); in __ntfs_clear_inode()
2204 if (ni->attr_list_rl.rl) { in __ntfs_clear_inode()
2205 ntfs_free(ni->attr_list_rl.rl); in __ntfs_clear_inode()
2206 ni->attr_list_rl.rl = NULL; in __ntfs_clear_inode()
2208 up_write(&ni->attr_list_rl.lock); in __ntfs_clear_inode()
2210 if (ni->name_len && ni->name != I30) { in __ntfs_clear_inode()
2212 BUG_ON(!ni->name); in __ntfs_clear_inode()
2213 kfree(ni->name); in __ntfs_clear_inode()
2217 void ntfs_clear_extent_inode(ntfs_inode *ni) in ntfs_clear_extent_inode() argument
2219 ntfs_debug("Entering for inode 0x%lx.", ni->mft_no); in ntfs_clear_extent_inode()
2221 BUG_ON(NInoAttr(ni)); in ntfs_clear_extent_inode()
2222 BUG_ON(ni->nr_extents != -1); in ntfs_clear_extent_inode()
2225 if (NInoDirty(ni)) { in ntfs_clear_extent_inode()
2226 if (!is_bad_inode(VFS_I(ni->ext.base_ntfs_ino))) in ntfs_clear_extent_inode()
2227 ntfs_error(ni->vol->sb, "Clearing dirty extent inode! " in ntfs_clear_extent_inode()
2233 __ntfs_clear_inode(ni); in ntfs_clear_extent_inode()
2236 ntfs_destroy_extent_inode(ni); in ntfs_clear_extent_inode()
2251 ntfs_inode *ni = NTFS_I(vi); in ntfs_evict_big_inode() local
2257 if (NInoDirty(ni)) { in ntfs_evict_big_inode()
2263 if (!was_bad && (is_bad_inode(vi) || NInoDirty(ni))) { in ntfs_evict_big_inode()
2272 if (ni->nr_extents > 0) { in ntfs_evict_big_inode()
2275 for (i = 0; i < ni->nr_extents; i++) in ntfs_evict_big_inode()
2276 ntfs_clear_extent_inode(ni->ext.extent_ntfs_inos[i]); in ntfs_evict_big_inode()
2277 kfree(ni->ext.extent_ntfs_inos); in ntfs_evict_big_inode()
2280 __ntfs_clear_inode(ni); in ntfs_evict_big_inode()
2282 if (NInoAttr(ni)) { in ntfs_evict_big_inode()
2284 if (ni->nr_extents == -1) { in ntfs_evict_big_inode()
2285 iput(VFS_I(ni->ext.base_ntfs_ino)); in ntfs_evict_big_inode()
2286 ni->nr_extents = 0; in ntfs_evict_big_inode()
2287 ni->ext.base_ntfs_ino = NULL; in ntfs_evict_big_inode()
2359 ntfs_inode *base_ni, *ni = NTFS_I(vi); in ntfs_truncate() local
2360 ntfs_volume *vol = ni->vol; in ntfs_truncate()
2369 BUG_ON(NInoAttr(ni)); in ntfs_truncate()
2371 BUG_ON(NInoMstProtected(ni)); in ntfs_truncate()
2372 BUG_ON(ni->nr_extents < 0); in ntfs_truncate()
2378 down_write(&ni->runlist.lock); in ntfs_truncate()
2379 if (!NInoAttr(ni)) in ntfs_truncate()
2380 base_ni = ni; in ntfs_truncate()
2382 base_ni = ni->ext.base_ntfs_ino; in ntfs_truncate()
2400 err = ntfs_attr_lookup(ni->type, ni->name, ni->name_len, in ntfs_truncate()
2423 if (NInoNonResident(ni)) in ntfs_truncate()
2429 read_lock_irqsave(&ni->size_lock, flags); in ntfs_truncate()
2430 old_alloc_size = ni->allocated_size; in ntfs_truncate()
2431 read_unlock_irqrestore(&ni->size_lock, flags); in ntfs_truncate()
2457 err = ntfs_attr_size_bounds_check(vol, ni->type, new_size); in ntfs_truncate()
2467 le32_to_cpu(ni->type)); in ntfs_truncate()
2474 le32_to_cpu(ni->type)); in ntfs_truncate()
2482 if (NInoCompressed(ni) || NInoEncrypted(ni)) { in ntfs_truncate()
2485 NInoCompressed(ni) ? "compressed" : in ntfs_truncate()
2492 BUG_ON(NInoNonResident(ni)); in ntfs_truncate()
2499 write_lock_irqsave(&ni->size_lock, flags); in ntfs_truncate()
2501 ni->allocated_size = le32_to_cpu(a->length) - in ntfs_truncate()
2531 ni->initialized_size = new_size; in ntfs_truncate()
2532 write_unlock_irqrestore(&ni->size_lock, flags); in ntfs_truncate()
2548 up_write(&ni->runlist.lock); in ntfs_truncate()
2553 err = ntfs_attr_make_non_resident(ni, old_size); in ntfs_truncate()
2566 (unsigned)le32_to_cpu(ni->type), err); in ntfs_truncate()
2592 if (ni->type == AT_ATTRIBUTE_LIST || in ntfs_truncate()
2593 ni->type == AT_STANDARD_INFORMATION) { in ntfs_truncate()
2611 BUG_ON(!NInoNonResident(ni)); in ntfs_truncate()
2627 (unsigned)le32_to_cpu(ni->type)); in ntfs_truncate()
2640 write_lock_irqsave(&ni->size_lock, flags); in ntfs_truncate()
2641 if (new_size < ni->initialized_size) { in ntfs_truncate()
2642 ni->initialized_size = new_size; in ntfs_truncate()
2647 write_unlock_irqrestore(&ni->size_lock, flags); in ntfs_truncate()
2681 up_write(&ni->runlist.lock); in ntfs_truncate()
2682 err = ntfs_attr_extend_allocation(ni, new_size, in ntfs_truncate()
2695 nr_freed = ntfs_cluster_free(ni, new_alloc_size >> in ntfs_truncate()
2707 err = ntfs_rl_truncate_nolock(vol, &ni->runlist, in ntfs_truncate()
2725 mp_size = ntfs_get_size_for_mapping_pairs(vol, ni->runlist.rl, 0, -1); in ntfs_truncate()
2731 (unsigned)le32_to_cpu(ni->type), mp_size, es); in ntfs_truncate()
2749 mp_size, ni->runlist.rl, 0, -1, NULL); in ntfs_truncate()
2754 vi->i_ino, (unsigned)le32_to_cpu(ni->type), in ntfs_truncate()
2762 write_lock_irqsave(&ni->size_lock, flags); in ntfs_truncate()
2763 ni->allocated_size = new_alloc_size; in ntfs_truncate()
2765 if (NInoSparse(ni) || NInoCompressed(ni)) { in ntfs_truncate()
2767 ni->itype.compressed.size -= nr_freed << in ntfs_truncate()
2769 BUG_ON(ni->itype.compressed.size < 0); in ntfs_truncate()
2771 ni->itype.compressed.size); in ntfs_truncate()
2772 vi->i_blocks = ni->itype.compressed.size >> 9; in ntfs_truncate()
2776 write_unlock_irqrestore(&ni->size_lock, flags); in ntfs_truncate()
2798 up_write(&ni->runlist.lock); in ntfs_truncate()
2821 NInoClearTruncateFailed(ni); in ntfs_truncate()
2831 NInoSetTruncateFailed(ni); in ntfs_truncate()
2839 up_write(&ni->runlist.lock); in ntfs_truncate()
2847 NInoSetTruncateFailed(ni); in ntfs_truncate()
2899 ntfs_inode *ni = NTFS_I(vi); in ntfs_setattr() local
2904 if (NInoCompressed(ni) || NInoEncrypted(ni)) { in ntfs_setattr()
2908 NInoCompressed(ni) ? in ntfs_setattr()
2960 ntfs_inode *ni = NTFS_I(vi); in __ntfs_write_inode() local
2967 ntfs_debug("Entering for %sinode 0x%lx.", NInoAttr(ni) ? "attr " : "", in __ntfs_write_inode()
2974 if (NInoAttr(ni)) { in __ntfs_write_inode()
2975 NInoClearDirty(ni); in __ntfs_write_inode()
2980 m = map_mft_record(ni); in __ntfs_write_inode()
2986 ctx = ntfs_attr_get_search_ctx(ni, m); in __ntfs_write_inode()
3051 if (NInoDirty(ni)) in __ntfs_write_inode()
3052 err = write_mft_record(ni, m, sync); in __ntfs_write_inode()
3054 mutex_lock(&ni->extent_lock); in __ntfs_write_inode()
3055 if (ni->nr_extents > 0) { in __ntfs_write_inode()
3056 ntfs_inode **extent_nis = ni->ext.extent_ntfs_inos; in __ntfs_write_inode()
3059 ntfs_debug("Writing %i extent inodes.", ni->nr_extents); in __ntfs_write_inode()
3060 for (i = 0; i < ni->nr_extents; i++) { in __ntfs_write_inode()
3081 mutex_unlock(&ni->extent_lock); in __ntfs_write_inode()
3082 unmap_mft_record(ni); in __ntfs_write_inode()
3088 unmap_mft_record(ni); in __ntfs_write_inode()
3097 NVolSetErrors(ni->vol); in __ntfs_write_inode()