Lines Matching refs:vol

50 	ntfs_volume *vol = ni->vol;  in map_mft_record_page()  local
51 struct inode *mft_vi = vol->mft_ino; in map_mft_record_page()
63 index = (u64)ni->mft_no << vol->mft_record_size_bits >> in map_mft_record_page()
65 ofs = (ni->mft_no << vol->mft_record_size_bits) & ~PAGE_CACHE_MASK; in map_mft_record_page()
74 vol->mft_record_size) { in map_mft_record_page()
76 ntfs_error(vol->sb, "Attempt to read mft record 0x%lx, " in map_mft_record_page()
93 ntfs_error(vol->sb, "Mft record 0x%lx is corrupt. " in map_mft_record_page()
97 NVolSetErrors(vol); in map_mft_record_page()
173 ntfs_error(ni->vol->sb, "Failed with error code %lu.", -PTR_ERR(m)); in map_mft_record()
293 ntfs_error(base_ni->vol->sb, "Found stale extent mft " in map_extent_mft_record()
299 ntfs_error(base_ni->vol->sb, "Failed to map extent " in map_extent_mft_record()
304 ni = ntfs_new_extent_inode(base_ni->vol->sb, mft_no); in map_extent_mft_record()
310 ni->vol = base_ni->vol; in map_extent_mft_record()
324 ntfs_error(base_ni->vol->sb, "Found stale extent mft " in map_extent_mft_record()
337 ntfs_error(base_ni->vol->sb, "Failed to allocate " in map_extent_mft_record()
438 static int ntfs_sync_mft_mirror_umount(ntfs_volume *vol, in ntfs_sync_mft_mirror_umount() argument
441 BUG_ON(vol->mftmirr_ino); in ntfs_sync_mft_mirror_umount()
442 ntfs_error(vol->sb, "Umount time mft mirror syncing is not " in ntfs_sync_mft_mirror_umount()
465 int ntfs_sync_mft_mirror(ntfs_volume *vol, const unsigned long mft_no, in ntfs_sync_mft_mirror() argument
469 unsigned int blocksize = vol->sb->s_blocksize; in ntfs_sync_mft_mirror()
470 int max_bhs = vol->mft_record_size / blocksize; in ntfs_sync_mft_mirror()
477 unsigned char blocksize_bits = vol->sb->s_blocksize_bits; in ntfs_sync_mft_mirror()
481 if (unlikely(!vol->mftmirr_ino)) { in ntfs_sync_mft_mirror()
483 err = ntfs_sync_mft_mirror_umount(vol, mft_no, m); in ntfs_sync_mft_mirror()
489 page = ntfs_map_page(vol->mftmirr_ino->i_mapping, mft_no >> in ntfs_sync_mft_mirror()
490 (PAGE_CACHE_SHIFT - vol->mft_record_size_bits)); in ntfs_sync_mft_mirror()
492 ntfs_error(vol->sb, "Failed to map mft mirror page."); in ntfs_sync_mft_mirror()
500 page_ofs = (mft_no << vol->mft_record_size_bits) & ~PAGE_CACHE_MASK; in ntfs_sync_mft_mirror()
504 memcpy(kmirr, m, vol->mft_record_size); in ntfs_sync_mft_mirror()
524 m_end = m_start + vol->mft_record_size; in ntfs_sync_mft_mirror()
538 bh->b_bdev = vol->sb->s_bdev; in ntfs_sync_mft_mirror()
540 vcn = ((VCN)mft_no << vol->mft_record_size_bits) + in ntfs_sync_mft_mirror()
542 vcn_ofs = vcn & vol->cluster_size_mask; in ntfs_sync_mft_mirror()
543 vcn >>= vol->cluster_size_bits; in ntfs_sync_mft_mirror()
545 down_read(&NTFS_I(vol->mftmirr_ino)-> in ntfs_sync_mft_mirror()
547 rl = NTFS_I(vol->mftmirr_ino)->runlist.rl; in ntfs_sync_mft_mirror()
562 vol->cluster_size_bits) + in ntfs_sync_mft_mirror()
567 ntfs_error(vol->sb, "Cannot write mft mirror " in ntfs_sync_mft_mirror()
583 up_read(&NTFS_I(vol->mftmirr_ino)->runlist.lock); in ntfs_sync_mft_mirror()
626 ntfs_error(vol->sb, "I/O error while writing mft mirror " in ntfs_sync_mft_mirror()
629 ntfs_error(vol->sb, "Failed to synchronize $MFTMirr (error " in ntfs_sync_mft_mirror()
633 NVolSetErrors(vol); in ntfs_sync_mft_mirror()
671 ntfs_volume *vol = ni->vol; in write_mft_record_nolock() local
673 unsigned int blocksize = vol->sb->s_blocksize; in write_mft_record_nolock()
674 unsigned char blocksize_bits = vol->sb->s_blocksize_bits; in write_mft_record_nolock()
675 int max_bhs = vol->mft_record_size / blocksize; in write_mft_record_nolock()
700 m_end = m_start + vol->mft_record_size; in write_mft_record_nolock()
727 bh->b_bdev = vol->sb->s_bdev; in write_mft_record_nolock()
729 vcn = ((VCN)ni->mft_no << vol->mft_record_size_bits) + in write_mft_record_nolock()
731 vcn_ofs = vcn & vol->cluster_size_mask; in write_mft_record_nolock()
732 vcn >>= vol->cluster_size_bits; in write_mft_record_nolock()
734 down_read(&NTFS_I(vol->mft_ino)->runlist.lock); in write_mft_record_nolock()
735 rl = NTFS_I(vol->mft_ino)->runlist.rl; in write_mft_record_nolock()
746 vol->cluster_size_bits) + in write_mft_record_nolock()
751 ntfs_error(vol->sb, "Cannot write mft record " in write_mft_record_nolock()
766 up_read(&NTFS_I(vol->mft_ino)->runlist.lock); in write_mft_record_nolock()
772 err = pre_write_mst_fixup((NTFS_RECORD*)m, vol->mft_record_size); in write_mft_record_nolock()
774 ntfs_error(vol->sb, "Failed to apply mst fixups!"); in write_mft_record_nolock()
791 if (!sync && ni->mft_no < vol->mftmirr_size) in write_mft_record_nolock()
792 ntfs_sync_mft_mirror(vol, ni->mft_no, m, sync); in write_mft_record_nolock()
809 if (sync && ni->mft_no < vol->mftmirr_size) in write_mft_record_nolock()
810 ntfs_sync_mft_mirror(vol, ni->mft_no, m, sync); in write_mft_record_nolock()
816 ntfs_error(vol->sb, "I/O error while writing mft record " in write_mft_record_nolock()
837 ntfs_error(vol->sb, "Not enough memory to write mft record. " in write_mft_record_nolock()
842 NVolSetErrors(vol); in write_mft_record_nolock()
925 bool ntfs_may_write_mft_record(ntfs_volume *vol, const unsigned long mft_no, in ntfs_may_write_mft_record() argument
928 struct super_block *sb = vol->sb; in ntfs_may_write_mft_record()
929 struct inode *mft_vi = vol->mft_ino; in ntfs_may_write_mft_record()
1131 static int ntfs_mft_bitmap_find_and_alloc_free_rec_nolock(ntfs_volume *vol, in ntfs_mft_bitmap_find_and_alloc_free_rec_nolock() argument
1144 mftbmp_mapping = vol->mftbmp_ino->i_mapping; in ntfs_mft_bitmap_find_and_alloc_free_rec_nolock()
1149 read_lock_irqsave(&NTFS_I(vol->mft_ino)->size_lock, flags); in ntfs_mft_bitmap_find_and_alloc_free_rec_nolock()
1150 pass_end = NTFS_I(vol->mft_ino)->allocated_size >> in ntfs_mft_bitmap_find_and_alloc_free_rec_nolock()
1151 vol->mft_record_size_bits; in ntfs_mft_bitmap_find_and_alloc_free_rec_nolock()
1152 read_unlock_irqrestore(&NTFS_I(vol->mft_ino)->size_lock, flags); in ntfs_mft_bitmap_find_and_alloc_free_rec_nolock()
1153 read_lock_irqsave(&NTFS_I(vol->mftbmp_ino)->size_lock, flags); in ntfs_mft_bitmap_find_and_alloc_free_rec_nolock()
1154 ll = NTFS_I(vol->mftbmp_ino)->initialized_size << 3; in ntfs_mft_bitmap_find_and_alloc_free_rec_nolock()
1155 read_unlock_irqrestore(&NTFS_I(vol->mftbmp_ino)->size_lock, flags); in ntfs_mft_bitmap_find_and_alloc_free_rec_nolock()
1160 data_pos = vol->mft_data_pos; in ntfs_mft_bitmap_find_and_alloc_free_rec_nolock()
1195 ntfs_error(vol->sb, "Failed to read mft " in ntfs_mft_bitmap_find_and_alloc_free_rec_nolock()
1278 static int ntfs_mft_bitmap_extend_allocation_nolock(ntfs_volume *vol) in ntfs_mft_bitmap_extend_allocation_nolock() argument
1299 mft_ni = NTFS_I(vol->mft_ino); in ntfs_mft_bitmap_extend_allocation_nolock()
1300 mftbmp_ni = NTFS_I(vol->mftbmp_ino); in ntfs_mft_bitmap_extend_allocation_nolock()
1310 (ll - 1) >> vol->cluster_size_bits, NULL); in ntfs_mft_bitmap_extend_allocation_nolock()
1313 ntfs_error(vol->sb, "Failed to determine last allocated " in ntfs_mft_bitmap_extend_allocation_nolock()
1330 page = ntfs_map_page(vol->lcnbmp_ino->i_mapping, in ntfs_mft_bitmap_extend_allocation_nolock()
1334 ntfs_error(vol->sb, "Failed to read from lcn bitmap."); in ntfs_mft_bitmap_extend_allocation_nolock()
1339 down_write(&vol->lcnbmp_lock); in ntfs_mft_bitmap_extend_allocation_nolock()
1345 up_write(&vol->lcnbmp_lock); in ntfs_mft_bitmap_extend_allocation_nolock()
1353 up_write(&vol->lcnbmp_lock); in ntfs_mft_bitmap_extend_allocation_nolock()
1356 rl2 = ntfs_cluster_alloc(vol, rl[1].vcn, 1, lcn, DATA_ZONE, in ntfs_mft_bitmap_extend_allocation_nolock()
1360 ntfs_error(vol->sb, "Failed to allocate a cluster for " in ntfs_mft_bitmap_extend_allocation_nolock()
1367 ntfs_error(vol->sb, "Failed to merge runlists for mft " in ntfs_mft_bitmap_extend_allocation_nolock()
1369 if (ntfs_cluster_free_from_rl(vol, rl2)) { in ntfs_mft_bitmap_extend_allocation_nolock()
1370 ntfs_error(vol->sb, "Failed to deallocate " in ntfs_mft_bitmap_extend_allocation_nolock()
1372 NVolSetErrors(vol); in ntfs_mft_bitmap_extend_allocation_nolock()
1390 ntfs_error(vol->sb, "Failed to map mft record."); in ntfs_mft_bitmap_extend_allocation_nolock()
1396 ntfs_error(vol->sb, "Failed to get search context."); in ntfs_mft_bitmap_extend_allocation_nolock()
1404 ntfs_error(vol->sb, "Failed to find last attribute extent of " in ntfs_mft_bitmap_extend_allocation_nolock()
1420 mp_size = ntfs_get_size_for_mapping_pairs(vol, rl2, ll, -1); in ntfs_mft_bitmap_extend_allocation_nolock()
1422 ntfs_error(vol->sb, "Get size for mapping pairs failed for " in ntfs_mft_bitmap_extend_allocation_nolock()
1435 ntfs_error(vol->sb, "Failed to resize attribute " in ntfs_mft_bitmap_extend_allocation_nolock()
1444 ntfs_error(vol->sb, "Not enough space in this mft record to " in ntfs_mft_bitmap_extend_allocation_nolock()
1452 ret = ntfs_mapping_pairs_build(vol, (u8*)a + in ntfs_mft_bitmap_extend_allocation_nolock()
1456 ntfs_error(vol->sb, "Failed to build mapping pairs array for " in ntfs_mft_bitmap_extend_allocation_nolock()
1478 ntfs_error(vol->sb, "Failed to find first attribute " in ntfs_mft_bitmap_extend_allocation_nolock()
1485 mftbmp_ni->allocated_size += vol->cluster_size; in ntfs_mft_bitmap_extend_allocation_nolock()
1502 ntfs_error(vol->sb, "Failed to find last attribute extent of " in ntfs_mft_bitmap_extend_allocation_nolock()
1505 mftbmp_ni->allocated_size += vol->cluster_size; in ntfs_mft_bitmap_extend_allocation_nolock()
1514 NVolSetErrors(vol); in ntfs_mft_bitmap_extend_allocation_nolock()
1531 down_write(&vol->lcnbmp_lock); in ntfs_mft_bitmap_extend_allocation_nolock()
1532 if (ntfs_bitmap_clear_bit(vol->lcnbmp_ino, lcn)) { in ntfs_mft_bitmap_extend_allocation_nolock()
1533 ntfs_error(vol->sb, "Failed to free allocated cluster.%s", es); in ntfs_mft_bitmap_extend_allocation_nolock()
1534 NVolSetErrors(vol); in ntfs_mft_bitmap_extend_allocation_nolock()
1536 up_write(&vol->lcnbmp_lock); in ntfs_mft_bitmap_extend_allocation_nolock()
1538 if (ntfs_mapping_pairs_build(vol, (u8*)a + le16_to_cpu( in ntfs_mft_bitmap_extend_allocation_nolock()
1543 ntfs_error(vol->sb, "Failed to restore mapping pairs " in ntfs_mft_bitmap_extend_allocation_nolock()
1545 NVolSetErrors(vol); in ntfs_mft_bitmap_extend_allocation_nolock()
1548 ntfs_error(vol->sb, "Failed to restore attribute " in ntfs_mft_bitmap_extend_allocation_nolock()
1550 NVolSetErrors(vol); in ntfs_mft_bitmap_extend_allocation_nolock()
1577 static int ntfs_mft_bitmap_extend_initialized_nolock(ntfs_volume *vol) in ntfs_mft_bitmap_extend_initialized_nolock() argument
1589 mft_ni = NTFS_I(vol->mft_ino); in ntfs_mft_bitmap_extend_initialized_nolock()
1590 mftbmp_vi = vol->mftbmp_ino; in ntfs_mft_bitmap_extend_initialized_nolock()
1595 ntfs_error(vol->sb, "Failed to map mft record."); in ntfs_mft_bitmap_extend_initialized_nolock()
1600 ntfs_error(vol->sb, "Failed to get search context."); in ntfs_mft_bitmap_extend_initialized_nolock()
1607 ntfs_error(vol->sb, "Failed to find first attribute extent of " in ntfs_mft_bitmap_extend_initialized_nolock()
1643 ntfs_error(vol->sb, "Failed to write to mft bitmap."); in ntfs_mft_bitmap_extend_initialized_nolock()
1647 ntfs_error(vol->sb, "Failed to map mft record.%s", es); in ntfs_mft_bitmap_extend_initialized_nolock()
1648 NVolSetErrors(vol); in ntfs_mft_bitmap_extend_initialized_nolock()
1653 ntfs_error(vol->sb, "Failed to get search context.%s", es); in ntfs_mft_bitmap_extend_initialized_nolock()
1654 NVolSetErrors(vol); in ntfs_mft_bitmap_extend_initialized_nolock()
1659 ntfs_error(vol->sb, "Failed to find first attribute extent of " in ntfs_mft_bitmap_extend_initialized_nolock()
1661 NVolSetErrors(vol); in ntfs_mft_bitmap_extend_initialized_nolock()
1714 static int ntfs_mft_data_extend_allocation_nolock(ntfs_volume *vol) in ntfs_mft_data_extend_allocation_nolock() argument
1730 mft_ni = NTFS_I(vol->mft_ino); in ntfs_mft_data_extend_allocation_nolock()
1741 (ll - 1) >> vol->cluster_size_bits, NULL); in ntfs_mft_data_extend_allocation_nolock()
1744 ntfs_error(vol->sb, "Failed to determine last allocated " in ntfs_mft_data_extend_allocation_nolock()
1755 min_nr = vol->mft_record_size >> vol->cluster_size_bits; in ntfs_mft_data_extend_allocation_nolock()
1759 nr = vol->mft_record_size << 4 >> vol->cluster_size_bits; in ntfs_mft_data_extend_allocation_nolock()
1766 if (unlikely((ll + (nr << vol->cluster_size_bits)) >> in ntfs_mft_data_extend_allocation_nolock()
1767 vol->mft_record_size_bits >= (1ll << 32))) { in ntfs_mft_data_extend_allocation_nolock()
1769 if (unlikely((ll + (nr << vol->cluster_size_bits)) >> in ntfs_mft_data_extend_allocation_nolock()
1770 vol->mft_record_size_bits >= (1ll << 32))) { in ntfs_mft_data_extend_allocation_nolock()
1771 ntfs_warning(vol->sb, "Cannot allocate mft record " in ntfs_mft_data_extend_allocation_nolock()
1782 rl2 = ntfs_cluster_alloc(vol, old_last_vcn, nr, lcn, MFT_ZONE, in ntfs_mft_data_extend_allocation_nolock()
1787 ntfs_error(vol->sb, "Failed to allocate the minimal " in ntfs_mft_data_extend_allocation_nolock()
1805 ntfs_error(vol->sb, "Failed to merge runlists for mft data " in ntfs_mft_data_extend_allocation_nolock()
1807 if (ntfs_cluster_free_from_rl(vol, rl2)) { in ntfs_mft_data_extend_allocation_nolock()
1808 ntfs_error(vol->sb, "Failed to deallocate clusters " in ntfs_mft_data_extend_allocation_nolock()
1810 NVolSetErrors(vol); in ntfs_mft_data_extend_allocation_nolock()
1823 ntfs_error(vol->sb, "Failed to map mft record."); in ntfs_mft_data_extend_allocation_nolock()
1829 ntfs_error(vol->sb, "Failed to get search context."); in ntfs_mft_data_extend_allocation_nolock()
1836 ntfs_error(vol->sb, "Failed to find last attribute extent of " in ntfs_mft_data_extend_allocation_nolock()
1852 mp_size = ntfs_get_size_for_mapping_pairs(vol, rl2, ll, -1); in ntfs_mft_data_extend_allocation_nolock()
1854 ntfs_error(vol->sb, "Get size for mapping pairs failed for " in ntfs_mft_data_extend_allocation_nolock()
1867 ntfs_error(vol->sb, "Failed to resize attribute " in ntfs_mft_data_extend_allocation_nolock()
1881 ntfs_error(vol->sb, "Not enough space in this mft record to " in ntfs_mft_data_extend_allocation_nolock()
1889 ret = ntfs_mapping_pairs_build(vol, (u8*)a + in ntfs_mft_data_extend_allocation_nolock()
1893 ntfs_error(vol->sb, "Failed to build mapping pairs array of " in ntfs_mft_data_extend_allocation_nolock()
1917 ntfs_error(vol->sb, "Failed to find first attribute " in ntfs_mft_data_extend_allocation_nolock()
1924 mft_ni->allocated_size += nr << vol->cluster_size_bits; in ntfs_mft_data_extend_allocation_nolock()
1940 ntfs_error(vol->sb, "Failed to find last attribute extent of " in ntfs_mft_data_extend_allocation_nolock()
1943 mft_ni->allocated_size += nr << vol->cluster_size_bits; in ntfs_mft_data_extend_allocation_nolock()
1952 NVolSetErrors(vol); in ntfs_mft_data_extend_allocation_nolock()
1959 ntfs_error(vol->sb, "Failed to free clusters from mft data " in ntfs_mft_data_extend_allocation_nolock()
1961 NVolSetErrors(vol); in ntfs_mft_data_extend_allocation_nolock()
1964 if (ntfs_rl_truncate_nolock(vol, &mft_ni->runlist, old_last_vcn)) { in ntfs_mft_data_extend_allocation_nolock()
1965 ntfs_error(vol->sb, "Failed to truncate mft data attribute " in ntfs_mft_data_extend_allocation_nolock()
1967 NVolSetErrors(vol); in ntfs_mft_data_extend_allocation_nolock()
1970 if (ntfs_mapping_pairs_build(vol, (u8*)a + le16_to_cpu( in ntfs_mft_data_extend_allocation_nolock()
1975 ntfs_error(vol->sb, "Failed to restore mapping pairs " in ntfs_mft_data_extend_allocation_nolock()
1977 NVolSetErrors(vol); in ntfs_mft_data_extend_allocation_nolock()
1980 ntfs_error(vol->sb, "Failed to restore attribute " in ntfs_mft_data_extend_allocation_nolock()
1982 NVolSetErrors(vol); in ntfs_mft_data_extend_allocation_nolock()
1987 ntfs_error(vol->sb, "Failed to restore attribute search " in ntfs_mft_data_extend_allocation_nolock()
1989 NVolSetErrors(vol); in ntfs_mft_data_extend_allocation_nolock()
2012 static int ntfs_mft_record_layout(const ntfs_volume *vol, const s64 mft_no, in ntfs_mft_record_layout() argument
2019 ntfs_error(vol->sb, "Mft record number 0x%llx exceeds " in ntfs_mft_record_layout()
2024 memset(m, 0, vol->mft_record_size); in ntfs_mft_record_layout()
2026 if (vol->major_ver < 3 || (vol->major_ver == 3 && !vol->minor_ver)) in ntfs_mft_record_layout()
2038 if (vol->mft_record_size >= NTFS_BLOCK_SIZE) in ntfs_mft_record_layout()
2039 m->usa_count = cpu_to_le16(vol->mft_record_size / in ntfs_mft_record_layout()
2043 ntfs_warning(vol->sb, "Sector size is bigger than mft record " in ntfs_mft_record_layout()
2069 m->bytes_allocated = cpu_to_le32(vol->mft_record_size); in ntfs_mft_record_layout()
2091 static int ntfs_mft_record_format(const ntfs_volume *vol, const s64 mft_no) in ntfs_mft_record_format() argument
2094 struct inode *mft_vi = vol->mft_ino; in ntfs_mft_record_format()
2106 index = mft_no << vol->mft_record_size_bits >> PAGE_CACHE_SHIFT; in ntfs_mft_record_format()
2107 ofs = (mft_no << vol->mft_record_size_bits) & ~PAGE_CACHE_MASK; in ntfs_mft_record_format()
2112 if (unlikely(index > end_index || ofs + vol->mft_record_size >= in ntfs_mft_record_format()
2114 ntfs_error(vol->sb, "Tried to format non-existing mft " in ntfs_mft_record_format()
2122 ntfs_error(vol->sb, "Failed to map page containing mft record " in ntfs_mft_record_format()
2130 err = ntfs_mft_record_layout(vol, mft_no, m); in ntfs_mft_record_format()
2132 ntfs_error(vol->sb, "Failed to layout mft record 0x%llx.", in ntfs_mft_record_format()
2243 ntfs_inode *ntfs_mft_record_alloc(ntfs_volume *vol, const int mode, in ntfs_mft_record_alloc() argument
2276 mft_ni = NTFS_I(vol->mft_ino); in ntfs_mft_record_alloc()
2277 mftbmp_ni = NTFS_I(vol->mftbmp_ino); in ntfs_mft_record_alloc()
2278 down_write(&vol->mftbmp_lock); in ntfs_mft_record_alloc()
2279 bit = ntfs_mft_bitmap_find_and_alloc_free_rec_nolock(vol, base_ni); in ntfs_mft_record_alloc()
2286 up_write(&vol->mftbmp_lock); in ntfs_mft_record_alloc()
2298 ll = mft_ni->initialized_size >> vol->mft_record_size_bits; in ntfs_mft_record_alloc()
2326 (long long)i_size_read(vol->mftbmp_ino), in ntfs_mft_record_alloc()
2332 err = ntfs_mft_bitmap_extend_allocation_nolock(vol); in ntfs_mft_record_alloc()
2334 up_write(&vol->mftbmp_lock); in ntfs_mft_record_alloc()
2343 (long long)i_size_read(vol->mftbmp_ino), in ntfs_mft_record_alloc()
2353 err = ntfs_mft_bitmap_extend_initialized_nolock(vol); in ntfs_mft_record_alloc()
2355 up_write(&vol->mftbmp_lock); in ntfs_mft_record_alloc()
2364 (long long)i_size_read(vol->mftbmp_ino), in ntfs_mft_record_alloc()
2372 err = ntfs_bitmap_set_bit(vol->mftbmp_ino, bit); in ntfs_mft_record_alloc()
2374 ntfs_error(vol->sb, "Failed to allocate bit in mft bitmap."); in ntfs_mft_record_alloc()
2375 up_write(&vol->mftbmp_lock); in ntfs_mft_record_alloc()
2388 ll = (bit + 1) << vol->mft_record_size_bits; in ntfs_mft_record_alloc()
2408 (long long)i_size_read(vol->mft_ino), in ntfs_mft_record_alloc()
2412 err = ntfs_mft_data_extend_allocation_nolock(vol); in ntfs_mft_record_alloc()
2414 ntfs_error(vol->sb, "Failed to extend mft data " in ntfs_mft_record_alloc()
2423 (long long)i_size_read(vol->mft_ino), in ntfs_mft_record_alloc()
2436 old_data_size = vol->mft_ino->i_size; in ntfs_mft_record_alloc()
2441 vol->mft_record_size; in ntfs_mft_record_alloc()
2442 mft_no = mft_ni->initialized_size >> vol->mft_record_size_bits; in ntfs_mft_record_alloc()
2443 if (new_initialized_size > i_size_read(vol->mft_ino)) in ntfs_mft_record_alloc()
2444 i_size_write(vol->mft_ino, new_initialized_size); in ntfs_mft_record_alloc()
2448 err = ntfs_mft_record_format(vol, mft_no); in ntfs_mft_record_alloc()
2450 ntfs_error(vol->sb, "Failed to format mft record."); in ntfs_mft_record_alloc()
2461 ntfs_error(vol->sb, "Failed to map mft record."); in ntfs_mft_record_alloc()
2467 ntfs_error(vol->sb, "Failed to get search context."); in ntfs_mft_record_alloc()
2475 ntfs_error(vol->sb, "Failed to find first attribute extent of " in ntfs_mft_record_alloc()
2486 cpu_to_sle64(i_size_read(vol->mft_ino)); in ntfs_mft_record_alloc()
2498 (long long)i_size_read(vol->mft_ino), in ntfs_mft_record_alloc()
2500 BUG_ON(i_size_read(vol->mft_ino) > mft_ni->allocated_size); in ntfs_mft_record_alloc()
2501 BUG_ON(mft_ni->initialized_size > i_size_read(vol->mft_ino)); in ntfs_mft_record_alloc()
2513 up_write(&vol->mftbmp_lock); in ntfs_mft_record_alloc()
2518 index = bit << vol->mft_record_size_bits >> PAGE_CACHE_SHIFT; in ntfs_mft_record_alloc()
2519 ofs = (bit << vol->mft_record_size_bits) & ~PAGE_CACHE_MASK; in ntfs_mft_record_alloc()
2521 page = ntfs_map_page(vol->mft_ino->i_mapping, index); in ntfs_mft_record_alloc()
2523 ntfs_error(vol->sb, "Failed to map page containing allocated " in ntfs_mft_record_alloc()
2537 ntfs_error(vol->sb, "Mft record 0x%llx was marked " in ntfs_mft_record_alloc()
2546 NVolSetErrors(vol); in ntfs_mft_record_alloc()
2558 err = ntfs_mft_record_layout(vol, bit, m); in ntfs_mft_record_alloc()
2560 ntfs_error(vol->sb, "Failed to layout allocated mft " in ntfs_mft_record_alloc()
2595 ntfs_error(vol->sb, "Failed to map allocated extent " in ntfs_mft_record_alloc()
2629 vi = new_inode(vol->sb); in ntfs_mft_record_alloc()
2651 vi->i_uid = vol->uid; in ntfs_mft_record_alloc()
2652 vi->i_gid = vol->gid; in ntfs_mft_record_alloc()
2663 vi->i_mode &= ~vol->dmask; in ntfs_mft_record_alloc()
2673 if (vol->cluster_size <= ni->itype.index.block_size) { in ntfs_mft_record_alloc()
2674 ni->itype.index.vcn_size = vol->cluster_size; in ntfs_mft_record_alloc()
2676 vol->cluster_size_bits; in ntfs_mft_record_alloc()
2678 ni->itype.index.vcn_size = vol->sector_size; in ntfs_mft_record_alloc()
2680 vol->sector_size_bits; in ntfs_mft_record_alloc()
2684 vi->i_mode &= ~vol->fmask; in ntfs_mft_record_alloc()
2730 vol->mft_data_pos = bit + 1; in ntfs_mft_record_alloc()
2743 i_size_write(vol->mft_ino, old_data_size); in ntfs_mft_record_alloc()
2747 down_write(&vol->mftbmp_lock); in ntfs_mft_record_alloc()
2749 if (ntfs_bitmap_clear_bit(vol->mftbmp_ino, bit)) { in ntfs_mft_record_alloc()
2750 ntfs_error(vol->sb, "Failed to clear bit in mft bitmap.%s", es); in ntfs_mft_record_alloc()
2751 NVolSetErrors(vol); in ntfs_mft_record_alloc()
2753 up_write(&vol->mftbmp_lock); in ntfs_mft_record_alloc()
2757 ntfs_warning(vol->sb, "Cannot allocate mft record because the maximum " in ntfs_mft_record_alloc()
2759 up_write(&vol->mftbmp_lock); in ntfs_mft_record_alloc()
2787 ntfs_volume *vol = ni->vol; in ntfs_extent_mft_record_free() local
2810 ntfs_error(vol->sb, "Tried to free busy extent inode 0x%lx, " in ntfs_extent_mft_record_free()
2833 ntfs_error(vol->sb, "Extent inode 0x%lx is not attached to " in ntfs_extent_mft_record_free()
2864 ntfs_error(vol->sb, "Failed to write mft record 0x%lx, not " in ntfs_extent_mft_record_free()
2874 down_write(&vol->mftbmp_lock); in ntfs_extent_mft_record_free()
2875 err = ntfs_bitmap_clear_bit(vol->mftbmp_ino, mft_no); in ntfs_extent_mft_record_free()
2876 up_write(&vol->mftbmp_lock); in ntfs_extent_mft_record_free()
2883 ntfs_error(vol->sb, "Failed to clear bit in mft bitmap.%s", es); in ntfs_extent_mft_record_free()
2884 NVolSetErrors(vol); in ntfs_extent_mft_record_free()
2896 ntfs_error(vol->sb, "Failed to allocate internal " in ntfs_extent_mft_record_free()
2899 NVolSetErrors(vol); in ntfs_extent_mft_record_free()