Lines Matching full:ni

49 	ntfs_inode *ni;  in ntfs_test_inode()  local
53 ni = NTFS_I(vi); in ntfs_test_inode()
54 /* If !NInoAttr(ni), @vi is a normal file or directory inode. */ in ntfs_test_inode()
55 if (likely(!NInoAttr(ni))) { in ntfs_test_inode()
61 if (ni->type != na->type) in ntfs_test_inode()
63 if (ni->name_len != na->name_len) in ntfs_test_inode()
65 if (na->name_len && memcmp(ni->name, na->name, in ntfs_test_inode()
94 ntfs_inode *ni = NTFS_I(vi); in ntfs_init_locked_inode() local
98 ni->type = na->type; in ntfs_init_locked_inode()
100 NInoSetMstProtected(ni); in ntfs_init_locked_inode()
102 ni->name = na->name; in ntfs_init_locked_inode()
103 ni->name_len = na->name_len; in ntfs_init_locked_inode()
113 NInoSetAttr(ni); in ntfs_init_locked_inode()
127 ni->name = kmalloc(i + sizeof(ntfschar), GFP_ATOMIC); in ntfs_init_locked_inode()
128 if (!ni->name) in ntfs_init_locked_inode()
130 memcpy(ni->name, na->name, i); in ntfs_init_locked_inode()
131 ni->name[na->name_len] = 0; in ntfs_init_locked_inode()
310 ntfs_inode *ni; in ntfs_alloc_big_inode() local
313 ni = kmem_cache_alloc(ntfs_big_inode_cache, GFP_NOFS); in ntfs_alloc_big_inode()
314 if (likely(ni != NULL)) { in ntfs_alloc_big_inode()
315 ni->state = 0; in ntfs_alloc_big_inode()
316 return VFS_I(ni); in ntfs_alloc_big_inode()
329 ntfs_inode *ni; in ntfs_alloc_extent_inode() local
332 ni = kmem_cache_alloc(ntfs_inode_cache, GFP_NOFS); in ntfs_alloc_extent_inode()
333 if (likely(ni != NULL)) { in ntfs_alloc_extent_inode()
334 ni->state = 0; in ntfs_alloc_extent_inode()
335 return ni; in ntfs_alloc_extent_inode()
341 static void ntfs_destroy_extent_inode(ntfs_inode *ni) in ntfs_destroy_extent_inode() argument
344 BUG_ON(ni->page); in ntfs_destroy_extent_inode()
345 if (!atomic_dec_and_test(&ni->count)) in ntfs_destroy_extent_inode()
347 kmem_cache_free(ntfs_inode_cache, ni); in ntfs_destroy_extent_inode()
359 * @ni: freshly allocated ntfs inode which to initialize
363 * NOTE: ni->mft_no, ni->state, ni->type, ni->name, and ni->name_len are left
368 void __ntfs_init_inode(struct super_block *sb, ntfs_inode *ni) in __ntfs_init_inode() argument
371 rwlock_init(&ni->size_lock); in __ntfs_init_inode()
372 ni->initialized_size = ni->allocated_size = 0; in __ntfs_init_inode()
373 ni->seq_no = 0; in __ntfs_init_inode()
374 atomic_set(&ni->count, 1); in __ntfs_init_inode()
375 ni->vol = NTFS_SB(sb); in __ntfs_init_inode()
376 ntfs_init_runlist(&ni->runlist); in __ntfs_init_inode()
377 mutex_init(&ni->mrec_lock); in __ntfs_init_inode()
378 ni->page = NULL; in __ntfs_init_inode()
379 ni->page_ofs = 0; in __ntfs_init_inode()
380 ni->attr_list_size = 0; in __ntfs_init_inode()
381 ni->attr_list = NULL; in __ntfs_init_inode()
382 ntfs_init_runlist(&ni->attr_list_rl); in __ntfs_init_inode()
383 lockdep_set_class(&ni->attr_list_rl.lock, in __ntfs_init_inode()
385 ni->itype.index.block_size = 0; in __ntfs_init_inode()
386 ni->itype.index.vcn_size = 0; in __ntfs_init_inode()
387 ni->itype.index.collation_rule = 0; in __ntfs_init_inode()
388 ni->itype.index.block_size_bits = 0; in __ntfs_init_inode()
389 ni->itype.index.vcn_size_bits = 0; in __ntfs_init_inode()
390 mutex_init(&ni->extent_lock); in __ntfs_init_inode()
391 ni->nr_extents = 0; in __ntfs_init_inode()
392 ni->ext.base_ntfs_ino = NULL; in __ntfs_init_inode()
405 ntfs_inode *ni = ntfs_alloc_extent_inode(); in ntfs_new_extent_inode() local
408 if (likely(ni != NULL)) { in ntfs_new_extent_inode()
409 __ntfs_init_inode(sb, ni); in ntfs_new_extent_inode()
410 lockdep_set_class(&ni->mrec_lock, &extent_inode_mrec_lock_key); in ntfs_new_extent_inode()
411 ni->mft_no = mft_no; in ntfs_new_extent_inode()
412 ni->type = AT_UNUSED; in ntfs_new_extent_inode()
413 ni->name = NULL; in ntfs_new_extent_inode()
414 ni->name_len = 0; in ntfs_new_extent_inode()
416 return ni; in ntfs_new_extent_inode()
527 ntfs_inode *ni; in ntfs_read_locked_inode() local
548 ni = NTFS_I(vi); in ntfs_read_locked_inode()
550 m = map_mft_record(ni); in ntfs_read_locked_inode()
555 ctx = ntfs_attr_get_search_ctx(ni, m); in ntfs_read_locked_inode()
571 vi->i_generation = ni->seq_no = le16_to_cpu(m->sequence_number); in ntfs_read_locked_inode()
671 NInoSetAttrList(ni); in ntfs_read_locked_inode()
696 ni->attr_list_size = (u32)ntfs_attr_size(a); in ntfs_read_locked_inode()
697 ni->attr_list = ntfs_malloc_nofs(ni->attr_list_size); in ntfs_read_locked_inode()
698 if (!ni->attr_list) { in ntfs_read_locked_inode()
705 NInoSetAttrListNonResident(ni); in ntfs_read_locked_inode()
715 ni->attr_list_rl.rl = ntfs_mapping_pairs_decompress(vol, in ntfs_read_locked_inode()
717 if (IS_ERR(ni->attr_list_rl.rl)) { in ntfs_read_locked_inode()
718 err = PTR_ERR(ni->attr_list_rl.rl); in ntfs_read_locked_inode()
719 ni->attr_list_rl.rl = NULL; in ntfs_read_locked_inode()
725 if ((err = load_attribute_list(vol, &ni->attr_list_rl, in ntfs_read_locked_inode()
726 ni->attr_list, ni->attr_list_size, in ntfs_read_locked_inode()
743 memcpy(ni->attr_list, (u8*)a + le16_to_cpu( in ntfs_read_locked_inode()
795 NInoSetCompressed(ni); in ntfs_read_locked_inode()
802 NInoSetEncrypted(ni); in ntfs_read_locked_inode()
805 NInoSetSparse(ni); in ntfs_read_locked_inode()
830 ni->itype.index.collation_rule = ir->collation_rule; in ntfs_read_locked_inode()
831 ni->itype.index.block_size = le32_to_cpu(ir->index_block_size); in ntfs_read_locked_inode()
832 if (ni->itype.index.block_size & in ntfs_read_locked_inode()
833 (ni->itype.index.block_size - 1)) { in ntfs_read_locked_inode()
836 ni->itype.index.block_size); in ntfs_read_locked_inode()
839 if (ni->itype.index.block_size > PAGE_SIZE) { in ntfs_read_locked_inode()
843 ni->itype.index.block_size, in ntfs_read_locked_inode()
848 if (ni->itype.index.block_size < NTFS_BLOCK_SIZE) { in ntfs_read_locked_inode()
852 ni->itype.index.block_size, in ntfs_read_locked_inode()
857 ni->itype.index.block_size_bits = in ntfs_read_locked_inode()
858 ffs(ni->itype.index.block_size) - 1; in ntfs_read_locked_inode()
860 if (vol->cluster_size <= ni->itype.index.block_size) { in ntfs_read_locked_inode()
861 ni->itype.index.vcn_size = vol->cluster_size; in ntfs_read_locked_inode()
862 ni->itype.index.vcn_size_bits = vol->cluster_size_bits; in ntfs_read_locked_inode()
864 ni->itype.index.vcn_size = vol->sector_size; in ntfs_read_locked_inode()
865 ni->itype.index.vcn_size_bits = vol->sector_size_bits; in ntfs_read_locked_inode()
869 NInoSetMstProtected(ni); in ntfs_read_locked_inode()
870 ni->type = AT_INDEX_ALLOCATION; in ntfs_read_locked_inode()
871 ni->name = I30; in ntfs_read_locked_inode()
872 ni->name_len = 4; in ntfs_read_locked_inode()
876 vi->i_size = ni->initialized_size = in ntfs_read_locked_inode()
877 ni->allocated_size = 0; in ntfs_read_locked_inode()
880 unmap_mft_record(ni); in ntfs_read_locked_inode()
885 NInoSetIndexAllocPresent(ni); in ntfs_read_locked_inode()
941 ni->initialized_size = sle64_to_cpu( in ntfs_read_locked_inode()
943 ni->allocated_size = sle64_to_cpu( in ntfs_read_locked_inode()
950 unmap_mft_record(ni); in ntfs_read_locked_inode()
970 ni->itype.index.block_size_bits)) { in ntfs_read_locked_inode()
988 ni->type = AT_DATA; in ntfs_read_locked_inode()
989 ni->name = NULL; in ntfs_read_locked_inode()
990 ni->name_len = 0; in ntfs_read_locked_inode()
995 vi->i_size = ni->initialized_size = in ntfs_read_locked_inode()
996 ni->allocated_size = 0; in ntfs_read_locked_inode()
1028 NInoSetCompressed(ni); in ntfs_read_locked_inode()
1048 NInoSetSparse(ni); in ntfs_read_locked_inode()
1051 if (NInoCompressed(ni)) { in ntfs_read_locked_inode()
1056 NInoSetEncrypted(ni); in ntfs_read_locked_inode()
1059 NInoSetNonResident(ni); in ntfs_read_locked_inode()
1060 if (NInoCompressed(ni) || NInoSparse(ni)) { in ntfs_read_locked_inode()
1061 if (NInoCompressed(ni) && a->data.non_resident. in ntfs_read_locked_inode()
1074 ni->itype.compressed.block_size = 1U << in ntfs_read_locked_inode()
1078 ni->itype.compressed.block_size_bits = in ntfs_read_locked_inode()
1079 ffs(ni->itype. in ntfs_read_locked_inode()
1082 ni->itype.compressed.block_clusters = in ntfs_read_locked_inode()
1087 ni->itype.compressed.block_size = 0; in ntfs_read_locked_inode()
1088 ni->itype.compressed.block_size_bits = in ntfs_read_locked_inode()
1090 ni->itype.compressed.block_clusters = in ntfs_read_locked_inode()
1093 ni->itype.compressed.size = sle64_to_cpu( in ntfs_read_locked_inode()
1105 ni->initialized_size = sle64_to_cpu( in ntfs_read_locked_inode()
1107 ni->allocated_size = sle64_to_cpu( in ntfs_read_locked_inode()
1110 vi->i_size = ni->initialized_size = le32_to_cpu( in ntfs_read_locked_inode()
1112 ni->allocated_size = le32_to_cpu(a->length) - in ntfs_read_locked_inode()
1115 if (vi->i_size > ni->allocated_size) { in ntfs_read_locked_inode()
1125 unmap_mft_record(ni); in ntfs_read_locked_inode()
1132 if (NInoMstProtected(ni)) in ntfs_read_locked_inode()
1134 else if (NInoCompressed(ni)) in ntfs_read_locked_inode()
1148 if (S_ISREG(vi->i_mode) && (NInoCompressed(ni) || NInoSparse(ni))) in ntfs_read_locked_inode()
1149 vi->i_blocks = ni->itype.compressed.size >> 9; in ntfs_read_locked_inode()
1151 vi->i_blocks = ni->allocated_size >> 9; in ntfs_read_locked_inode()
1162 unmap_mft_record(ni); in ntfs_read_locked_inode()
1197 ntfs_inode *ni, *base_ni; in ntfs_read_locked_attr_inode() local
1207 ni = NTFS_I(vi); in ntfs_read_locked_attr_inode()
1217 vi->i_generation = ni->seq_no = base_ni->seq_no; in ntfs_read_locked_attr_inode()
1233 err = ntfs_attr_lookup(ni->type, ni->name, ni->name_len, in ntfs_read_locked_attr_inode()
1240 NInoSetCompressed(ni); in ntfs_read_locked_attr_inode()
1241 if ((ni->type != AT_DATA) || (ni->type == AT_DATA && in ntfs_read_locked_attr_inode()
1242 ni->name_len)) { in ntfs_read_locked_attr_inode()
1270 if (NInoMstProtected(ni) && ni->type != AT_INDEX_ROOT) { in ntfs_read_locked_attr_inode()
1275 NInoCompressed(ni) ? "compressed" : in ntfs_read_locked_attr_inode()
1280 NInoSetSparse(ni); in ntfs_read_locked_attr_inode()
1283 if (NInoCompressed(ni)) { in ntfs_read_locked_attr_inode()
1292 if (NInoMstProtected(ni) && ni->type != AT_INDEX_ROOT) { in ntfs_read_locked_attr_inode()
1300 if (ni->type != AT_DATA) { in ntfs_read_locked_attr_inode()
1305 NInoSetEncrypted(ni); in ntfs_read_locked_attr_inode()
1315 if (NInoMstProtected(ni)) { in ntfs_read_locked_attr_inode()
1322 vi->i_size = ni->initialized_size = le32_to_cpu( in ntfs_read_locked_attr_inode()
1324 ni->allocated_size = le32_to_cpu(a->length) - in ntfs_read_locked_attr_inode()
1326 if (vi->i_size > ni->allocated_size) { in ntfs_read_locked_attr_inode()
1332 NInoSetNonResident(ni); in ntfs_read_locked_attr_inode()
1344 if (NInoCompressed(ni) || NInoSparse(ni)) { in ntfs_read_locked_attr_inode()
1345 if (NInoCompressed(ni) && a->data.non_resident. in ntfs_read_locked_attr_inode()
1356 ni->itype.compressed.block_size = 1U << in ntfs_read_locked_attr_inode()
1360 ni->itype.compressed.block_size_bits = in ntfs_read_locked_attr_inode()
1361 ffs(ni->itype.compressed. in ntfs_read_locked_attr_inode()
1363 ni->itype.compressed.block_clusters = 1U << in ntfs_read_locked_attr_inode()
1367 ni->itype.compressed.block_size = 0; in ntfs_read_locked_attr_inode()
1368 ni->itype.compressed.block_size_bits = 0; in ntfs_read_locked_attr_inode()
1369 ni->itype.compressed.block_clusters = 0; in ntfs_read_locked_attr_inode()
1371 ni->itype.compressed.size = sle64_to_cpu( in ntfs_read_locked_attr_inode()
1380 ni->initialized_size = sle64_to_cpu( in ntfs_read_locked_attr_inode()
1382 ni->allocated_size = sle64_to_cpu( in ntfs_read_locked_attr_inode()
1386 if (NInoMstProtected(ni)) in ntfs_read_locked_attr_inode()
1388 else if (NInoCompressed(ni)) in ntfs_read_locked_attr_inode()
1390 if ((NInoCompressed(ni) || NInoSparse(ni)) && ni->type != AT_INDEX_ROOT) in ntfs_read_locked_attr_inode()
1391 vi->i_blocks = ni->itype.compressed.size >> 9; in ntfs_read_locked_attr_inode()
1393 vi->i_blocks = ni->allocated_size >> 9; in ntfs_read_locked_attr_inode()
1399 ni->ext.base_ntfs_ino = base_ni; in ntfs_read_locked_attr_inode()
1400 ni->nr_extents = -1; in ntfs_read_locked_attr_inode()
1418 "Run chkdsk.", err, vi->i_ino, ni->type, ni->name_len, in ntfs_read_locked_attr_inode()
1463 ntfs_inode *ni, *base_ni, *bni; in ntfs_read_locked_index_inode() local
1474 ni = NTFS_I(vi); in ntfs_read_locked_index_inode()
1483 vi->i_generation = ni->seq_no = base_ni->seq_no; in ntfs_read_locked_index_inode()
1498 err = ntfs_attr_lookup(AT_INDEX_ROOT, ni->name, ni->name_len, in ntfs_read_locked_index_inode()
1545 ni->itype.index.collation_rule = ir->collation_rule; in ntfs_read_locked_index_inode()
1548 ni->itype.index.block_size = le32_to_cpu(ir->index_block_size); in ntfs_read_locked_index_inode()
1549 if (!is_power_of_2(ni->itype.index.block_size)) { in ntfs_read_locked_index_inode()
1551 "two.", ni->itype.index.block_size); in ntfs_read_locked_index_inode()
1554 if (ni->itype.index.block_size > PAGE_SIZE) { in ntfs_read_locked_index_inode()
1557 ni->itype.index.block_size, PAGE_SIZE); in ntfs_read_locked_index_inode()
1561 if (ni->itype.index.block_size < NTFS_BLOCK_SIZE) { in ntfs_read_locked_index_inode()
1564 ni->itype.index.block_size, NTFS_BLOCK_SIZE); in ntfs_read_locked_index_inode()
1568 ni->itype.index.block_size_bits = ffs(ni->itype.index.block_size) - 1; in ntfs_read_locked_index_inode()
1570 if (vol->cluster_size <= ni->itype.index.block_size) { in ntfs_read_locked_index_inode()
1571 ni->itype.index.vcn_size = vol->cluster_size; in ntfs_read_locked_index_inode()
1572 ni->itype.index.vcn_size_bits = vol->cluster_size_bits; in ntfs_read_locked_index_inode()
1574 ni->itype.index.vcn_size = vol->sector_size; in ntfs_read_locked_index_inode()
1575 ni->itype.index.vcn_size_bits = vol->sector_size_bits; in ntfs_read_locked_index_inode()
1580 vi->i_size = ni->initialized_size = ni->allocated_size = 0; in ntfs_read_locked_index_inode()
1588 NInoSetIndexAllocPresent(ni); in ntfs_read_locked_index_inode()
1591 err = ntfs_attr_lookup(AT_INDEX_ALLOCATION, ni->name, ni->name_len, in ntfs_read_locked_index_inode()
1639 ni->initialized_size = sle64_to_cpu( in ntfs_read_locked_index_inode()
1641 ni->allocated_size = sle64_to_cpu(a->data.non_resident.allocated_size); in ntfs_read_locked_index_inode()
1651 bvi = ntfs_attr_iget(base_vi, AT_BITMAP, ni->name, ni->name_len); in ntfs_read_locked_index_inode()
1666 if ((bvi_size << 3) < (vi->i_size >> ni->itype.index.block_size_bits)) { in ntfs_read_locked_index_inode()
1676 vi->i_blocks = ni->allocated_size >> 9; in ntfs_read_locked_index_inode()
1682 ni->ext.base_ntfs_ino = base_ni; in ntfs_read_locked_index_inode()
1683 ni->nr_extents = -1; in ntfs_read_locked_index_inode()
1699 ni->name_len); in ntfs_read_locked_index_inode()
1748 ntfs_inode *ni; in ntfs_read_inode_mount() local
1760 ni = NTFS_I(vi); in ntfs_read_inode_mount()
1763 NInoSetNonResident(ni); in ntfs_read_inode_mount()
1764 NInoSetMstProtected(ni); in ntfs_read_inode_mount()
1765 NInoSetSparseDisabled(ni); in ntfs_read_inode_mount()
1766 ni->type = AT_DATA; in ntfs_read_inode_mount()
1767 ni->name = NULL; in ntfs_read_inode_mount()
1768 ni->name_len = 0; in ntfs_read_inode_mount()
1773 ni->itype.index.block_size = vol->mft_record_size; in ntfs_read_inode_mount()
1774 ni->itype.index.block_size_bits = vol->mft_record_size_bits; in ntfs_read_inode_mount()
1827 vi->i_generation = ni->seq_no = le16_to_cpu(m->sequence_number); in ntfs_read_inode_mount()
1832 ctx = ntfs_attr_get_search_ctx(ni, m); in ntfs_read_inode_mount()
1853 NInoSetAttrList(ni); in ntfs_read_inode_mount()
1877 ni->attr_list_size = (u32)ntfs_attr_size(a); in ntfs_read_inode_mount()
1878 ni->attr_list = ntfs_malloc_nofs(ni->attr_list_size); in ntfs_read_inode_mount()
1879 if (!ni->attr_list) { in ntfs_read_inode_mount()
1885 NInoSetAttrListNonResident(ni); in ntfs_read_inode_mount()
1893 ni->attr_list_rl.rl = ntfs_mapping_pairs_decompress(vol, in ntfs_read_inode_mount()
1895 if (IS_ERR(ni->attr_list_rl.rl)) { in ntfs_read_inode_mount()
1896 err = PTR_ERR(ni->attr_list_rl.rl); in ntfs_read_inode_mount()
1897 ni->attr_list_rl.rl = NULL; in ntfs_read_inode_mount()
1904 if ((err = load_attribute_list(vol, &ni->attr_list_rl, in ntfs_read_inode_mount()
1905 ni->attr_list, ni->attr_list_size, in ntfs_read_inode_mount()
1924 memcpy(ni->attr_list, (u8*)a + le16_to_cpu( in ntfs_read_inode_mount()
1941 al_entry = (ATTR_LIST_ENTRY*)ni->attr_list; in ntfs_read_inode_mount()
1942 al_end = (u8*)al_entry + ni->attr_list_size; in ntfs_read_inode_mount()
1945 if ((u8*)al_entry < ni->attr_list || in ntfs_read_inode_mount()
1981 ni->seq_no) in ntfs_read_inode_mount()
2024 nrl = ntfs_mapping_pairs_decompress(vol, a, ni->runlist.rl); in ntfs_read_inode_mount()
2031 ni->runlist.rl = nrl; in ntfs_read_inode_mount()
2049 ni->initialized_size = sle64_to_cpu( in ntfs_read_inode_mount()
2051 ni->allocated_size = sle64_to_cpu( in ntfs_read_inode_mount()
2152 lockdep_set_class(&ni->runlist.lock, &mft_ni_runlist_lock_key); in ntfs_read_inode_mount()
2153 lockdep_set_class(&ni->mrec_lock, &mft_ni_mrec_lock_key); in ntfs_read_inode_mount()
2169 static void __ntfs_clear_inode(ntfs_inode *ni) in __ntfs_clear_inode() argument
2172 down_write(&ni->runlist.lock); in __ntfs_clear_inode()
2173 if (ni->runlist.rl) { in __ntfs_clear_inode()
2174 ntfs_free(ni->runlist.rl); in __ntfs_clear_inode()
2175 ni->runlist.rl = NULL; in __ntfs_clear_inode()
2177 up_write(&ni->runlist.lock); in __ntfs_clear_inode()
2179 if (ni->attr_list) { in __ntfs_clear_inode()
2180 ntfs_free(ni->attr_list); in __ntfs_clear_inode()
2181 ni->attr_list = NULL; in __ntfs_clear_inode()
2184 down_write(&ni->attr_list_rl.lock); in __ntfs_clear_inode()
2185 if (ni->attr_list_rl.rl) { in __ntfs_clear_inode()
2186 ntfs_free(ni->attr_list_rl.rl); in __ntfs_clear_inode()
2187 ni->attr_list_rl.rl = NULL; in __ntfs_clear_inode()
2189 up_write(&ni->attr_list_rl.lock); in __ntfs_clear_inode()
2191 if (ni->name_len && ni->name != I30) { in __ntfs_clear_inode()
2193 BUG_ON(!ni->name); in __ntfs_clear_inode()
2194 kfree(ni->name); in __ntfs_clear_inode()
2198 void ntfs_clear_extent_inode(ntfs_inode *ni) in ntfs_clear_extent_inode() argument
2200 ntfs_debug("Entering for inode 0x%lx.", ni->mft_no); in ntfs_clear_extent_inode()
2202 BUG_ON(NInoAttr(ni)); in ntfs_clear_extent_inode()
2203 BUG_ON(ni->nr_extents != -1); in ntfs_clear_extent_inode()
2206 if (NInoDirty(ni)) { in ntfs_clear_extent_inode()
2207 if (!is_bad_inode(VFS_I(ni->ext.base_ntfs_ino))) in ntfs_clear_extent_inode()
2208 ntfs_error(ni->vol->sb, "Clearing dirty extent inode! " in ntfs_clear_extent_inode()
2214 __ntfs_clear_inode(ni); in ntfs_clear_extent_inode()
2217 ntfs_destroy_extent_inode(ni); in ntfs_clear_extent_inode()
2232 ntfs_inode *ni = NTFS_I(vi); in ntfs_evict_big_inode() local
2238 if (NInoDirty(ni)) { in ntfs_evict_big_inode()
2244 if (!was_bad && (is_bad_inode(vi) || NInoDirty(ni))) { in ntfs_evict_big_inode()
2253 if (ni->nr_extents > 0) { in ntfs_evict_big_inode()
2256 for (i = 0; i < ni->nr_extents; i++) in ntfs_evict_big_inode()
2257 ntfs_clear_extent_inode(ni->ext.extent_ntfs_inos[i]); in ntfs_evict_big_inode()
2258 kfree(ni->ext.extent_ntfs_inos); in ntfs_evict_big_inode()
2261 __ntfs_clear_inode(ni); in ntfs_evict_big_inode()
2263 if (NInoAttr(ni)) { in ntfs_evict_big_inode()
2265 if (ni->nr_extents == -1) { in ntfs_evict_big_inode()
2266 iput(VFS_I(ni->ext.base_ntfs_ino)); in ntfs_evict_big_inode()
2267 ni->nr_extents = 0; in ntfs_evict_big_inode()
2268 ni->ext.base_ntfs_ino = NULL; in ntfs_evict_big_inode()
2271 BUG_ON(ni->page); in ntfs_evict_big_inode()
2272 if (!atomic_dec_and_test(&ni->count)) in ntfs_evict_big_inode()
2343 ntfs_inode *base_ni, *ni = NTFS_I(vi); in ntfs_truncate() local
2344 ntfs_volume *vol = ni->vol; in ntfs_truncate()
2353 BUG_ON(NInoAttr(ni)); in ntfs_truncate()
2355 BUG_ON(NInoMstProtected(ni)); in ntfs_truncate()
2356 BUG_ON(ni->nr_extents < 0); in ntfs_truncate()
2362 down_write(&ni->runlist.lock); in ntfs_truncate()
2363 if (!NInoAttr(ni)) in ntfs_truncate()
2364 base_ni = ni; in ntfs_truncate()
2366 base_ni = ni->ext.base_ntfs_ino; in ntfs_truncate()
2384 err = ntfs_attr_lookup(ni->type, ni->name, ni->name_len, in ntfs_truncate()
2407 if (NInoNonResident(ni)) in ntfs_truncate()
2413 read_lock_irqsave(&ni->size_lock, flags); in ntfs_truncate()
2414 old_alloc_size = ni->allocated_size; in ntfs_truncate()
2415 read_unlock_irqrestore(&ni->size_lock, flags); in ntfs_truncate()
2441 err = ntfs_attr_size_bounds_check(vol, ni->type, new_size); in ntfs_truncate()
2451 le32_to_cpu(ni->type)); in ntfs_truncate()
2458 le32_to_cpu(ni->type)); in ntfs_truncate()
2466 if (NInoCompressed(ni) || NInoEncrypted(ni)) { in ntfs_truncate()
2469 NInoCompressed(ni) ? "compressed" : in ntfs_truncate()
2476 BUG_ON(NInoNonResident(ni)); in ntfs_truncate()
2483 write_lock_irqsave(&ni->size_lock, flags); in ntfs_truncate()
2485 ni->allocated_size = le32_to_cpu(a->length) - in ntfs_truncate()
2515 ni->initialized_size = new_size; in ntfs_truncate()
2516 write_unlock_irqrestore(&ni->size_lock, flags); in ntfs_truncate()
2532 up_write(&ni->runlist.lock); in ntfs_truncate()
2537 err = ntfs_attr_make_non_resident(ni, old_size); in ntfs_truncate()
2550 (unsigned)le32_to_cpu(ni->type), err); in ntfs_truncate()
2576 if (ni->type == AT_ATTRIBUTE_LIST || in ntfs_truncate()
2577 ni->type == AT_STANDARD_INFORMATION) { in ntfs_truncate()
2595 BUG_ON(!NInoNonResident(ni)); in ntfs_truncate()
2611 (unsigned)le32_to_cpu(ni->type)); in ntfs_truncate()
2624 write_lock_irqsave(&ni->size_lock, flags); in ntfs_truncate()
2625 if (new_size < ni->initialized_size) { in ntfs_truncate()
2626 ni->initialized_size = new_size; in ntfs_truncate()
2631 write_unlock_irqrestore(&ni->size_lock, flags); in ntfs_truncate()
2665 up_write(&ni->runlist.lock); in ntfs_truncate()
2666 err = ntfs_attr_extend_allocation(ni, new_size, in ntfs_truncate()
2679 nr_freed = ntfs_cluster_free(ni, new_alloc_size >> in ntfs_truncate()
2691 err = ntfs_rl_truncate_nolock(vol, &ni->runlist, in ntfs_truncate()
2709 mp_size = ntfs_get_size_for_mapping_pairs(vol, ni->runlist.rl, 0, -1); in ntfs_truncate()
2715 (unsigned)le32_to_cpu(ni->type), mp_size, es); in ntfs_truncate()
2733 mp_size, ni->runlist.rl, 0, -1, NULL); in ntfs_truncate()
2738 vi->i_ino, (unsigned)le32_to_cpu(ni->type), in ntfs_truncate()
2746 write_lock_irqsave(&ni->size_lock, flags); in ntfs_truncate()
2747 ni->allocated_size = new_alloc_size; in ntfs_truncate()
2749 if (NInoSparse(ni) || NInoCompressed(ni)) { in ntfs_truncate()
2751 ni->itype.compressed.size -= nr_freed << in ntfs_truncate()
2753 BUG_ON(ni->itype.compressed.size < 0); in ntfs_truncate()
2755 ni->itype.compressed.size); in ntfs_truncate()
2756 vi->i_blocks = ni->itype.compressed.size >> 9; in ntfs_truncate()
2760 write_unlock_irqrestore(&ni->size_lock, flags); in ntfs_truncate()
2782 up_write(&ni->runlist.lock); in ntfs_truncate()
2805 NInoClearTruncateFailed(ni); in ntfs_truncate()
2815 NInoSetTruncateFailed(ni); in ntfs_truncate()
2823 up_write(&ni->runlist.lock); in ntfs_truncate()
2831 NInoSetTruncateFailed(ni); in ntfs_truncate()
2883 ntfs_inode *ni = NTFS_I(vi); in ntfs_setattr() local
2888 if (NInoCompressed(ni) || NInoEncrypted(ni)) { in ntfs_setattr()
2892 NInoCompressed(ni) ? in ntfs_setattr()
2941 ntfs_inode *ni = NTFS_I(vi); in __ntfs_write_inode() local
2948 ntfs_debug("Entering for %sinode 0x%lx.", NInoAttr(ni) ? "attr " : "", in __ntfs_write_inode()
2955 if (NInoAttr(ni)) { in __ntfs_write_inode()
2956 NInoClearDirty(ni); in __ntfs_write_inode()
2961 m = map_mft_record(ni); in __ntfs_write_inode()
2967 ctx = ntfs_attr_get_search_ctx(ni, m); in __ntfs_write_inode()
3032 if (NInoDirty(ni)) in __ntfs_write_inode()
3033 err = write_mft_record(ni, m, sync); in __ntfs_write_inode()
3035 mutex_lock(&ni->extent_lock); in __ntfs_write_inode()
3036 if (ni->nr_extents > 0) { in __ntfs_write_inode()
3037 ntfs_inode **extent_nis = ni->ext.extent_ntfs_inos; in __ntfs_write_inode()
3040 ntfs_debug("Writing %i extent inodes.", ni->nr_extents); in __ntfs_write_inode()
3041 for (i = 0; i < ni->nr_extents; i++) { in __ntfs_write_inode()
3062 mutex_unlock(&ni->extent_lock); in __ntfs_write_inode()
3063 unmap_mft_record(ni); in __ntfs_write_inode()
3069 unmap_mft_record(ni); in __ntfs_write_inode()
3078 NVolSetErrors(ni->vol); in __ntfs_write_inode()