5 ms·
So if you change one byte in a clone, then it will just update a single block in the changed file while leaving all the other clone's data streams unchanged. Bu
by didgetmaster 3y ago
So if you change one byte in a clone, then it will just update a single block in the changed file while leaving all the other clone's data streams unchanged. But what happens if you add (or delete) a byte near the front of a 10GB file? Does that cause the entire data stream to be written, since the rest of the data must be shifted up or down?
- jerf 3y agoYes, but precisely because of that there is a bit of resistance to people using that operation on large files, so it is not a common thing. It wasn't that long ago that rewriting a 10GB file from top to bottom could easily take over three minutes (50MB/s write speeds to a spinning rust hard drive = 200 seconds, and if we account for also reading the file it will be even slower), so people tend to learn to program without asking for that operation. While there are many people who weirdly (to me at least) grotesquely overestimate the value of deduplication, it is legitimately useful because we tend not to want to completely rewrite large files very often like that, so even modifications to that file are very likely to either be appends or modifications of something in the middle without shifting the entire file.