id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc	blockedby	blocking	branch_state	votes
2674	Reget doesn't read/write at block boundaries	egmont		"Copy a larger file onto a smaller, and when asked for overwrite confirmation, choose ""Reget"". In the mean time, watch what mc is doing using strace.

What mc does: Seeks to the end of the target file, and to the same position in the source, and starts reading/writing full blocks (8192 bytes for me, I don't know if it depends on system settings).

This means that the underlying read() and write() requests work on both files at arbitrary unaligned offsets. Depending on the underlying file system's implementation, this might be slower than reading/writing from block boundaries. (Unfortunately I have no numbers about performance.)

What mc should ideally do: Start by copying a partial block first, so that all further read/write request are aligned to offsets that are multiple of the size of the read/write requests."	enhancement	closed	minor		mc-core	4.8.0	invalid		mooffie@…			no branch	
