Hi,
This may not be the correct forum for this question, but I’m asking it here since there is such a wealth of knowledge here.
Lets say I have a 1 TB data file on an NTFS volume consisting of 4, 256GB blocks of data - A, B, C, and D.
I want to delete block C from the file and then move the contents of block D up to where block C is and then truncate the file to 768GB.
The traditional method of doing this would be to read the data from block D and write it to the location where block C was, then call SetEndOfFile() to truncate the file.
This creates a lot of read/write I/O and in the case where you are using SSD/NVME counts against the TBW of the SSD.
Is there a way to logically move block D up to block C without actually reading/writing a bunch of data?
Something like updating file table entries/extents?
Preferably from user mode?
Thanks,
Erik