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
580 ni = NTFS_I(vi); in ntfs_read_locked_inode()
582 m = map_mft_record(ni); in ntfs_read_locked_inode()
587 ctx = ntfs_attr_get_search_ctx(ni, m); in ntfs_read_locked_inode()
603 vi->i_generation = ni->seq_no = le16_to_cpu(m->sequence_number); in ntfs_read_locked_inode()
703 NInoSetAttrList(ni); in ntfs_read_locked_inode()
728 ni->attr_list_size = (u32)ntfs_attr_size(a); in ntfs_read_locked_inode()
729 ni->attr_list = ntfs_malloc_nofs(ni->attr_list_size); in ntfs_read_locked_inode()
730 if (!ni->attr_list) { in ntfs_read_locked_inode()
737 NInoSetAttrListNonResident(ni); in ntfs_read_locked_inode()
747 ni->attr_list_rl.rl = ntfs_mapping_pairs_decompress(vol, in ntfs_read_locked_inode()
749 if (IS_ERR(ni->attr_list_rl.rl)) { in ntfs_read_locked_inode()
750 err = PTR_ERR(ni->attr_list_rl.rl); in ntfs_read_locked_inode()
751 ni->attr_list_rl.rl = NULL; in ntfs_read_locked_inode()
757 if ((err = load_attribute_list(vol, &ni->attr_list_rl, in ntfs_read_locked_inode()
758 ni->attr_list, ni->attr_list_size, in ntfs_read_locked_inode()
775 memcpy(ni->attr_list, (u8*)a + le16_to_cpu( in ntfs_read_locked_inode()
827 NInoSetCompressed(ni); in ntfs_read_locked_inode()
834 NInoSetEncrypted(ni); in ntfs_read_locked_inode()
837 NInoSetSparse(ni); in ntfs_read_locked_inode()
862 ni->itype.index.collation_rule = ir->collation_rule; in ntfs_read_locked_inode()
863 ni->itype.index.block_size = le32_to_cpu(ir->index_block_size); in ntfs_read_locked_inode()
864 if (ni->itype.index.block_size & in ntfs_read_locked_inode()
865 (ni->itype.index.block_size - 1)) { in ntfs_read_locked_inode()
868 ni->itype.index.block_size); in ntfs_read_locked_inode()
871 if (ni->itype.index.block_size > PAGE_CACHE_SIZE) { in ntfs_read_locked_inode()
875 ni->itype.index.block_size, in ntfs_read_locked_inode()
880 if (ni->itype.index.block_size < NTFS_BLOCK_SIZE) { in ntfs_read_locked_inode()
884 ni->itype.index.block_size, in ntfs_read_locked_inode()
889 ni->itype.index.block_size_bits = in ntfs_read_locked_inode()
890 ffs(ni->itype.index.block_size) - 1; in ntfs_read_locked_inode()
892 if (vol->cluster_size <= ni->itype.index.block_size) { in ntfs_read_locked_inode()
893 ni->itype.index.vcn_size = vol->cluster_size; in ntfs_read_locked_inode()
894 ni->itype.index.vcn_size_bits = vol->cluster_size_bits; in ntfs_read_locked_inode()
896 ni->itype.index.vcn_size = vol->sector_size; in ntfs_read_locked_inode()
897 ni->itype.index.vcn_size_bits = vol->sector_size_bits; in ntfs_read_locked_inode()
901 NInoSetMstProtected(ni); in ntfs_read_locked_inode()
902 ni->type = AT_INDEX_ALLOCATION; in ntfs_read_locked_inode()
903 ni->name = I30; in ntfs_read_locked_inode()
904 ni->name_len = 4; in ntfs_read_locked_inode()
908 vi->i_size = ni->initialized_size = in ntfs_read_locked_inode()
909 ni->allocated_size = 0; in ntfs_read_locked_inode()
912 unmap_mft_record(ni); in ntfs_read_locked_inode()
917 NInoSetIndexAllocPresent(ni); in ntfs_read_locked_inode()
973 ni->initialized_size = sle64_to_cpu( in ntfs_read_locked_inode()
975 ni->allocated_size = sle64_to_cpu( in ntfs_read_locked_inode()
982 unmap_mft_record(ni); in ntfs_read_locked_inode()
1002 ni->itype.index.block_size_bits)) { in ntfs_read_locked_inode()
1020 ni->type = AT_DATA; in ntfs_read_locked_inode()
1021 ni->name = NULL; in ntfs_read_locked_inode()
1022 ni->name_len = 0; in ntfs_read_locked_inode()
1027 vi->i_size = ni->initialized_size = in ntfs_read_locked_inode()
1028 ni->allocated_size = 0; in ntfs_read_locked_inode()
1060 NInoSetCompressed(ni); in ntfs_read_locked_inode()
1080 NInoSetSparse(ni); in ntfs_read_locked_inode()
1083 if (NInoCompressed(ni)) { in ntfs_read_locked_inode()
1088 NInoSetEncrypted(ni); in ntfs_read_locked_inode()
1091 NInoSetNonResident(ni); in ntfs_read_locked_inode()
1092 if (NInoCompressed(ni) || NInoSparse(ni)) { in ntfs_read_locked_inode()
1093 if (NInoCompressed(ni) && a->data.non_resident. in ntfs_read_locked_inode()
1106 ni->itype.compressed.block_size = 1U << in ntfs_read_locked_inode()
1110 ni->itype.compressed.block_size_bits = in ntfs_read_locked_inode()
1111 ffs(ni->itype. in ntfs_read_locked_inode()
1114 ni->itype.compressed.block_clusters = in ntfs_read_locked_inode()
1119 ni->itype.compressed.block_size = 0; in ntfs_read_locked_inode()
1120 ni->itype.compressed.block_size_bits = in ntfs_read_locked_inode()
1122 ni->itype.compressed.block_clusters = in ntfs_read_locked_inode()
1125 ni->itype.compressed.size = sle64_to_cpu( in ntfs_read_locked_inode()
1137 ni->initialized_size = sle64_to_cpu( in ntfs_read_locked_inode()
1139 ni->allocated_size = sle64_to_cpu( in ntfs_read_locked_inode()
1142 vi->i_size = ni->initialized_size = le32_to_cpu( in ntfs_read_locked_inode()
1144 ni->allocated_size = le32_to_cpu(a->length) - in ntfs_read_locked_inode()
1147 if (vi->i_size > ni->allocated_size) { in ntfs_read_locked_inode()
1157 unmap_mft_record(ni); in ntfs_read_locked_inode()
1164 if (NInoMstProtected(ni)) in ntfs_read_locked_inode()
1166 else if (NInoCompressed(ni)) in ntfs_read_locked_inode()
1180 if (S_ISREG(vi->i_mode) && (NInoCompressed(ni) || NInoSparse(ni))) in ntfs_read_locked_inode()
1181 vi->i_blocks = ni->itype.compressed.size >> 9; in ntfs_read_locked_inode()
1183 vi->i_blocks = ni->allocated_size >> 9; in ntfs_read_locked_inode()
1194 unmap_mft_record(ni); in ntfs_read_locked_inode()
1229 ntfs_inode *ni, *base_ni; in ntfs_read_locked_attr_inode() local
1239 ni = NTFS_I(vi); in ntfs_read_locked_attr_inode()
1250 vi->i_generation = ni->seq_no = base_ni->seq_no; in ntfs_read_locked_attr_inode()
1266 err = ntfs_attr_lookup(ni->type, ni->name, ni->name_len, in ntfs_read_locked_attr_inode()
1273 NInoSetCompressed(ni); in ntfs_read_locked_attr_inode()
1274 if ((ni->type != AT_DATA) || (ni->type == AT_DATA && in ntfs_read_locked_attr_inode()
1275 ni->name_len)) { in ntfs_read_locked_attr_inode()
1303 if (NInoMstProtected(ni) && ni->type != AT_INDEX_ROOT) { in ntfs_read_locked_attr_inode()
1308 NInoCompressed(ni) ? "compressed" : in ntfs_read_locked_attr_inode()
1313 NInoSetSparse(ni); in ntfs_read_locked_attr_inode()
1316 if (NInoCompressed(ni)) { in ntfs_read_locked_attr_inode()
1325 if (NInoMstProtected(ni) && ni->type != AT_INDEX_ROOT) { in ntfs_read_locked_attr_inode()
1333 if (ni->type != AT_DATA) { in ntfs_read_locked_attr_inode()
1338 NInoSetEncrypted(ni); in ntfs_read_locked_attr_inode()
1348 if (NInoMstProtected(ni)) { in ntfs_read_locked_attr_inode()
1355 vi->i_size = ni->initialized_size = le32_to_cpu( in ntfs_read_locked_attr_inode()
1357 ni->allocated_size = le32_to_cpu(a->length) - in ntfs_read_locked_attr_inode()
1359 if (vi->i_size > ni->allocated_size) { in ntfs_read_locked_attr_inode()
1365 NInoSetNonResident(ni); in ntfs_read_locked_attr_inode()
1377 if (NInoCompressed(ni) || NInoSparse(ni)) { in ntfs_read_locked_attr_inode()
1378 if (NInoCompressed(ni) && a->data.non_resident. in ntfs_read_locked_attr_inode()
1389 ni->itype.compressed.block_size = 1U << in ntfs_read_locked_attr_inode()
1393 ni->itype.compressed.block_size_bits = in ntfs_read_locked_attr_inode()
1394 ffs(ni->itype.compressed. in ntfs_read_locked_attr_inode()
1396 ni->itype.compressed.block_clusters = 1U << in ntfs_read_locked_attr_inode()
1400 ni->itype.compressed.block_size = 0; in ntfs_read_locked_attr_inode()
1401 ni->itype.compressed.block_size_bits = 0; in ntfs_read_locked_attr_inode()
1402 ni->itype.compressed.block_clusters = 0; in ntfs_read_locked_attr_inode()
1404 ni->itype.compressed.size = sle64_to_cpu( in ntfs_read_locked_attr_inode()
1413 ni->initialized_size = sle64_to_cpu( in ntfs_read_locked_attr_inode()
1415 ni->allocated_size = sle64_to_cpu( in ntfs_read_locked_attr_inode()
1419 if (NInoMstProtected(ni)) in ntfs_read_locked_attr_inode()
1421 else if (NInoCompressed(ni)) in ntfs_read_locked_attr_inode()
1423 if ((NInoCompressed(ni) || NInoSparse(ni)) && ni->type != AT_INDEX_ROOT) in ntfs_read_locked_attr_inode()
1424 vi->i_blocks = ni->itype.compressed.size >> 9; in ntfs_read_locked_attr_inode()
1426 vi->i_blocks = ni->allocated_size >> 9; in ntfs_read_locked_attr_inode()
1432 ni->ext.base_ntfs_ino = base_ni; in ntfs_read_locked_attr_inode()
1433 ni->nr_extents = -1; in ntfs_read_locked_attr_inode()
1451 "Run chkdsk.", err, vi->i_ino, ni->type, ni->name_len, in ntfs_read_locked_attr_inode()
1496 ntfs_inode *ni, *base_ni, *bni; in ntfs_read_locked_index_inode() local
1507 ni = NTFS_I(vi); in ntfs_read_locked_index_inode()
1517 vi->i_generation = ni->seq_no = base_ni->seq_no; in ntfs_read_locked_index_inode()
1532 err = ntfs_attr_lookup(AT_INDEX_ROOT, ni->name, ni->name_len, in ntfs_read_locked_index_inode()
1579 ni->itype.index.collation_rule = ir->collation_rule; in ntfs_read_locked_index_inode()
1582 ni->itype.index.block_size = le32_to_cpu(ir->index_block_size); in ntfs_read_locked_index_inode()
1583 if (!is_power_of_2(ni->itype.index.block_size)) { in ntfs_read_locked_index_inode()
1585 "two.", ni->itype.index.block_size); in ntfs_read_locked_index_inode()
1588 if (ni->itype.index.block_size > PAGE_CACHE_SIZE) { in ntfs_read_locked_index_inode()
1591 ni->itype.index.block_size, PAGE_CACHE_SIZE); in ntfs_read_locked_index_inode()
1595 if (ni->itype.index.block_size < NTFS_BLOCK_SIZE) { in ntfs_read_locked_index_inode()
1598 ni->itype.index.block_size, NTFS_BLOCK_SIZE); in ntfs_read_locked_index_inode()
1602 ni->itype.index.block_size_bits = ffs(ni->itype.index.block_size) - 1; in ntfs_read_locked_index_inode()
1604 if (vol->cluster_size <= ni->itype.index.block_size) { in ntfs_read_locked_index_inode()
1605 ni->itype.index.vcn_size = vol->cluster_size; in ntfs_read_locked_index_inode()
1606 ni->itype.index.vcn_size_bits = vol->cluster_size_bits; in ntfs_read_locked_index_inode()
1608 ni->itype.index.vcn_size = vol->sector_size; in ntfs_read_locked_index_inode()
1609 ni->itype.index.vcn_size_bits = vol->sector_size_bits; in ntfs_read_locked_index_inode()
1614 vi->i_size = ni->initialized_size = ni->allocated_size = 0; in ntfs_read_locked_index_inode()
1622 NInoSetIndexAllocPresent(ni); in ntfs_read_locked_index_inode()
1625 err = ntfs_attr_lookup(AT_INDEX_ALLOCATION, ni->name, ni->name_len, in ntfs_read_locked_index_inode()
1673 ni->initialized_size = sle64_to_cpu( in ntfs_read_locked_index_inode()
1675 ni->allocated_size = sle64_to_cpu(a->data.non_resident.allocated_size); in ntfs_read_locked_index_inode()
1685 bvi = ntfs_attr_iget(base_vi, AT_BITMAP, ni->name, ni->name_len); in ntfs_read_locked_index_inode()
1700 if ((bvi_size << 3) < (vi->i_size >> ni->itype.index.block_size_bits)) { in ntfs_read_locked_index_inode()
1710 vi->i_blocks = ni->allocated_size >> 9; in ntfs_read_locked_index_inode()
1716 ni->ext.base_ntfs_ino = base_ni; in ntfs_read_locked_index_inode()
1717 ni->nr_extents = -1; in ntfs_read_locked_index_inode()
1733 ni->name_len); in ntfs_read_locked_index_inode()
1782 ntfs_inode *ni; in ntfs_read_inode_mount() local
1794 ni = NTFS_I(vi); in ntfs_read_inode_mount()
1797 NInoSetNonResident(ni); in ntfs_read_inode_mount()
1798 NInoSetMstProtected(ni); in ntfs_read_inode_mount()
1799 NInoSetSparseDisabled(ni); in ntfs_read_inode_mount()
1800 ni->type = AT_DATA; in ntfs_read_inode_mount()
1801 ni->name = NULL; in ntfs_read_inode_mount()
1802 ni->name_len = 0; in ntfs_read_inode_mount()
1807 ni->itype.index.block_size = vol->mft_record_size; in ntfs_read_inode_mount()
1808 ni->itype.index.block_size_bits = vol->mft_record_size_bits; in ntfs_read_inode_mount()
1855 vi->i_generation = ni->seq_no = le16_to_cpu(m->sequence_number); in ntfs_read_inode_mount()
1860 ctx = ntfs_attr_get_search_ctx(ni, m); in ntfs_read_inode_mount()
1881 NInoSetAttrList(ni); in ntfs_read_inode_mount()
1905 ni->attr_list_size = (u32)ntfs_attr_size(a); in ntfs_read_inode_mount()
1906 ni->attr_list = ntfs_malloc_nofs(ni->attr_list_size); in ntfs_read_inode_mount()
1907 if (!ni->attr_list) { in ntfs_read_inode_mount()
1913 NInoSetAttrListNonResident(ni); in ntfs_read_inode_mount()
1921 ni->attr_list_rl.rl = ntfs_mapping_pairs_decompress(vol, in ntfs_read_inode_mount()
1923 if (IS_ERR(ni->attr_list_rl.rl)) { in ntfs_read_inode_mount()
1924 err = PTR_ERR(ni->attr_list_rl.rl); in ntfs_read_inode_mount()
1925 ni->attr_list_rl.rl = NULL; in ntfs_read_inode_mount()
1932 if ((err = load_attribute_list(vol, &ni->attr_list_rl, in ntfs_read_inode_mount()
1933 ni->attr_list, ni->attr_list_size, in ntfs_read_inode_mount()
1952 memcpy(ni->attr_list, (u8*)a + le16_to_cpu( in ntfs_read_inode_mount()
1969 al_entry = (ATTR_LIST_ENTRY*)ni->attr_list; in ntfs_read_inode_mount()
1970 al_end = (u8*)al_entry + ni->attr_list_size; in ntfs_read_inode_mount()
1973 if ((u8*)al_entry < ni->attr_list || in ntfs_read_inode_mount()
2009 ni->seq_no) in ntfs_read_inode_mount()
2052 nrl = ntfs_mapping_pairs_decompress(vol, a, ni->runlist.rl); in ntfs_read_inode_mount()
2059 ni->runlist.rl = nrl; in ntfs_read_inode_mount()
2077 ni->initialized_size = sle64_to_cpu( in ntfs_read_inode_mount()
2079 ni->allocated_size = sle64_to_cpu( in ntfs_read_inode_mount()
2180 lockdep_set_class(&ni->runlist.lock, &mft_ni_runlist_lock_key); in ntfs_read_inode_mount()
2181 lockdep_set_class(&ni->mrec_lock, &mft_ni_mrec_lock_key); in ntfs_read_inode_mount()
2197 static void __ntfs_clear_inode(ntfs_inode *ni) in __ntfs_clear_inode() argument
2200 down_write(&ni->runlist.lock); in __ntfs_clear_inode()
2201 if (ni->runlist.rl) { in __ntfs_clear_inode()
2202 ntfs_free(ni->runlist.rl); in __ntfs_clear_inode()
2203 ni->runlist.rl = NULL; in __ntfs_clear_inode()
2205 up_write(&ni->runlist.lock); in __ntfs_clear_inode()
2207 if (ni->attr_list) { in __ntfs_clear_inode()
2208 ntfs_free(ni->attr_list); in __ntfs_clear_inode()
2209 ni->attr_list = NULL; in __ntfs_clear_inode()
2212 down_write(&ni->attr_list_rl.lock); in __ntfs_clear_inode()
2213 if (ni->attr_list_rl.rl) { in __ntfs_clear_inode()
2214 ntfs_free(ni->attr_list_rl.rl); in __ntfs_clear_inode()
2215 ni->attr_list_rl.rl = NULL; in __ntfs_clear_inode()
2217 up_write(&ni->attr_list_rl.lock); in __ntfs_clear_inode()
2219 if (ni->name_len && ni->name != I30) { in __ntfs_clear_inode()
2221 BUG_ON(!ni->name); in __ntfs_clear_inode()
2222 kfree(ni->name); in __ntfs_clear_inode()
2226 void ntfs_clear_extent_inode(ntfs_inode *ni) in ntfs_clear_extent_inode() argument
2228 ntfs_debug("Entering for inode 0x%lx.", ni->mft_no); in ntfs_clear_extent_inode()
2230 BUG_ON(NInoAttr(ni)); in ntfs_clear_extent_inode()
2231 BUG_ON(ni->nr_extents != -1); in ntfs_clear_extent_inode()
2234 if (NInoDirty(ni)) { in ntfs_clear_extent_inode()
2235 if (!is_bad_inode(VFS_I(ni->ext.base_ntfs_ino))) in ntfs_clear_extent_inode()
2236 ntfs_error(ni->vol->sb, "Clearing dirty extent inode! " in ntfs_clear_extent_inode()
2242 __ntfs_clear_inode(ni); in ntfs_clear_extent_inode()
2245 ntfs_destroy_extent_inode(ni); in ntfs_clear_extent_inode()
2260 ntfs_inode *ni = NTFS_I(vi); in ntfs_evict_big_inode() local
2266 if (NInoDirty(ni)) { in ntfs_evict_big_inode()
2272 if (!was_bad && (is_bad_inode(vi) || NInoDirty(ni))) { in ntfs_evict_big_inode()
2281 if (ni->nr_extents > 0) { in ntfs_evict_big_inode()
2284 for (i = 0; i < ni->nr_extents; i++) in ntfs_evict_big_inode()
2285 ntfs_clear_extent_inode(ni->ext.extent_ntfs_inos[i]); in ntfs_evict_big_inode()
2286 kfree(ni->ext.extent_ntfs_inos); in ntfs_evict_big_inode()
2289 __ntfs_clear_inode(ni); in ntfs_evict_big_inode()
2291 if (NInoAttr(ni)) { in ntfs_evict_big_inode()
2293 if (ni->nr_extents == -1) { in ntfs_evict_big_inode()
2294 iput(VFS_I(ni->ext.base_ntfs_ino)); in ntfs_evict_big_inode()
2295 ni->nr_extents = 0; in ntfs_evict_big_inode()
2296 ni->ext.base_ntfs_ino = NULL; in ntfs_evict_big_inode()
2368 ntfs_inode *base_ni, *ni = NTFS_I(vi); in ntfs_truncate() local
2369 ntfs_volume *vol = ni->vol; in ntfs_truncate()
2378 BUG_ON(NInoAttr(ni)); in ntfs_truncate()
2380 BUG_ON(NInoMstProtected(ni)); in ntfs_truncate()
2381 BUG_ON(ni->nr_extents < 0); in ntfs_truncate()
2387 down_write(&ni->runlist.lock); in ntfs_truncate()
2388 if (!NInoAttr(ni)) in ntfs_truncate()
2389 base_ni = ni; in ntfs_truncate()
2391 base_ni = ni->ext.base_ntfs_ino; in ntfs_truncate()
2409 err = ntfs_attr_lookup(ni->type, ni->name, ni->name_len, in ntfs_truncate()
2432 if (NInoNonResident(ni)) in ntfs_truncate()
2438 read_lock_irqsave(&ni->size_lock, flags); in ntfs_truncate()
2439 old_alloc_size = ni->allocated_size; in ntfs_truncate()
2440 read_unlock_irqrestore(&ni->size_lock, flags); in ntfs_truncate()
2466 err = ntfs_attr_size_bounds_check(vol, ni->type, new_size); in ntfs_truncate()
2476 le32_to_cpu(ni->type)); in ntfs_truncate()
2483 le32_to_cpu(ni->type)); in ntfs_truncate()
2491 if (NInoCompressed(ni) || NInoEncrypted(ni)) { in ntfs_truncate()
2494 NInoCompressed(ni) ? "compressed" : in ntfs_truncate()
2501 BUG_ON(NInoNonResident(ni)); in ntfs_truncate()
2508 write_lock_irqsave(&ni->size_lock, flags); in ntfs_truncate()
2510 ni->allocated_size = le32_to_cpu(a->length) - in ntfs_truncate()
2540 ni->initialized_size = new_size; in ntfs_truncate()
2541 write_unlock_irqrestore(&ni->size_lock, flags); in ntfs_truncate()
2557 up_write(&ni->runlist.lock); in ntfs_truncate()
2562 err = ntfs_attr_make_non_resident(ni, old_size); in ntfs_truncate()
2575 (unsigned)le32_to_cpu(ni->type), err); in ntfs_truncate()
2601 if (ni->type == AT_ATTRIBUTE_LIST || in ntfs_truncate()
2602 ni->type == AT_STANDARD_INFORMATION) { in ntfs_truncate()
2620 BUG_ON(!NInoNonResident(ni)); in ntfs_truncate()
2636 (unsigned)le32_to_cpu(ni->type)); in ntfs_truncate()
2649 write_lock_irqsave(&ni->size_lock, flags); in ntfs_truncate()
2650 if (new_size < ni->initialized_size) { in ntfs_truncate()
2651 ni->initialized_size = new_size; in ntfs_truncate()
2656 write_unlock_irqrestore(&ni->size_lock, flags); in ntfs_truncate()
2690 up_write(&ni->runlist.lock); in ntfs_truncate()
2691 err = ntfs_attr_extend_allocation(ni, new_size, in ntfs_truncate()
2704 nr_freed = ntfs_cluster_free(ni, new_alloc_size >> in ntfs_truncate()
2716 err = ntfs_rl_truncate_nolock(vol, &ni->runlist, in ntfs_truncate()
2734 mp_size = ntfs_get_size_for_mapping_pairs(vol, ni->runlist.rl, 0, -1); in ntfs_truncate()
2740 (unsigned)le32_to_cpu(ni->type), mp_size, es); in ntfs_truncate()
2758 mp_size, ni->runlist.rl, 0, -1, NULL); in ntfs_truncate()
2763 vi->i_ino, (unsigned)le32_to_cpu(ni->type), in ntfs_truncate()
2771 write_lock_irqsave(&ni->size_lock, flags); in ntfs_truncate()
2772 ni->allocated_size = new_alloc_size; in ntfs_truncate()
2774 if (NInoSparse(ni) || NInoCompressed(ni)) { in ntfs_truncate()
2776 ni->itype.compressed.size -= nr_freed << in ntfs_truncate()
2778 BUG_ON(ni->itype.compressed.size < 0); in ntfs_truncate()
2780 ni->itype.compressed.size); in ntfs_truncate()
2781 vi->i_blocks = ni->itype.compressed.size >> 9; in ntfs_truncate()
2785 write_unlock_irqrestore(&ni->size_lock, flags); in ntfs_truncate()
2807 up_write(&ni->runlist.lock); in ntfs_truncate()
2830 NInoClearTruncateFailed(ni); in ntfs_truncate()
2840 NInoSetTruncateFailed(ni); in ntfs_truncate()
2848 up_write(&ni->runlist.lock); in ntfs_truncate()
2856 NInoSetTruncateFailed(ni); in ntfs_truncate()
2908 ntfs_inode *ni = NTFS_I(vi); in ntfs_setattr() local
2913 if (NInoCompressed(ni) || NInoEncrypted(ni)) { in ntfs_setattr()
2917 NInoCompressed(ni) ? in ntfs_setattr()
2969 ntfs_inode *ni = NTFS_I(vi); in __ntfs_write_inode() local
2976 ntfs_debug("Entering for %sinode 0x%lx.", NInoAttr(ni) ? "attr " : "", in __ntfs_write_inode()
2983 if (NInoAttr(ni)) { in __ntfs_write_inode()
2984 NInoClearDirty(ni); in __ntfs_write_inode()
2989 m = map_mft_record(ni); in __ntfs_write_inode()
2995 ctx = ntfs_attr_get_search_ctx(ni, m); in __ntfs_write_inode()
3060 if (NInoDirty(ni)) in __ntfs_write_inode()
3061 err = write_mft_record(ni, m, sync); in __ntfs_write_inode()
3063 mutex_lock(&ni->extent_lock); in __ntfs_write_inode()
3064 if (ni->nr_extents > 0) { in __ntfs_write_inode()
3065 ntfs_inode **extent_nis = ni->ext.extent_ntfs_inos; in __ntfs_write_inode()
3068 ntfs_debug("Writing %i extent inodes.", ni->nr_extents); in __ntfs_write_inode()
3069 for (i = 0; i < ni->nr_extents; i++) { in __ntfs_write_inode()
3090 mutex_unlock(&ni->extent_lock); in __ntfs_write_inode()
3091 unmap_mft_record(ni); in __ntfs_write_inode()
3097 unmap_mft_record(ni); in __ntfs_write_inode()
3106 NVolSetErrors(ni->vol); in __ntfs_write_inode()