Lines Matching refs:base_ni

235 MFT_RECORD *map_extent_mft_record(ntfs_inode *base_ni, MFT_REF mref,  in map_extent_mft_record()  argument
247 mft_no, base_ni->mft_no); in map_extent_mft_record()
249 atomic_inc(&base_ni->count); in map_extent_mft_record()
255 mutex_lock(&base_ni->extent_lock); in map_extent_mft_record()
256 if (base_ni->nr_extents > 0) { in map_extent_mft_record()
257 extent_nis = base_ni->ext.extent_ntfs_inos; in map_extent_mft_record()
258 for (i = 0; i < base_ni->nr_extents; i++) { in map_extent_mft_record()
268 mutex_unlock(&base_ni->extent_lock); in map_extent_mft_record()
269 atomic_dec(&base_ni->count); in map_extent_mft_record()
282 ntfs_error(base_ni->vol->sb, "Found stale extent mft " in map_extent_mft_record()
288 ntfs_error(base_ni->vol->sb, "Failed to map extent " in map_extent_mft_record()
293 ni = ntfs_new_extent_inode(base_ni->vol->sb, mft_no); in map_extent_mft_record()
295 mutex_unlock(&base_ni->extent_lock); in map_extent_mft_record()
296 atomic_dec(&base_ni->count); in map_extent_mft_record()
299 ni->vol = base_ni->vol; in map_extent_mft_record()
302 ni->ext.base_ntfs_ino = base_ni; in map_extent_mft_record()
306 mutex_unlock(&base_ni->extent_lock); in map_extent_mft_record()
307 atomic_dec(&base_ni->count); in map_extent_mft_record()
313 ntfs_error(base_ni->vol->sb, "Found stale extent mft " in map_extent_mft_record()
320 if (!(base_ni->nr_extents & 3)) { in map_extent_mft_record()
322 int new_size = (base_ni->nr_extents + 4) * sizeof(ntfs_inode *); in map_extent_mft_record()
326 ntfs_error(base_ni->vol->sb, "Failed to allocate " in map_extent_mft_record()
332 if (base_ni->nr_extents) { in map_extent_mft_record()
333 BUG_ON(!base_ni->ext.extent_ntfs_inos); in map_extent_mft_record()
334 memcpy(tmp, base_ni->ext.extent_ntfs_inos, new_size - in map_extent_mft_record()
336 kfree(base_ni->ext.extent_ntfs_inos); in map_extent_mft_record()
338 base_ni->ext.extent_ntfs_inos = tmp; in map_extent_mft_record()
340 base_ni->ext.extent_ntfs_inos[base_ni->nr_extents++] = ni; in map_extent_mft_record()
341 mutex_unlock(&base_ni->extent_lock); in map_extent_mft_record()
342 atomic_dec(&base_ni->count); in map_extent_mft_record()
348 mutex_unlock(&base_ni->extent_lock); in map_extent_mft_record()
349 atomic_dec(&base_ni->count); in map_extent_mft_record()
386 ntfs_inode *base_ni; in __mark_mft_record_dirty() local
394 base_ni = ni; in __mark_mft_record_dirty()
396 base_ni = ni->ext.base_ntfs_ino; in __mark_mft_record_dirty()
398 __mark_inode_dirty(VFS_I(base_ni), I_DIRTY_DATASYNC); in __mark_mft_record_dirty()
1127 ntfs_inode *base_ni) in ntfs_mft_bitmap_find_and_alloc_free_rec_nolock() argument
1154 if (!base_ni) in ntfs_mft_bitmap_find_and_alloc_free_rec_nolock()
1157 data_pos = base_ni->mft_no + 1; in ntfs_mft_bitmap_find_and_alloc_free_rec_nolock()
2239 ntfs_inode *base_ni, MFT_RECORD **mrec) in ntfs_mft_record_alloc() argument
2255 if (base_ni) { in ntfs_mft_record_alloc()
2258 (long long)base_ni->mft_no); in ntfs_mft_record_alloc()
2265 BUG_ON(base_ni); in ntfs_mft_record_alloc()
2274 bit = ntfs_mft_bitmap_find_and_alloc_free_rec_nolock(vol, base_ni); in ntfs_mft_record_alloc()
2573 if (base_ni) { in ntfs_mft_record_alloc()
2581 m->base_mft_record = MK_LE_MREF(base_ni->mft_no, in ntfs_mft_record_alloc()
2582 base_ni->seq_no); in ntfs_mft_record_alloc()
2588 m_tmp = map_extent_mft_record(base_ni, bit, &ni); in ntfs_mft_record_alloc()
2726 base_ni ? "extent " : "", (long long)bit); in ntfs_mft_record_alloc()
2777 ntfs_inode *base_ni; in ntfs_extent_mft_record_free() local
2787 base_ni = ni->ext.base_ntfs_ino; in ntfs_extent_mft_record_free()
2790 BUG_ON(base_ni->nr_extents <= 0); in ntfs_extent_mft_record_free()
2793 mft_no, base_ni->mft_no); in ntfs_extent_mft_record_free()
2795 mutex_lock(&base_ni->extent_lock); in ntfs_extent_mft_record_free()
2800 "not freeing.", base_ni->mft_no); in ntfs_extent_mft_record_free()
2801 mutex_unlock(&base_ni->extent_lock); in ntfs_extent_mft_record_free()
2806 extent_nis = base_ni->ext.extent_ntfs_inos; in ntfs_extent_mft_record_free()
2808 for (i = 0; i < base_ni->nr_extents; i++) { in ntfs_extent_mft_record_free()
2812 base_ni->nr_extents--; in ntfs_extent_mft_record_free()
2813 memmove(extent_nis, extent_nis + 1, (base_ni->nr_extents - i) * in ntfs_extent_mft_record_free()
2819 mutex_unlock(&base_ni->extent_lock); in ntfs_extent_mft_record_free()
2824 base_ni->mft_no); in ntfs_extent_mft_record_free()
2878 mutex_lock(&base_ni->extent_lock); in ntfs_extent_mft_record_free()
2879 extent_nis = base_ni->ext.extent_ntfs_inos; in ntfs_extent_mft_record_free()
2880 if (!(base_ni->nr_extents & 3)) { in ntfs_extent_mft_record_free()
2881 int new_size = (base_ni->nr_extents + 4) * sizeof(ntfs_inode*); in ntfs_extent_mft_record_free()
2887 mutex_unlock(&base_ni->extent_lock); in ntfs_extent_mft_record_free()
2891 if (base_ni->nr_extents) { in ntfs_extent_mft_record_free()
2892 BUG_ON(!base_ni->ext.extent_ntfs_inos); in ntfs_extent_mft_record_free()
2893 memcpy(extent_nis, base_ni->ext.extent_ntfs_inos, in ntfs_extent_mft_record_free()
2895 kfree(base_ni->ext.extent_ntfs_inos); in ntfs_extent_mft_record_free()
2897 base_ni->ext.extent_ntfs_inos = extent_nis; in ntfs_extent_mft_record_free()
2901 extent_nis[base_ni->nr_extents++] = ni; in ntfs_extent_mft_record_free()
2902 mutex_unlock(&base_ni->extent_lock); in ntfs_extent_mft_record_free()