VCN
runlist_element **rl, VCN *update_from)
VCN cur_vcn, from_vcn;
VCN alloc_vcn;
s64 pos, s64 count, VCN *update_from)
s64 pos, s64 count, VCN *update_from, BOOL wasnonresident)
VCN prevblock;
VCN update_from = -1;
VCN block_begin;
VCN update_from = -1;
const VCN lowest_vcn, const u8 *val, const u32 val_len,
const VCN lowest_vcn, const u8 *val, const u32 val_len,
const ntfschar *name, u8 name_len, VCN lowest_vcn, int dataruns_size,
static int ntfs_attr_update_mapping_pairs_i(ntfs_attr *na, VCN from_vcn,
VCN stop_vcn;
int ntfs_attr_map_runlist(ntfs_attr *na, VCN vcn)
int ntfs_attr_update_mapping_pairs(ntfs_attr *na, VCN from_vcn)
VCN first_free_vcn;
VCN first_free_vcn;
static int ntfs_attr_map_partial_runlist(ntfs_attr *na, VCN vcn)
VCN last_vcn;
VCN highest_vcn;
VCN needed;
VCN next_vcn, last_vcn, highest_vcn;
LCN ntfs_attr_vcn_to_lcn(ntfs_attr *na, const VCN vcn)
runlist_element *ntfs_attr_find_vcn(ntfs_attr *na, const VCN vcn)
const VCN lowest_vcn, const u8 *val, const u32 val_len,
extern int ntfs_attr_map_runlist(ntfs_attr *na, VCN vcn);
extern LCN ntfs_attr_vcn_to_lcn(ntfs_attr *na, const VCN vcn);
extern runlist_element *ntfs_attr_find_vcn(ntfs_attr *na, const VCN vcn);
const ntfschar *name, u8 name_len, VCN lowest_vcn,
extern int ntfs_attr_update_mapping_pairs(ntfs_attr *na, VCN from_vcn);
s32 usedcnt, s32 freecnt, VCN *update_from)
VCN *update_from)
BOOL appending, VCN *update_from)
VCN *update_from)
VCN *update_from)
VCN cb_start_vcn, int cb_clusters)
VCN start_vcn, vcn, end_vcn;
VCN *update_from);
s64 offs, VCN *update_from);
VCN vcn;
static int ntfs_ibm_set(ntfs_index_context *icx, VCN vcn)
static int ntfs_ibm_clear(ntfs_index_context *icx, VCN vcn)
static VCN ntfs_ibm_get_free(ntfs_index_context *icx)
return (VCN)-1;
vcn = (VCN)-1;
static INDEX_BLOCK *ntfs_ir_to_ib(INDEX_ROOT *ir, VCN ib_vcn)
INDEX_ENTRY *median, VCN new_vcn)
VCN new_ib_vcn;
ie->length = const_cpu_to_le16(sizeof(INDEX_ENTRY_HEADER) + sizeof(VCN));
old->length = cpu_to_le16(le16_to_cpu(old->length) + sizeof(VCN));
static int ntfs_ih_insert(INDEX_HEADER *ih, INDEX_ENTRY *orig_ie, VCN new_vcn,
VCN old_vcn;
static VCN ntfs_icx_parent_vcn(ntfs_index_context *icx)
static VCN ntfs_icx_parent_pos(ntfs_index_context *icx)
VCN new_vcn)
new_size += sizeof(VCN);
static int ntfs_ib_insert(ntfs_index_context *icx, INDEX_ENTRY *ie, VCN new_vcn)
VCN old_vcn;
if (idx_size + le16_to_cpu(ie->length) + sizeof(VCN) > allocated_size) {
VCN new_vcn;
ie->length = cpu_to_le16(le16_to_cpu(ie->length) - sizeof(VCN));
ih->index_length = cpu_to_le32(le32_to_cpu(ih->index_length) - sizeof(VCN));
VCN vcn;
VCN ntfs_ie_get_vcn(INDEX_ENTRY *ie)
static void ntfs_ie_set_vcn(INDEX_ENTRY *ie, VCN vcn)
size -= sizeof(VCN);
u64 inum, VCN vcn)
VCN *vcn, INDEX_ENTRY **ie_out)
static int ntfs_ib_read(ntfs_index_context *icx, VCN vcn, INDEX_BLOCK *dst)
static s64 ntfs_ib_vcn_to_pos(ntfs_index_context *icx, VCN vcn)
VCN old_vcn, vcn;
static VCN ntfs_ib_pos_to_vcn(ntfs_index_context *icx, s64 pos)
static INDEX_BLOCK *ntfs_ib_alloc(VCN ib_vcn, u32 ib_size,
static s64 ntfs_ibm_vcn_to_pos(ntfs_index_context *icx, VCN vcn)
static int ntfs_ibm_modify(ntfs_index_context *icx, VCN vcn, int set)
VCN parent_vcn[MAX_PARENT_VCN]; /* entry's parent nodes */
u64 inum, VCN vcn);
extern VCN ntfs_ie_get_vcn(INDEX_ENTRY *ie);
#define VCN_INDEX_ROOT_PARENT ((VCN)-2)
VCN extent_vcn;
runlist *ntfs_cluster_alloc(ntfs_volume *vol, VCN start_vcn, s64 count,
int ntfs_cluster_free(ntfs_volume *vol, ntfs_attr *na, VCN start_vcn, s64 count)
extern runlist *ntfs_cluster_alloc(ntfs_volume *vol, VCN start_vcn, s64 count,
extern int ntfs_cluster_free(ntfs_volume *vol, ntfs_attr *na, VCN start_vcn,
VCN old_last_vcn;
VCN m;
VCN m;
LCN ntfs_rl_vcn_to_lcn(const runlist_element *rl, const VCN vcn)
if (vcn < (VCN)0)
const runlist_element *rl, const VCN start_vcn, int max_size)
const VCN start_vcn, runlist_element const **stop_rl)
int ntfs_rl_truncate(runlist **arl, const VCN start_vcn)
VCN marker_vcn = 0;
VCN vcn; /* Current vcn. */
sle64_to_cpu(attr->lowest_vcn) < (VCN)0) {
rl->vcn = (VCN)0;
VCN num_clusters;
VCN vcn; /* vcn = Starting virtual cluster number. */
extern LCN ntfs_rl_vcn_to_lcn(const runlist_element *rl, const VCN vcn);
const runlist_element *rl, const VCN start_vcn, int max_size);
const VCN start_vcn, runlist_element const **stop_rl);
extern int ntfs_rl_truncate(runlist **arl, const VCN start_vcn);
VCN next_vcn, last_vcn, highest_vcn;
const VCN lowest_vcn __attribute__((unused)), const u8 *val,
VCN highest_vcn;
if (le16_to_cpu(re->length) < sizeof(INDEX_ENTRY_HEADER) + sizeof(VCN))
re->length = cpu_to_le16(le16_to_cpu(re->length) + sizeof(VCN));
*(leVCN*)((char*)re + cpu_to_le16(re->length) - sizeof(VCN)) =
VCN vcn = 0LL;