- Add vol->mft_data_pos and initialize it at mount time.
- Rename init_runlist() to ntfs_init_runlist(), ntfs_vcn_to_lcn() to
ntfs_rl_vcn_to_lcn(), decompress_mapping_pairs() to
- ntfs_mapping_pairs_decompress() and adapt all callers.
+ ntfs_mapping_pairs_decompress(), ntfs_merge_runlists() to
+ ntfs_runlists_merge() and adapt all callers.
- Add fs/ntfs/runlist.[hc]::ntfs_get_nr_significant_bytes(),
ntfs_get_size_for_mapping_pairs(), ntfs_write_significant_bytes(),
and ntfs_mapping_pairs_build(), adapted from libntfs.
* We solve these problems by starting with the $DATA attribute before anything
* else and iterating using ntfs_attr_lookup($DATA) over all extents. As each
* extent is found, we ntfs_mapping_pairs_decompress() including the implied
- * ntfs_merge_runlists(). Each step of the iteration necessarily provides
+ * ntfs_runlists_merge(). Each step of the iteration necessarily provides
* sufficient information for the next step to complete.
*
* This should work but there are two possible pit falls (see inline comments
}
/**
- * ntfs_merge_runlists - merge two runlists into one
+ * ntfs_runlists_merge - merge two runlists into one
* @drl: original runlist to be worked on
* @srl: new runlist to be merged into @drl
*
* -EINVAL - Invalid parameters were passed in.
* -ERANGE - The runlists overlap and cannot be merged.
*/
-runlist_element *ntfs_merge_runlists(runlist_element *drl,
+runlist_element *ntfs_runlists_merge(runlist_element *drl,
runlist_element *srl)
{
int di, si; /* Current index into @[ds]rl. */
return rl;
}
/* Now combine the new and old runlists checking for overlaps. */
- old_rl = ntfs_merge_runlists(old_rl, rl);
+ old_rl = ntfs_runlists_merge(old_rl, rl);
if (likely(!IS_ERR(old_rl)))
return old_rl;
ntfs_free(rl);
LCN_ENOENT = -3,
} LCN_SPECIAL_VALUES;
+extern runlist_element *ntfs_runlists_merge(runlist_element *drl,
+ runlist_element *srl);
+
extern runlist_element *ntfs_mapping_pairs_decompress(const ntfs_volume *vol,
const ATTR_RECORD *attr, runlist_element *old_rl);