Fat_updateSourcean update to a block of data (which may be in memory or on disk or somewhere else)
total_length x returns the minimum size of the block of data needed to apply this update. If the block is currently smaller then it will need to be enlarged
clip x offset length returns the fraction of the update between offset and offset+length in bytes
split x sector_size returns x as a sequence of consecutive updates, each of which corresponds to a region of length sector_size. Note empty updates are omitted.